In SCC, you can simply /DEFINE a symbol. I use this:
SCC.EXE '.\KML_COORDINATES\kml_convert.c' /List /DEFINE CMASTER /NO_BANNER /DELETE_OBJ_ON_ERROR /ERROR_NUMBERS /UNLIMITED_ERRORS /SILENT /BINARY '$(DESTINATION)\KML_CONVERT.obj'
in my MAKEFILE. I also use a /DEFINE with a specific assignment to the DEFINE'd variable in other SCC compile steps.
I also use the following for FTN95 in the make file with this statement setting the MAKEFILE variable:
RESTRICTED_COMPILE:= /VPARAM RESTRICTED 1
and the compile step uses '/VPARAM RESTRICTED 1' as the compile options. In the code, using #ifdef or #ifndef on the symbol RESTRICTED allows conditional compilation, not assignment of a value (unfortunately).
I don't know if this helps or not. I do know that in the MAKEFILE, one can do a number of extraordinary things to allow the MAKEFILE to accommodate various compiler requirements. It is all done through run-time string manipulation.