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).