常规宏
有各种默认宏。您可以通过键入“make -p”来查看它们以打印出默认值。从使用它们的规则来看,大多数都是非常明显的。
这些预定义的变量,即隐式规则中使用的宏,分为两类。它们如下 -
-
作为程序名称的宏(例如 CC)
-
包含程序参数的宏(例如 CFLAGS)。
下面是在 makefile 的内置规则中用作程序名称的一些常用变量的表格 -
序号 |
变量和描述 |
1 |
AR
档案维护计划;默认为“ar”。
|
2 |
AS
编译汇编文件的程序;默认为“as”。
|
3 |
CC
编译C程序的程序;默认为“cc”。
|
4 |
CO
从 RCS 签出文件的程序;默认为“co”。
|
5 |
CXX
编译 C++ 程序的程序;默认为“g++”。
|
6 |
CPP
运行 C 预处理器的程序,并将结果输出到标准输出;默认是`$(CC) -E'。
|
7 |
FC
编译或预处理 Fortran 和 Ratfor 程序的程序;默认为“f77”。
|
8 |
GET
从 SCCS 中提取文件的程序;默认为“获取”。
|
9 |
LEX
用于将 Lex 语法转换为源代码的程序;默认为“lex”。
|
10 |
YACC
用于将 Yacc 语法转换为源代码的程序;默认为“yacc”。
|
11 |
LINT
用于在源代码上运行 lint 的程序;默认为“lint”。
|
12 |
M2C
用于编译 Modula-2 源代码的程序;默认为“m2c”。
|
13 |
PC
用于编译 Pascal 程序的程序;默认为“电脑”。
|
14 |
MAKEINFO
将 Texinfo 源文件转换为 Info 文件的程序;默认为“makeinfo”。
|
15 |
TEX
从 TeX 源代码制作 TeX dvi 文件的程序;默认为“tex”。
|
16 |
TEXI2DVI
从 Texinfo 源制作 TeX dvi 文件的程序;默认为“texi2dvi”。
|
17 |
WEAVE
将 Web 翻译成 TeX 的程序;默认为“编织”。
|
18 |
CWEAVE
将 C Web 翻译成 TeX 的程序;默认为“cweave”。
|
19 |
TANGLE
将 Web 翻译成 Pascal 的程序;默认为“缠结”。
|
20 |
CTANGLE
将 C Web 翻译成 C 的程序;默认为“矩形”。
|
21 |
RM
删除文件的命令;默认为“rm -f”。
|
这是一个变量表,其值是上述程序的附加参数。除非另有说明,否则所有这些的默认值都是空字符串。
序号 |
变量和描述 |
1 |
ARFLAGS
提供存档维护程序的标志;默认为“rv”。
|
2 |
ASFLAGS
在 `.s' 或 `.S' 文件上显式调用时提供给汇编器的额外标志。
|
3 |
CFLAGS
提供给 C 编译器的额外标志。
|
4 |
CXXFLAGS
提供给 C 编译器的额外标志。
|
5 |
COFLAGS
提供给 RCS co 程序的额外标志。
|
6 |
CPPFLAGS
提供给 C 预处理器和使用它的程序(例如 C 和 Fortran 编译器)的额外标志。
|
7 |
FFLAGS
提供给 Fortran 编译器的额外标志。
|
8 |
GFLAGS
提供给 SCCS 获取程序的额外标志。
|
9 |
LDFLAGS
当编译器应该调用链接器时提供额外的标志,'ld'。
|
10 |
LFLAGS
给 Lex 的额外标志。
|
11 |
YFLAGS
给 Yacc 的额外标志。
|
12 |
PFLAGS
提供给 Pascal 编译器的额外标志。
|
13 |
RFLAGS
为 Ratfor 程序提供给 Fortran 编译器的额外标志。
|
14 |
LINTFLAGS
给予 lint 的额外标志。
|
NOTE- 您可以使用“-R”或“--no-builtin-variables”选项取消隐式规则使用的所有变量。
您还可以在命令行定义宏,如下所示 -
make CPP = /home/courses/cop4530/spring02