GNU Info

Info Node: (make.info)Quick Reference

(make.info)Quick Reference


Next: Error Messages Prev: Makefile Conventions Up: Top
Enter node , (file) or (file)node

Quick Reference
***************

   This appendix summarizes the directives, text manipulation functions,
and special variables which GNU `make' understands.  Note: Special
Targets, Note: Catalogue of Implicit Rules, and
Note: Summary of Options, for other summaries.

   Here is a summary of the directives GNU `make' recognizes:

`define VARIABLE'
`endef'
     Define a multi-line, recursively-expanded variable.
     Note: Sequences.

`ifdef VARIABLE'
`ifndef VARIABLE'
`ifeq (A,B)'
`ifeq "A" "B"'
`ifeq 'A' 'B''
`ifneq (A,B)'
`ifneq "A" "B"'
`ifneq 'A' 'B''
`else'
`endif'
     Conditionally evaluate part of the makefile.
     Note: Conditionals.

`include FILE'
`-include FILE'
`sinclude FILE'
     Include another makefile.
     Note: Including Other Makefiles.

`override VARIABLE = VALUE'
`override VARIABLE := VALUE'
`override VARIABLE += VALUE'
`override VARIABLE ?= VALUE'
`override define VARIABLE'
`endef'
     Define a variable, overriding any previous definition, even one
     from the command line.
     Note: The `override' Directive.

`export'
     Tell `make' to export all variables to child processes by default.
     Note: Communicating Variables to a Sub-`make'.

`export VARIABLE'
`export VARIABLE = VALUE'
`export VARIABLE := VALUE'
`export VARIABLE += VALUE'
`export VARIABLE ?= VALUE'
`unexport VARIABLE'
     Tell `make' whether or not to export a particular variable to child
     processes.
     Note: Communicating Variables to a Sub-`make'.

`vpath PATTERN PATH'
     Specify a search path for files matching a `%' pattern.
     Note: The `vpath' Directive.

`vpath PATTERN'
     Remove all search paths previously specified for PATTERN.

`vpath'
     Remove all search paths previously specified in any `vpath'
     directive.

   Here is a summary of the text manipulation functions (Note:
Functions):

`$(subst FROM,TO,TEXT)'
     Replace FROM with TO in TEXT.
     Note: Functions for String Substitution and Analysis.


`$(patsubst PATTERN,REPLACEMENT,TEXT)'
     Replace words matching PATTERN with REPLACEMENT in TEXT.
     Note: Functions for String Substitution and Analysis.


`$(strip STRING)'
     Remove excess whitespace characters from STRING.
     Note: Functions for String Substitution and Analysis.


`$(findstring FIND,TEXT)'
     Locate FIND in TEXT.
     Note: Functions for String Substitution and Analysis.


`$(filter PATTERN...,TEXT)'
     Select words in TEXT that match one of the PATTERN words.
     Note: Functions for String Substitution and Analysis.


`$(filter-out PATTERN...,TEXT)'
     Select words in TEXT that _do not_ match any of the PATTERN words.
     Note: Functions for String Substitution and Analysis.


`$(sort LIST)'
     Sort the words in LIST lexicographically, removing duplicates.
     Note: Functions for String Substitution and Analysis.


`$(dir NAMES...)'
     Extract the directory part of each file name.
     Note: Functions for File Names.

`$(notdir NAMES...)'
     Extract the non-directory part of each file name.
     Note: Functions for File Names.

`$(suffix NAMES...)'
     Extract the suffix (the last `.' and following characters) of each
     file name.
     Note: Functions for File Names.

`$(basename NAMES...)'
     Extract the base name (name without suffix) of each file name.
     Note: Functions for File Names.

`$(addsuffix SUFFIX,NAMES...)'
     Append SUFFIX to each word in NAMES.
     Note: Functions for File Names.

`$(addprefix PREFIX,NAMES...)'
     Prepend PREFIX to each word in NAMES.
     Note: Functions for File Names.

`$(join LIST1,LIST2)'
     Join two parallel lists of words.
     Note: Functions for File Names.

`$(word N,TEXT)'
     Extract the Nth word (one-origin) of TEXT.
     Note: Functions for File Names.

`$(words TEXT)'
     Count the number of words in TEXT.
     Note: Functions for File Names.

`$(wordlist S,E,TEXT)'
     Returns the list of words in TEXT from S to E.
     Note: Functions for File Names.

`$(firstword NAMES...)'
     Extract the first word of NAMES.
     Note: Functions for File Names.

