The distribution of the Aldor libraries comes in three variants:
All these variants are not compatible with each other.
ALLPROSE provides a simple mechanism for several variants of the project and testcases library which are built on the corresponding Aldor libraries. The following variable specifies which library variants should be built.
We would rather like to suggest that all variants of libraries come with the same name but are collected in different subdirectories, i. e., all libraries related to the debug version should go into $ALDORROOT/lib/debug, all libraries related to the GMP version should go under $ALDORROOT/lib/gmp. In these directories the libraries should all have the same name. For example, instead of libalgebra.al, libalgebrad.al, and libalgebra-gmp.al in the directory lib, we would have libalgebra.al in the subdirectories lib/ordinary, lib/debug, and lib/gmp. In that way the corresponding file include/algebra.as could be made a bit simpler.
The above value of VARIANTSTOBUILD can be any value xxx as long as there are corresponding variables VARIANTPOSTFIXxxx and VARIANTFLAGSxxx etc.
For each of the variants there are four variables. They are put on the command line for the specific variant as can be seen in the targets libraryvariant.% and executablevariant.% in Makefile.inc.nw.
For example, if
VARIANTPOSTFIXdebug=d
|
is given, then the names of the debug variant would be src/libmyalpsd.al and src/libmyalpsd.a.
VARIANTASSERTIONdebug=-dDEBUG
|
for the debug variant.
Variables of the form VARIANTEXECUTABLEFLAGSxxx are put on the command line for the compilation of an executable (including the testsuite).
If there is some need to have specific flags for certain executables, it is possible to define them through a variable VARIANTSOMENAMEFLAGSxxx where SOMENAME has to be replaced by the actual name of the specific executable (without any variant postfix). For example if the name of the executable is Foo, and it needs the flags ’-Dbar -Drandom’ for the ordinary variant. Then one would have to define the following variable.
VARIANTFooFLAGSordinary=-Dbar -Drandom
|
Of course this limits the possible names of executables, since their names appear as substrings in a Makefile variable.