m

make(1)

make(1)

A command line is normally printed before it is executed, but if the line has a @ at the beginning, printing is suppressed. The -soption or the presence of the special target .SILENT: in the make®le suppresses printing of all command lines. The @ can be used to selectively turn off printing. Everything printed by make (except the initial tab) is passed directly to the shell without alteration. Thus,

echo a\ b

produces

ab

just as the shell would.

The -boption allows old make®les (those written for the old version of make) to run without errors. The old version of make assumed that if a target did not have any explicit commands associated with it, the user intended the command to be null, and would not execute any .DEFAULT rule that might have been de®ned. The current version of make operates in this mode by default. However, the current version of make provides a -Boption which turns this mode off so that if a target does not have explicit commands associated with it and a .DEFAULT rule is de®ned, the .DEFAULT rule is executed. Note that the -band -Boptions have no effect on the search and possible location and execution of an appropriate inference rule for the target. The search for a built-in inference rule other than .DEFAULT is always performed.

The signals SIGINT, SIGQUIT, SIGHUP, and SIGTERM (see signal(5)) cause the target to be deleted unless the target depends on the special name .PRECIOUS.

Options

The following is a brief description of all options and some special names. Options can occur in any order. They can be speci®ed separately, or together with one -, except for the -foption.

-b

Compatibility mode for old (Version 7) make®les. This option is turned on by default.

-B

Turn off compatibility mode for old (Version 7) make®les.

-d

Debug mode. Print out detailed information on ®les and times examined. (This is very ver-

 

bose and is intended for debugging the make command itself.)

-e

Environment variables override assignments within make®les .

-fmakefile

Description ®le name, referred to as the make®le. A ®le name of - denotes the standard

 

input. The contents of the make®le override the built-in rules and macros if they are

 

present. Note that the space between -fand make®le must be present. Multiple

 

instances of this option are allowable (except for -f

-), and are processed in the order

 

speci®ed.

 

-i

Ignore error codes returned by invoked commands. This mode is also entered if the special

 

target name .IGNORE appears in the make®le.

 

-k

When a command returns nonzero status, abandon work on the current entry, but continue

 

on other branches that do not depend on that target. This is the opposite of -S. If both -k

 

and -Sare speci®ed, the last one speci®ed is used.

 

-n

No execute mode. Print commands, but do not execute them. Even lines beginning with an

 

@ are printed. However, lines that contain the string $(MAKE) or ${MAKE} or that have

 

+ as a pre®x to the command are executed.

 

-p

Write to standard output the complete set of macro de®nitions and target descriptions.

-P

Update in parallel more than one target at a time. The number of targets updated con-

 

currently is determined by the environment variable PARALLEL and the presence of

 

.MUTEX directives in make ®le.

 

-q

Question. The make command returns a zero or

non-zero status code, depending on

 

whether the target ®le is or is not up-to-date. Targets are not updated with this option.

-r

Clear suf®x list and do not use the built-in rules.

 

-s

Silent mode. Command lines are not printed to standard output before their execution.

 

This mode is also entered if the special target name .SILENT appears in the make®le.

-S

Terminate if an error occurs while executing the commands to bring a target up-to-date.

 

This is the default and the opposite of -k.If both -kand -Sare speci®ed, the last one

Section 1510

− 3 −

HP-UX Release 11i: December 2000