`$(wildcard PATTERN...)'
     Find file names matching a shell file name pattern (_not_ a `%'
     pattern).
     Note: The Function `wildcard'.

`$(error TEXT...)'
     When this function is evaluated, `make' generates a fatal error
     with the message TEXT.
     Note: Functions That Control Make.

`$(warning TEXT...)'
     When this function is evaluated, `make' generates a warning with
     the message TEXT.
     Note: Functions That Control Make.

`$(shell COMMAND)'
     Execute a shell command and return its output.
     Note: The `shell' Function.

`$(origin VARIABLE)'
     Return a string describing how the `make' variable VARIABLE was
     defined.
     Note: The `origin' Function.

`$(foreach VAR,WORDS,TEXT)'
     Evaluate TEXT with VAR bound to each word in WORDS, and
     concatenate the results.
     Note: The `foreach' Function.

`$(call VAR,PARAM,...)'
     Evaluate the variable VAR replacing any references to `$(1)',
     `$(2)' with the first, second, etc. PARAM values.
     Note: The `call' Function.

   Here is a summary of the automatic variables.  Note: Automatic
Variables, for full information.

`$@'
     The file name of the target.

`$%'
     The target member name, when the target is an archive member.

`$<'
     The name of the first prerequisite.

`$?'
     The names of all the prerequisites that are newer than the target,
     with spaces between them.  For prerequisites which are archive
     members, only the member named is used (Note: Archives).

`$^'
`$+'
     The names of all the prerequisites, with spaces between them.  For
     prerequisites which are archive members, only the member named is
     used (Note: Archives).  The value of `$^' omits duplicate
     prerequisites, while `$+' retains them and preserves their order.

`$*'
     The stem with which an implicit rule matches (Note: How Patterns
     Match.).

`$(@D)'
`$(@F)'
     The directory part and the file-within-directory part of `$@'.

`$(*D)'
`$(*F)'
     The directory part and the file-within-directory part of `$*'.

`$(%D)'
`$(%F)'
     The directory part and the file-within-directory part of `$%'.

`$(<D)'
`$(<F)'
     The directory part and the file-within-directory part of `$<'.

`$(^D)'
`$(^F)'
     The directory part and the file-within-directory part of `$^'.

`$(+D)'
`$(+F)'
     The directory part and the file-within-directory part of `$+'.

`$(?D)'
`$(?F)'
     The directory part and the file-within-directory part of `$?'.

   These variables are used specially by GNU `make':

`MAKEFILES'
     Makefiles to be read on every invocation of `make'.
     Note: The Variable `MAKEFILES'.

`VPATH'
     Directory search path for files not found in the current directory.
     Note: `VPATH' Search Path for All Prerequisites.

`SHELL'
     The name of the system default command interpreter, usually
     `/bin/sh'.  You can set `SHELL' in the makefile to change the
     shell used to run commands.  Note: Command Execution.

`MAKESHELL'
     On MS-DOS only, the name of the command interpreter that is to be
     used by `make'. This value takes precedence over the value of
     `SHELL'.  Note: MAKESHELL variable.

`MAKE'
     The name with which `make' was invoked.  Using this variable in
     commands has special meaning.  Note: How the `MAKE' Variable
     Works.

`MAKELEVEL'
     The number of levels of recursion (sub-`make's).
     Note: Variables/Recursion.

`MAKEFLAGS'
     The flags given to `make'.  You can set this in the environment or
     a makefile to set flags.
     Note: Communicating Options to a Sub-`make'.

     It is _never_ appropriate to use `MAKEFLAGS' directly on a command
     line: its contents may not be quoted correctly for use in the
     shell.  Always allow recursive `make''s to obtain these values
     through the environment from its parent.

`MAKECMDGOALS'
     The targets given to `make' on the command line.  Setting this
     variable has no effect on the operation of `make'.
     Note: Arguments to Specify the Goals.

`CURDIR'
     Set to the pathname of the current working directory (after all
     `-C' options are processed, if any).  Setting this variable has no
     effect on the operation of `make'.
     Note: Recursive Use of `make'.

`SUFFIXES'
     The default list of suffixes before `make' reads any makefiles.

`.LIBPATTERNS'
     Defines the naming of the libraries `make' searches for, and their
     order.
     Note: Directory Search for Link Libraries.


automatically generated by info2www version 1.2.2.9