Although not necessary in the majority of cases, it is sometimes useful to be able to modify the compiler or linker options while building a model. For instance, to turn on debug symbols, to turn off an optimisation which may be causing a problem, or to affect preprocessor conditions of hand written code included in the build.