This is a complete list of the variables that are currently used inside Aap, except the variables specifically used for porting, see Chapter 22 for that.
This list will be extended when more features are being added. To avoid the problem that your own variables interfere with the use of common Aap variables, do not use variable names with only upper case letters. Suggested scheme:
Table 34-1. Naming scheme for variables
$STANDARD_VARIABLE | global variable defined by Aap |
$YourVariable | global variable used in your recipe(s) |
$local_variable | local variable used in build commands |
The following table lists the predefined variables. These types are used:
Aap | set by Aap and mostly not changed by the user |
conf | set depending on the configuration of the system, may be modified by the user |
user | set by the user |
auto | value updated when using commands (e.g., :program), may also be appended to by the user |
Table 34-2. Standard Variables
name | type | description | |
---|---|---|---|
$# | Aap | A single #. OBSOLETE, use $(#) | |
$$ | Aap | A single $. OBSOLETE, use $($) | |
$AAP | Aap | Command that was used to start Aap, including the Python interpreter used. Example:
| |
$AAPVERSION | Aap | Version number of Aap. E.g., 31 (version 0.031) or 1003 (version 1.003). Also see $VERSIONSTR. | |
$AR | conf | Name of archiver program: combines object files into a static libray. | |
$ARFLAGS | user | Arguments for $AR (default: "r" or "/nologo"). | |
$BDIR | conf | Directory to write build files in. Modified by the :variant command. | |
$BR | Aap | A line break. | |
$BROWSER | conf | HTML browser to be used for the "view" action for HTML, XML and PHP files. The default value comes from the "BROWSER" environment variable or a list of known browser commands (netscape mozilla konquerer grail iexplore mosaic lynx w3m). | |
$BUILD_ACTION | conf | When not empty, specifies the action name to be executed for building. Usually for building a program from object files with a specific tool. See Chapter 30. | |
$CACHEPATH | conf | List of directories to search for cached downloaded files. Default for Unix: /var/aap/cache ~/.aap/cache aap/cache For MS-Windows, OS/2:$HOME/aap/cache aap/cache Directories that don't exist are skipped. When using a relative name, it is relative to the current recipe. Thus the recipe specified with :child dir/main.aap uses a different cache directory. When this variable is set, currently cached files are flushed. Otherwise this only happens when exiting. Thus this command can be used to flush the cache:
| |
$CACHEUPDATE | user | Timeout after which cached files may be downloaded again. For the possible values see the explanation in the user manual. | |
$CC | conf | Command to execute the C compiler (default: "cc"). | |
$CFLAGS | user | Arguments always used for $CC. NOTE: it's not $CCFLAGS! This is inconsistent, used for historic reasons. | |
$CHILDDIR | Aap | In a child recipe: The directory of the child recipe relative to the parent recipe. When using: :child subdir/main.aap $CHILDDIR will be "subdir" in the child recipe. | |
$CLEANDIRS | auto | Names of directories that the "clean" target should remove. | |
$CLEANFILES | auto | Names of files that the "clean" target should remove. The :program command adds files to this. | |
$CLEANMOREDIRS | user | Names of directories that the "cleanmore" target should remove. | |
$CLEANMOREFILES | user | Names of files that the "cleanmore" target should remove. | |
$COMPILE_ACTION | conf | When not empty, specifies the action name to be executed for compiling a C or C++ file into an object, dllobject, libobject or ltobject file. See Chapter 30. | |
$CONFDIR | Aap | Sub-directory to install configuration files into. Default value: "etc/". | |
$CONFMODE | Aap | Mode to use for installed configuration files. Default value: "0644" (read/write for the user, readable for the group and others). | |
$CPPFLAGS | user | Arguments for $CC when compiling sources (not when linking objects). These are raw arguments, not always portable. Use $INCLUDE and $DEFINE when possible. | |
$CVS | conf | Cvs program to use. When not set "cvs" is used. | |
$CXX | conf | Command for compiling C++ files | |
$CXXFLAGS | user | Arguments always used for $CXX. | |
$DATADIR | Aap | Sub-directory to install data files into. Default value: "share/". | |
$DATAMODE | Aap | Mode to use for installed data files. Default value: "0644" (read/write for the user, readable for the group and others). | |
$DATESTR | Aap | Date as a string in the form "2002 Month 11". This does not change while Aap is running. Also see $TIMESTR and $GMTIME. | |
$DEBUG | user | The kind of debugging to be done. "yes" means debugging is enabled. The variable is not set by default. For an example see the tutorial. | |
$DEFAULTCHECK | Aap | Check to use when none is speficied. Defaults to "md5", can be set to "time" or "newer". "time" means that a file is outdated when its timestamp is different from when it was last used. "newer" means a target is outdated when one of the source files has a more recent timestamp. Also see the check attribute. | |
$DEFINE | user | Preprocessor symbols. Used in the same place as $CPPFLAGS. Form: "-DNAME" or "-DNAME=value". The tools will convert this to the argument the compiler actually uses. | |
$DISTDIRS | Aap | Names of directories that should be distributed as a whole. If there is one file in this directory that should not be distributed use $DISTFILES. | |
$DISTFILES | auto | Names of files that are used as a source in the recipe and should be distributed. The :program command adds files to this. | |
$DLLCFLAGS | user | Extra arguments to compile a C program into a dynamic (shared) object file. The default is currently "-fPIC", but since that only works with gcc it will soon be changed. | |
$DLLCXXFLAGS | user | Extra arguments to compile a C++ program into a dynamic (shared) object file. The default is currently "-fPIC", but since that only works with gcc it will soon be changed. | |
$DLLDIR | Aap | Sub-directory to install shared (dynamic) library files into. Default value: "lib/". | |
$DLLMODE | Aap | Mode to use for installed shared (dynamic) library files. Default value: "0755" (readable and executable for everybody, writable for the user). | |
$DLLOBJSUF | Aap | Suffix for an object file to be included in a dynamic (shared) library. Default: ".o" for Unix, ".obj" for MS-Windows. | |
$DLLPRE | conf | Prefix for a dynamic (shared) library. Default: "lib" for Unix, empty for others. | |
$DLLSUF | conf | Suffix for a dynamic (shared) library. Default: ".dll" for MS-Windows, ".so" for Unix. | |
$EDITOR | conf | Editor to be used for the "edit" action. The default value comes from the "VISUAL" or "EDITOR" environment variable. When these are not defined it falls back to "vi" On Unix and "notepad" otherwise. | |
$EXECDIR | Aap | Sub-directory to install programs files into. Default value is "bin/". | |
$EXECMODE | Aap | Mode to use for installed programs. Default value: "0755" (readable and executable for everybody, writable for the user). | |
$EXESUF | conf | Suffix for an executable file. Default value: ".exe" for MS-Windows, empty for others. | |
$GMTIME | Aap | Time in seconds since 1970 Jan 1. This always uses GMT, it ignores time zones and daylight saving. But it depends on the system time to be set correctly! The value does not change while Aap is running, it is the time when Aap was started. Also see $TIMESTR and $DATESTR. | |
$INCLUDE | user | Directories to find include files. Used in the same place as $CPPFLAGS. Form: "-Ipath". The tools will convert this to the argument the compiler actually uses. | |
$INCLUDEDIR | Aap | Sub-directory to install include files into. Default value: "include/". | |
$INCLUDEMODE | Aap | Mode to use for installed include files. Default value: "0644" (read/write for the user, readable for the group and others). | |
$INFODIR | Aap | Sub-directory to install info files into. Default value: "info/". | |
$INFOMODE | Aap | Mode to use for installed info files. Default value: "0644" (read/write for the user, readable for the group and others). | |
$LD | conf | Command to execute the linker. The default is empty, in which case $CC is used. But when $USECXXLD is set (happens when a C++ file was compiled) the default becomes $CXX. | |
$LDFLAGS | user | Arguments for linking, before the object files. The default is empty. | |
$LEX | Aap | Program to turn a lex file into C. The default is empty. When the "lex" action is invoked Aap will search for "flex" and "lex" and set $LEX to the found program. | |
$LEXFLAGS | user | Flags for $LEX. There is no default value. | |
$LEXPP | Aap | Program to turn a lex++ file into C++. The default is empty. When the "lexpp" action is invoked Aap will search for "flex++", "lex++", "flex" and "lex" and set $LEX to the found program. | |
$LEXPPFLAGS | user | Flags for $LEXPP. There is no default value. | |
$LIBDIR | Aap | Sub-directory to install static library files into. Default value: "lib/". | |
$LIBMODE | Aap | Mode to use for installed static library files. Default value: "0644" (read/write for the user, readable for the group and others). | |
$LIBOBJSUF | conf | Suffix for an object file to be included in a static library. Default value: ".o" for Unix, ".obj" for MS-Windows. | |
$LIBPRE | conf | Prefix for static library. The default is empty on MS-Windows, "lib" on Unix. | |
$LIBS | user | Arguments for linking, after the object files. Convention: Always use "-lname", the tools will translate it into the flags that the linker actually uses. Also see $LTLIBS | |
$LIBSUF | conf | Suffix for a static library. Default value: ".lib" for MS-Windows, ".a" for Unix. | |
$LIBTOOL | conf | Actual name of the "libtool" program, used to build libtool libraries and for building programs that use libtool libraries. Default value: "libtool --silent". | |
$LNKSUF | conf | Suffix for a (symbolic) link. Default is empty. | |
$LOGENTRY | user | Default message for the version control change log. Used when a file is committed (also when it was deleted and the delete is committed). | |
$LTOBJSUF | conf | Suffix for an object file to be included in a libtool library. Default value: ".lo". | |
$LTLIBPRE | conf | Prefix for libtool library. The default is "lib". | |
$LTLIBS | user | Arguments for linking, after the object files but before $LIBS. When $LTLIBS is set "libtool" will be used for building, see $LIBTOOL (when the platform supports it). Convention: Always use "-lname", the tools will translate it into the flags that the linker actually uses. | |
$LTLIBSUF | conf | Suffix for a libtool library. Default value: ".la". | |
$MANDIR | Aap | Sub-directory to install man pages into. Default value: "man/". Note that Aap will append "man1", "man2", etc. when installing manual pages. | |
$MANMODE | Aap | Mode to use for installed man pages. Default value: "0644" (read/write for the user, readable for the group and others). | |
$MESSAGE | user | Comma separated list of message types which are printed. Possible values: note note message | |
$OBJSUF | Aap | Suffix for an object file. Default value: ".o" for Unix, ".obj" for MS-Windows. | |
$OPTIMIZE | user | A number from zero to nine. Zero means no optimization, nine means maximum optimization. The default is two. For an example see the tutorial. | |
$OSTYPE | Aap | Type of operating system used: posix Unix-like (Linux, BSD) | |
$PAINTER | conf | Graphical editor to be used for the "edit" action. The default value comes from the "PAINTER" environment variable. | |
$RANLIB | conf | Program to run on created static library. Default is not set. When the "ranlib" action is invoked it will search for the "ranlib" program and set the $RANLIB variable. | |
$RANLIBFLAGS | user | Arguments for $RANLIB. The default is not set. | |
$RCP | conf | Remote copy program to use for rcp://. The default is not set, which means "rcp -p" is used. May also include arguments. | |
$RECIPEVERSION | user | Version of A-A-P the recipe was written for, set by the user. Uses the format "1.0", "1.3". Currently not used, but in a later version of Aap it can be use for backward compatible behavior. | |
$RSYNC | user | Remote sync program to use for rsync://. The default is not set, which means "rsync -p --rsh=ssh --copy-links" is used (preserve file attributes, use secure shell connection, copy what symbolic link points to). | |
$SBINDIR | Aap | Sub-directory to install "sbin" files into. Default value: "sbin/". | |
$SCP | user | Secure copy program to use for scp://. The default is not set, which means "scp -C -p" is used. May also include arguments, e.g.: "scp -i c:/private/keyfile". | |
$SHLINK | conf | Name of linker used to combine object files into a shared (dynamic) library. Default value: "ld" for Unix, "link" for MS-Windows. | |
$SHLINKFLAGS | user | Arguments for $SHLINK. Default value: "-shared" for Unix, "/nologo /dll" for MS-Windows. | |
$SOURCE | user | List of source files. OBSOLETE | |
$STRIP | conf | Program to run on installed program. Default is empty. When the "strip" action is involved Aap will search for the "strip" command and set $STRIP to the found program. | |
$STRIPFLAGS | user | Arguments for $STRIP. The default is not set. | |
$TARGET | user | List of target files, usually the name of the resulting program. OBSOLETE | |
$TARGETARG | Aap | Target(s) specified on the command line. | |
$TIMESTR | Aap | Time as a string in the form "23:11:09". This always uses GMT, it ignores time zones and daylight saving. But it depends on the system time to be set correctly! The value does not change while Aap is running, it is the time when Aap was started. Also see $GMTIME and $DATESTR. | |
$TOPDIR | Aap | In a child recipe: The directory of the child recipe relative to the toplevel recipe. When using: ":child subdir/main.aap" in the toplevel recipe, $TOPDIR will be "subdir" in the child recipe. In the toplevel recipe $TOPDIR is empty. | |
$USECXXLD | Aap | When set to "yes" the default for the build program becomes $CXX instead of $CC. Only used when $LD is not set. The compile action for C++ files sets this variable to "yes". The default value is "no". | |
$VERSIONSTR | Aap | Version of A-A-P being used as a string, e.g., "0.100". Also see $AAPVERSION. | |
$YACC | conf | Program to turn a yacc file into C. The default value is empty. When the "yacc" action is invoked Aap will search for "yacc" and "bison" and set $YACC to the found program. | |
$YACCFLAGS | user | Flags for $YACC. The default value is not set. | |
$YACCPP | Aap | Program to turn a yacc++ file into C++. The default value is empty. When the "yaccpp" action is invoked Aap will search for "bison" and "yacc" and set $YACC to the found program. | |
$YACCPPFLAGS | user | Flags for $YACCPP. The default value is not set. | |
$bar | Aap | A single |. OBSOLETE, use $(|). | |
$br | Aap | A line break. OBSOLETE, use $BR | |
$empty | Aap | Empty. Can be used to get leading white space with :print. OBSOLETE, use $( ) | |
$gt | Aap | A single >. OBSOLETE, use $(>). | |
$lt | Aap | A single <. OBSOLETE, use $(<). | |
$pipe | Aap | A single |. OBSOLETE, use $(|). |