Makefile-supplied preprocessor Define consistent sets of options per-platform in a Makefile Removes the compile-time customisation from the code to somewhere easier to maintain Good for developers: determinisim in which options are active Easy to set up for cross-compilation Again, it doesn't cope too well with... OS variants and customisation never-before-seen platforms