Conditional Compilation and Object Files

When a Byte Craft Limited compiler compiles a source module to an object file, all #included files are read in and made part of the object file. Conditionally-compiled #include files will be unconditionally read in, even if the condition would otherwise exclude them. Common files so affected include debugging header files or libraries, device header files for alternate designs, or libraries for optional features. If any affected files have been removed from the source tree, the compiler will signal an error: instead of deleting affected files, move them to an archive directory listed in the INCLUDE or LIBRARY paths. Alternatively, create empty files with the same names.

Note that this problem does not affect compiling directly to an executable using Absolute Code Mode. For more information, please see “Absolute Code Mode”.