Variable substitution has been greatly overhauled after RC2. There was a misnaming issue at some point in between (the names listed in the dialog did not match the actual names to use, that was the reason why $FILE was not being substituted, too), but that was fixed 3-4 weeks ago.
Regarding makefiles, the present build system does not use makefiles, instead the tools you speficy (whatever they may be) are called directly (with proper variable expansion and dependencies etc).
You can optionally specify a custom makefile if you absolutely want (obviously, most people do not want to do that). In that case, the IDE runs the makefile but does nothing apart from that.