MPE/iX Shell and Utilities Reference Manual, Vol 1

make(1) MPE/iX Shell and Utilities make(1)
targets :: prereqs
is used for multiple rules applying to the same target. Each rule can specify a differ-
ent set of prerequisites with a different recipe for updating the target. If a target is
out-of-date with respect to any of its prerequisites, make remakes the target using all
the recipe lines associated with the rules that mention those prerequisites.
targets :| prereqs
is used in meta-rules. It tells make to treat each meta-dependency as an independent
meta-rule. For example:
%.o :| archive/%.c rcs/%.c /srcarc/RCS/%.c
recipe...
is equivalent to
%.o : archive/%.c
recipe...
%.o : rcs/%.c
recipe...
%.o : /srcarc/rcs/%.c
recipe...
This operator is particularly useful for searching for
RCS archives. If the
RCSPATH
variable used by RCS is defined as
archive/%f;rcs/%f;/srcarc/rcs/%f
then the meta-rule
% : $(RCSPATH:s/%f/%/:s/;/ /)
co -l $<
searches the path looking for an
RCS file and checks it out.
You can follow the first line of a rule with any number of recipe lines. Each of these must
begin with a tab character. You can follow the tab with , @, + or all three. indicates that
make is to ignore non-zero exit values when it executes this recipe line. @ indicates that
make is not to display the recipe line before executing it. + tells make to always execute this
line, even when –n, –q,or–t is specified. This is particularly useful when calling make
recursively. If the recursive make line is preceded by a +,
make -n
executes the recursive make but puts the n in the MAKEFLAGS variable. This allows you to
see what the subsidiary makes do.
You can use a target that has prerequisites but no recipes to add the given prerequisites to that
target’s list of prerequisites.
Commands and Utilities 1-341