Here's how I did mine:
1. Add your song file to your iTunes Library (assuming it's an MP3 file)
2. Once added, select the song, Select File > Convert > Create AAC Version

3. Converted file will appear on your library with the same name as your original song file.
4. Select the AAC Version (verify through right clicking and selecting Song Info > File tab > kind AAC audio file)

5. Once you know which file is AAC, right click and select Show in Finder
6. Your finder pops up where the AAC file is located. It's a file with a .m4a extension. Copy that file and paste it anywhere you want (it can be in that same folder).
7. Select that copy you made and change the extension to ".m4r". A verification window will pop up asking you of the change. Select "Use .m4r"

8. Once you've created the .m4r file, go back to iTunes where you iPhone is connected. Make sure you have selected "Manually manage videos"
9. Once that's ticked, Go to your iPhone's "Tones" library.
10. Simply drag the .m4r file in and voila! (It should start getting copied to your phone.)
11. You may check by going to your phone's Settings > Sounds > Ringtone. It should appear above the default tones.
Hope that helped!