AMake Command Line Options

The following table lists the options understood by AMake.

If you switch to a different file maker mode (i.e. --gnu) then the command line options will change too. To obtain a list of the other file maker options, use a command line such as:

There are mainly two kinds of options. The single letter options introduced with a single dash (-) sign in front of them. The string options which are introduced with two dashes (--). String options in Joerg compatible mode can also be introduced with a single dash (-). Options which are possibly followed by some additional information can also use a equal sign as in:

Option Comment
switch to ANSII mode
--assume-new <newer file>
--new-file <newer file>
--what-if <newer file>
AMake assumes that the <newer file> was modified at the time it is invoked
-b a recognized but ignored flag
-C <path>
--directory <path>
force a directory change at startup
--case-insensitive change the file search and sort algorithm to be case insensitive; this is mainly for DOS compatibility; you should probably avoid using this flag under a Unix system
--case-sensitive change the file search and sort algorithm to be case sensitive; this is the default except under DOS and the Amiga systems
turn ON (--check) or OFF (--no-check) the test of existance of the target when the corresponding set of commands have been executed; this is off by default
--concurrent-make(8) switch to concurrent make mode (i.e. force the parallel mode)
-D <variable>
-D <variable>=<value>
set a variable on the command line
turn ON the debugging mode
--debug-dependencies request AMake to display the reason why a target will be rebuilt
--debugtree turn ON the target tree debug mode
--delete-on-error force deletion of erroneous targets even when --precious is in force
--direct-output force direct instead of memorized command messages output
--dos-long-line accepts an ampersand (&) at the end of a line to continue on the next line
-E <value>
--error <value>
level at which a command returned <value> is considered as being an error
use environment variables prior those defined internally
--enable-spaces accept spaces in CPP instructions
export all variables to all shells
-f <filename>
--file <filename>
--makefile <filename>
specify one or more makefile scripts
switch to GNU make mode
prints out a quick (but long) help reference
never delete a target even if an error occurs
-I <path>
--include-dir <path>
add a directory path used to search makefile scripts
ignore all errors while rebuilding the targets
--imake(7) enter the Imake compatible mode; this is supplementary to AMake default mode and can be used to read and transform an Imakefile script like Imake would do
--imakeCfile <filename> use the specified file to generate the C like code of the input sent to the C pre-processor; the default is Iamakefile.c
--imake-only run the Imake feature of AMake and stop
--imake-output <filename> specify the name of the file used as the output of AMake when parsing the Imakefile script
--intermediate transform as many targets as possible to be defined as being intermediate files
-J <value>
-j <value>
--jobs <value>
specify the maximum number of concurent command lines run at the same time (implies the parallel mode)
--joerg(6) switch to Joerg Shilling make mode
specify the name of a state file; unused by AMake
build as many targets as possible before to stop
--keepCfile request AMake to keep the intermediate .c files generated when the Imake feature is used
when this option is used, AMake creates a lock file; whether this file existed before AMake start can be checked with different preprocessor instructions inside the makefile
-L <path>
--library-dir <path>
specify additional paths searched for libraries (see the -l as a target dependency)
-L [<load>]
--load-average [<load>]
--max-load [<load>]
maximum load average checked before to run new set of commands
-m a recognized but ignored flag
-M apply the .NULL suffix only on targets with no dependency
-N apply the .NULL suffix to any target, even when these have dependencies
check the script(s) without executing the commands but those which are recursive
--network turn ON the network feature (not fully working yet)
--noexport don't export any variable to any of the shells
--no-main prevent AMake from taking the .MAIN special attributes in account - useful to try options or sub-targets in a makefile script
--no-print-directory don't print the path specified with -C or --directory
--no-shared-library don't check for .so or .DLL libraries
-o <older file>
--assume-old <older file>
--old-file <older file>
AMake will assume that the <older file> is older than any other file specified in the makefile script
--old(2) switch to the old AMake mode; this should probably never be used and even removed from AMake since there is really no use for this mode.
--order request that all the targets be built in the order they're specified
--out-of-date makes all the terminal targets out of date by touching them (touched); nothing is rebuilt
memorize the output before to print so it's not mixed in parallele mode
prints out the internal macros and a graph of all the targets
--precious ensures no target will be deleted
--print-directory forces the path specified by -C or --directory to be printed when AMake starts and stops
question AMake to know whether a target is out of date
-R use built-in rules but keep environment variables definitions as the default
prevents any of the built-in rules from being used
--recursive-include accepts the inclusion of the same script file recursively
stops as soon as possible once an error was encountered
switches to SGI pmake mode
--sgi-smake(4) switches to SGI smake mode
makes AMake as silent as possible; errors are still reported
--secondary forces all targets as secondary targets
--show-removed-files request AMake to display the names of the intermediate and erroneous files it removes
--singleshell use a different shell for each command line
--sun(9) switches to Sun compatible mode
-T <template>
--template <template>
defines the template file to use instead of the default Imake.tmpl file. This is used when the Imake feature are invoked.
touch targets, don't rebuild them; recursive targets are still executed
redo all targets unconditionally
--unexport prevents variables from being exported
--use-time <time> use <time> instead of the current system date to check which file is out of date; files out of dates are rebuilt; this can be used with the -n option
prints out the AMake version
--verbose turns ON the verbosity (one can also set the environment variable VERBOSE to 1)
turn off warnings
--warn-undefined-variables warns whenever an undefined variable is used
--watcom(10) switch to Watcom make mode
-x <error file>
--error-output-file <error file>
prints AMake errors in <error file>

(1) When the AMake tool is called make it will automatically run in ANSII mode (except on Linux in which case it will run in GNU make mode).
(2) When the AMake tool is called oldmake it will automatically run in the old AMake mode.
(3) When the AMake tool is called pmake it will automatically run in the compatible mode of the SGI pmake (i.e. parallel make).
(4) When the AMake tool is called smake (under IRIX only) or sgimake it will automatically run in the default SGI make mode.
(5) When the AMake tool is called gnumake, gmake or simply make when used under Linux, it will automatically run in the GNU AMake mode.
(6) When the AMake tool is called joergmake, jmake or smake (when not used under IRIX,) it will automatically run in the Joerg AMake mode.
(7) When the AMake tool is called iamake or imake then the Imake features will automatically be turned on.
(8) When the AMake tool is called cmake then the concurrent make features will automatically be turned on.
(9) When the AMake tool is called sunmake then the Sun compability mode is switched on.
(10) When the AMake tool is called wmake or watcomake it will automatically run in the Watcom AMake mode.