
HOWTO USE
---------

Example:

 make OS=freebsd CUSTOM="libmysequoia gcc-release" check

x-os.mk, y-linker.mk and z-compiler.mk are loaded using OS=x, LINKER=y
and COMPILER=z variables. CUSTOM="custom1 custom2" allows loading any
number of .mk files. See main.mk code for details.


HOWTO CONTRIB
-------------

- CPPFLAGS / CXXFLAGS / LDFLAGS / LDLIBS / etc. are meant to be
overriden on the command line. Values found in .mk files are only
default suggestions and should not be needed to compile successfully.
GNU make reminder: once a variable has been defined on the command
line, it cannot be modified anymore in any way.

- never use "override". Interactions between override, "=", "+=", the
command line, and worst of all: the order of definitions, are way too
complex to be reliable.

- To force a flag whatever is on the command line use prefixed names:
MK_CXXFLAGS / MK_LDFLAGS / SHARED_LDFLAGS / etc.

- in .mk files, never use "=" but always append using "+=".  You are
not alone in this world!



References
----------

- info make > Makefile Conventions > Command Variables
            > Implicit Rules       > Catalogue of Rules 

- Transparent Make -- TrMake
  <http://www.cs.bgu.ac.il/~orlovm/code/trmake/>



