if (list) {
                print bakenum": "$0
        } else if (select == bakenum) {
-               gsub(/\$@|@(FILE|FILENAME|NAME)/, filename)
+               gsub(/\$@|@(FILE_NAME|FILENAME|FILE|NAME)/, filename)
                gsub(/\$\*|@SHORT/, shortname)
                gsub(/\$\+|@ARGS/, extraargs)
                gsub(/@RECURS/, ARGV[0])
 
 
 SPACE [ \t\r\v\f]
                         /* Everything that can be backslashed */
-FILENAME (@FILENAME|@FILE|@NAME)
+FILENAME (@FILE_NAME|@FILENAME|@FILE|@NAME)
 CMD       @BAKE[[:space:]]
 MACROS   ({CMD}|@STOP|{FILENAME}|@SHORT|@ARGS|@LINE|@RECURS|$@|$*|$+|@\{)
 
 
     line=${line//\$@/$input_file}
     line=${line//\$\*/${input_file%.*}}
     line=${line//\$+/$@}
+    line=${line//@FILE_NAME/$input_file}
     line=${line//@FILENAME/$input_file}
     line=${line//@SHORT/${input_file%.*}}
     line=${line//@ARGS/$@}