【正文】
instead of running their mands. This is used to pretend that the mands were done, in order to fool future invocations of `make39。. `v39。`version39。 Print the version of the `make39。 program plus a copyright, a list of authors, and a notice that there is no warranty。 then exit.`w39。`printdirectory39。 Print a message containing the working directory both before and after executing the makefile. This may be useful for tracking down errors from plicated nests of recursive `make39。 mands. `noprintdirectory39。 Disable printing of the working directory under `w39。. This option is useful when `w39。 is turned on automatically, but you do not want to see the extra messages. `W FILE39。`whatif=FILE39。`newfile=FILE39。`assumenew=FILE39。 Pretend that the target FILE has just been modified. When used with the `n39。 flag, this shows you what would happen if you were to modify that file. Without `n39。, it is almost the same as running a `touch39。 mand on the given file before running `make39。, except that the modification time is changed only in the imagination of `make39。. `warnundefinedvariables39。 Issue a warning message whenever `make39。 sees a reference to an undefined variable. This can be helpful when you are trying to debug makefiles which use variables in plex ways.參考 指令`define VARIABLE39。`endef39。 Define a multiline, recursivelyexpanded variable. *Note Sequences::.`ifdef VARIABLE39。`ifndef VARIABLE39。`ifeq (A,B)39。`ifeq A B39。`ifeq 39。A39。 39。B39。39。`ifneq (A,B)39。`ifneq A B39。`ifneq 39。A39。 39。B39。39。`else39。`endif39。 Conditionally evaluate part of the makefile.`include FILE39。 Include another makefile.`override VARIABLE = VALUE39。`override VARIABLE := VALUE39。`override VARIABLE += VALUE39。`override define VARIABLE39。`endef39。 Define a variable, overriding any previous definition, even one from the mand line.`export39。 Tell `make39。 to export all variables to child processes by default.`export VARIABLE39。`export VARIABLE = VALUE39。`export VARIABLE := VALUE39。`export VARIABLE += VALUE39。`unexport VARIABLE39。 Tell `make39。 whether or not to export a particular variable to child processes.`vpath PATTERN PATH39。 Specify a search path for files matching a `%39。 pattern. *Note The `vpath39。 Directive: Selective Search.`vpath PATTERN39。 Remove all search paths previously specified for PATTERN.`vpath39。 Remove all search paths previously specified in any `vpath39。 directive. 函數(shù)`$(subst FROM,TO,TEXT)39。 Replace FROM with TO in TEXT.`$(patsubst PATTERN,REPLACEMENT,TEXT)39。 Replace words matching PATTERN with REPLACEMENT in TEXT.`$(strip STRING)39。 Remove excess whitespace characters from STRING.`$(findstring FIND,TEXT)39。 Locate FIND in TEXT.`$(filter PATTERN...,TEXT)39。 Select words in TEXT that match one of the PATTERN words.`$(filterout PATTERN...,TEXT)39。 Select words in TEXT that *do not* match any of the PATTERN words.`$(sort LIST)39。 Sort the words in LIST lexicographically, removing duplicates.`$(dir NAMES...)39。 Extract the directory part of each file name.`$(notdir NAMES...)39。 Extract the nondirectory part of each file name.`$(suffix NAMES...)39。 Extract the suffix (the last `.39。 and following characters) of each file name.`$(basename NAMES...)39。 Extract the base name (name without suffix) of each file name.`$(addsuffix SUFFIX,NAMES...)39。 Append SUFFIX to each word in NAMES.`$(addprefix PREFIX,NAMES...)39。 Prepend PREFIX to each word in NAMES.`$(join LIST1,LIST2)39。 Join two parallel lists of words.`$(word N,TEXT)39。 Extract the Nth word (oneorigin) of TEXT.`$(words TEXT)39。 Count the number of words in TEXT.`$(firstword NAMES...)39。 Extract the first word of NAMES.`$(wildcard PATTERN...)39。 Find file names matching a shell file name pattern (*not* a `%39。 pattern).`$(shell COMMAND)39。 Execute a shell mand and return its output.`$(origin VARIABLE)39。 Return a string describing how the `make39。 variable VARIABLE was defined.`$(foreach VAR,WORDS,TEXT)39。 Evaluate TEXT with VAR bound to each word in WORDS, and concatenate the results. 自動變量`$@39。 The file name of the target.`$%39。 The target member name, when the target is an archive member.`$39。 The name of the first dependency.`$?39。 The names of all the dependencies that are newer than the target, with spaces between them. For dependencies which are archive members, only the member named is used with spaces between them. For dependencies which are archive members, only the member named is used `$^39。`$+39。 The names of all the dependencies, with spaces between them. For dependencies which are archive members, only the member named is used. The value of `$^39。 omits duplicate dependencies, while `$+39。 retains them and preserves their order.`$*39。 The stem with which an implicit rule matches `$(@D)39。`$(@F)39。 The directory part and the filewithindirectory part of `$@39。.`$(*D)39。`$(*F)39。 The directory part and the filewithindirectory part of `$*39。.`$(%D)39。`$(%F)39。 The directory part and the filewithindirectory part of `$%39。`$(D)39。`$(F)39。 The directory part and the filewithindirectory part of `$39。`$(^D)39。`$(^F)39。 The directory part and the filewithindirectory part of `$^39。`$(+D)39。`$(+F)39。 The directory part and the filewithindirectory part of `$+39。`$(?D)39。`$(?F)39。 The directory part and the filewithindirectory part of `$?39。 特殊變量