
Makefile variable naming style.

* Each target is usually invoking one or more commands of the following type:

  (1) translator which translates target's prerequsites to target(s)

  (2) arbitrary command which doesn't create target (aka PHONY targets)

Examples of type (1) are:

  - translation of c++ source to object code

  - translation of object code to executable/shared

Examples of type (2) are:

  - test: terget

  - clean: target


Some properties of these types of targets:

  (1)   - usually implemented as an implicit rule

        - sometimes the same program is used as two separate translators
          (e.g. CXX is used as a compiler and as a linker)



  (2)   - seldom (never?) implemented as an implicit rule



Approach #1

For type (1) name is derived from the translator's name e.g.

CXX_COMPILE_FLAGS
CXX_PREPROCESS_FLAGS
CXX_LINK_FLAGS
CXX_LINK_LIBS

CC_
LD_


For type (2) name is derived from the target's name e.g.

TEST_FLAGS
CLEAN_FLAGS
INSTALL_FLAGS

$Id: Thoughts 66067 2005-05-24 04:33:13Z turkaye $
