Could you be a bit more explicit about how the symbol you want to test has been defined? What do you mean by “defined in the make settings”?
Note that a referenced symbol is not a defined symbol: it may assemble correctly, as an undefined symbol that will be resolved by the linker, but is not a defined symbol, as checked by .ifdef
Also the symbol must be defined in the same file, before being tested by .ifdef
Last option, sometimes more natural to C programmers, name your assembler source file with an uppercase S as extension and it will be preprocessed by the C preprocessor, so you could use all the C pre-processor directives (include, ifdef, etc...)
Hope this helps,