NAME
antelopemake - rules for making antelope programs
DESCRIPTION
The file
$ANTELOPE/include/antelopemake contains make rules and
parameters which are used to compile and install Antelope
programs, and potentially your programs as well.
is included in every
Makefile in the Antelope source hierarchy. It is also
used by compliant programs written by the Antelope User Community, as
described further in the man-page
contrib(5).
This file differs from one architecture to another. The rules
for compiling and linking a c program are different on a Mac
than on a Linux machine. BRTT tries to hide all this
system variability in antelopemake, so that you don't have to
worry about it, and it's not spread across hundreds of Makefiles.
Some of this file is standard across architectures; this is primarily
rules for installing various Antelope components: programs, libraries,
manpages, data files, examples, and so on. There are also macros
which define specific sets of interdependent libraries.
You can read more about how to use these default rules and macros
in your own Makefiles in antelopemakefile(5).
SEE ALSO
antelopemakefile(5)
getid(1)
produce(1)
deposit(1)
subdirs(1)
BUGS AND CAVEATS
It proved very difficult to keep all the variability in the
Makefile,
resulting in several scripts to handle problems:
-
compile
The compile script decides whether (and how) to optimize compilation by looking
at the OPTIMIZE macro inside Makefile. At the moment, this script
has been decommissioned.
-
getid
getid(1) knows details about the release and versions and is used to bootstrap
compilation, and to fill in certain variables, generally in files
with a .id suffix.
-
produce
produce(1) creates executable files by prepending a fixed header
(like $ANTELOPE/data/templates/xpl); it may also run getid(1) first to
fill in certain variables.
-
deposit
deposit(1) is an install script. It may create directories, change
permissions, or even run ranlib(1), depending on the destination and
machine.
-
subdirs
subdirs(1) returns a list of immediate subdirectories from the current
directory, eliminating directories like certify, .git, and a variety
of system generated directories which are unlikely to contain Makefiles.
antelopemake uses subdirs(1) to get the list of directories where it
attempts to run make(1).
AUTHOR
Daniel Quinlan