> There are 3 "normal" ways a make variable can be set (this is not the > complete picture but it will do): > > (1) In the environment (FOO=bar make) > (2) In the Makefile (FOO=bar in the Makefile) > (3) on the make command line (make FOO=bar) >
Before I go out on a limb and say something I'll regret, if I understand this correctly any user variable (not developer variable) can always be defined via (1) and (3). Is this correct? Can I do this with lists, e.g.: make TEST="test1 test2..." And for variables which have script commands associated with them? For example: make AM_TESTS_ENVIRONMENT=". $(srcdir)/tests-env.sh; \ if test -d /usr/xpg4/bin; then \ PATH=/usr/xpg4/bin:$$PATH; export PATH; \ fi;" If I have several variables do I write: make FOO=bar BAZ=snafu ...? Suppose the variable has a generated Makefile component (TEST_LOGS) and a user can change it. What changes, if anything? In order to modify such a variable is the user required to use form (3)? Does anything change if the user variable name is different from the Makefile.am variable name, e.g. ext_LOG_FLAGS and AM_ext_LOG_FLAGS? Does anything change if the user variable name is the same as the Makefile.am variable name, e.g. TESTS? Since I am trying to rewrite Section 15 on Support for Test Suites, and variables are involved, should I pursue all options which are available for setting variables or is the Automake Manual sufficient. thanks