Macros (UNIX in a Nutshell: System V Edition)
20.4. Macros
This section summarizes internal macros, modifiers,
string substitution, and special macros.
20.4.1. Internal Macros
$?The list of prerequisites that have been changed more recently than the
current target. Can be used only in normal description file
entries--not suffix rules.
$@The name of the current target, except in description file entries
for making libraries, where it becomes the library name. Can be used
both in normal description file entries and in suffix rules.
$$@The name of the current target. Can be used only to the right of the
colon in dependency lines.
(May not work on all versions of make.)
$<The name of the current prerequisite that has been modified more recently
than the current target.
Can be used only in suffix rules and in the .DEFAULT: entry.
$*The name--without the suffix--of the current prerequisite that has
been modified more recently than the current target. Can be used only in
suffix rules.
$%The name of the corresponding .o file when the current target is a
library module. Can be used both in normal description file entries
and in suffix rules.
20.4.2. Macro ModifiersMacro modifiers are not available in all variants of make.
DThe directory portion of any internal macro name except $?.
Valid uses are:
$(*D) $$(@D)
$(<D) $(%D)
$(@D)
FThe file portion of any internal macro name except $?.
Valid uses are:
$(*F) $$(@F)
$(<F) $(%F)
$(@F)
20.4.3. Macro String SubstitutionString substitution is not available in all variants of make.
$(macro:s1=s2)Evaluates to the current definition
of $(macro),
after substituting the string s2 for every occurrence
of s1
that occurs either immediately before a blank or tab, or at the end of
the macro definition.
20.4.4. Macros with Special Handling
MAKEFLAGSContains the flags inherited in the environment variable
MAKEFLAGS, plus any command-line options.
Used to pass the flags to subsequent invocations of make,
usually via command lines in a makefile that
contain $(MAKE).
SHELLSets the shell that interprets commands.
If this macro isn't defined in the
description file, the value depends on your system.
Some Unix implementations use the shell from the user's environment (as with
other macros). Other implementations (including SVR4) set the default
SHELL to /bin/sh.
VPATH(Not available in all variants of make.)
Specifies a list of directories to search for prerequisites
when not found in the current directory.
20.3. Description File Lines20.5. Special Target Names
Copyright © 2003 O'Reilly & Associates. All rights reserved.
Wyszukiwarka
Podobne podstrony:
ch20ch20ch20 (8)ch20ch20ch20 (2)ch20 (3)ch20 (17)ch20 (16)CH20ch20ch20Ch20 pg645 654ch20ch20więcej podobnych podstron