acgmake tools has rather mild system requirements. All you need is:
make, bash shell.make since by default another make is installed.
./acgmake/bin to your PATH variable, or place a link to ./acgmake/bin/acgmake in a directory listed in the PATH variable. acgmake sets it's necessary parameters (it's location, location of configuration files) on it's own. It will set the variable ACGMAKE, which points to the directory where acgmake has been installed, e.g. $ACGMAKE/bin/ holds the script acgmake.
acgmake will look for configuration files in the default configuration directory /ACG/acgdev/acgmake/configs, and for user defined configurations in ~/.acgmake/.
acgmake it determines operating system (OS), host name (HOST), domain name (DOMAIN), and compiler (COMP) and reads the following configuration files (in this order):
/ACG/acgdev/acgmake/configs/config.Linux /ACG/acgdev/acgmake/configs/config.informatik.rwth-aachen.de /ACG/acgdev/acgmake/configs/config.gasperi ~/.acgmake/config.Linux ~/.acgmake/config.informatik.rwth-aachen.de ~/.acgmake/config.gasperi /ACG/acgdev/acgmake/configs/config. ~/.acgmake//config. /ACG/acgdev/acgmake/configs/config.packages ~/.acgmake//config.packages
Here only the files config.Linux and config. must exists, the other files are optional. If they are provided the domain configuration overrides the OS settings, the HOST settings in turn override the DOMAIN settings and so on. In which of these files you provide what kind of settings is up to you, but there are useful default settings that you can base your configuration files on.
You can see a list of configuration files that acgmake tries to read by typing acgmake sysinfo . The + and - signs indicate whether a configuration file has been found or not.
There are two prinicipal components of configuration: module and package configuration. The configuration of the different modules will be described in the section on modules (see section List of Modules). The package configuration will be explained in the rest of this section.
Packages are nothing more than 3rd party libraries that are to be used for your compilation. When using such a lib you have to
acgmake to automatically add these options to the compiler and linker calls, you have to specify these three options for each package you want to use. The syntax is quite simple: to configure a package that the users will refer to by the name MyPckg you have to specify the following variables (note the "uppercasified" package name).
# config for package MyPckg
MYPCKG_CFLAGS := -Dsomething
MYPCKG_INCDIR := /opt/my_pckg/include
MYPCKG_LIBDIR := /opt/my_pckg/lib
MYPCKG_LIBS := mypckg mypckg_util
When using MyPckg for compilation acgmake will add
-Dsomething -I/opt/my_pckg/include -L/opt/my_pckg/lib -lmypckg -lmypckg_util