Working Dir Variables and Convenience Macros
Most of these are read-only variables that can be used in package Makefiles.
GARDIR
This is the path to the directory where the gar library makefiles can be found. It's currently not very robust, and is relative to the package dir.
FILEDIR
This is the name of a directory where one may permanently store files that will outlive a "make clean". It is especially useful when one adds file://$(FILEDIR)/ to FILE_SITES.
Defaults to files
DOWNLOADDIR
This is where files downloaded in the "make fetch" phase will be stored.
Defaults to download
COOKIEDIR
This is where cookie files indicating progress are stored.
Defaults to cookies
WORKDIR
This is where working files are put and archives extracted.
Defaults to work
WORKSRC
This is the directory where the actual source code and build scripts for a package will be extracted.
Defaults to $(WORKDIR)/$(DISTNAME)
EXTRACTDIR
This is the directory that the system will temporarily cd into before running an extract.
Defaults to $(WORKDIR)
SCRATCHDIR
This is a temporary directory currently unused by anything, but may be useful in future.
Defaults to tmp
CHECKSUM_FILE
This is the name of the checksums file used to store the md5 checksums that are consulted in the "make checksum" stage.
Defaults to checksums
MANIFEST_FILE
This is the name of the manifest file used in manifest-based installs.
Defaults to manifest
DISTNAME
This is a convenience variable that expands out to $(GARNAME)-$(GARVERSION)
ALLFILES
This is a convenience variable that expands out to $(DISTFILES) $(PATCHFILES)
INSTALL_DIRS
This variable lists all of the directories that will be used for installation, notably those listed in gar.conf.mk. All are listed beginning with the $(DESTDIR)
MAKECOOKIE
This macro is used at the end of each rule that is only to be run once. It touches a cookie for the rule that used it. All rules that appear in a package makefile must use this at the end to avoid repetition!
DIRPATHS
This contains all of the path vars set in gar.conf.mk formatted as command-line switches to a configure script (as in --prefix=$(prefix) --includedir=$(includedir)). It is most often used as the value of CONFIGURE_ARGS
NODIRPATHS
This contains the switches not to be included in DIRPATHS.
Defaults to --lispdir (note the format).