Chapter 13: Features of GNU make 145
• Declare phony targets with the special target .PHONY.
Andrew Hume of AT&T Bell Labs implemented a similar feature with a different syntax
in his mk program. This seems to be a case of parallel discovery. See Section 4.5 [Phony
Targets], page 29.
• Manipulate text by calling functions. See Chapter 8 [Functions for Transforming Text],
page 83.
• Use the ‘-o’ or ‘--old-file’ option to pretend a file’s modification-time is old. See
Section 9.4 [Avoiding Recompilation of Some Files], page 102.
• Conditional execution.
This feature has been implemented numerous times in various versions of make; it seems
a natural extension derived from the features of the C preprocessor and similar macro
languages and is not a revolutionary concept. See Chapter 7 [Conditional Parts of
Makefiles], page 77.
• Specify a search path for included makefiles. See Section 3.3 [Including Other Make-
files], page 13.
• Specify extra makefiles to read with an environment variable. See Section 3.4 [The
Variable MAKEFILES], page 14.
• Strip leading sequences of ‘./’ from file names, so that ./file and file are considered
to be the same file.
• Use a special search method for library prerequisites written in the form ‘-lname’. See
Section 4.4.6 [Directory Search for Link Libraries], page 28.
• Allow suffixes for suffix rules (see Section 10.7 [Old-Fashioned Suffix Rules], page 125)
to contain any characters. In other versions of make, they must begin with ‘.’ and not
contain any ‘/’ characters.
• Keep track of the current level of make recursion using the variable MAKELEVEL. See
Section 5.7 [Recursive Use of make], page 50.
• Provide any goals given on the command line in the variable MAKECMDGOALS. See
Section 9.2 [Arguments to Specify the Goals], page 99.
• Specify static pattern rules. See Section 4.11 [Static Pattern Rules], page 36.
• Provide selective vpath search. See Section 4.4 [Searching Directories for Prerequisites],
page 25.
• Provide computed variable references. See Section 6.1 [Basics of Variable References],
page 59.
• Update makefiles. See Section 3.5 [How Makefiles Are Remade], page 14. System V
make has a very, very limited form of this functionality in that it will check out SCCS
files for makefiles.
• Various new built-in implicit rules. See Section 10.2 [Catalogue of Built-In Rules],
page 112.
• Load dynamic objects which can modify the behavior of make. See Section 12.2 [Loading
Dynamic Objects], page 135.
Comentários a estes Manuais