GNU make是广泛使用的,以下是一些GNU make中常见的预定义变量:
-
AR
:归档维护程序的名称,默认是ar
。 -
ARFLAGS
:向ar
程序传递的标志,默认是rv
。 -
AS
:汇编程序的名称,默认是as
。 -
ASFLAGS
:汇编标志(用于GNU汇编器),默认为空。 -
CC
:C编译器的名称,默认是cc
。 -
CFLAGS
:C编译器的标志,用于C源文件的编译。 -
CPP
:C预处理器的名称,通常$(CC) -E
。 -
CPPFLAGS
:C预处理器标志(如-I
),默认为空。 -
CXX
:C++编译器的名称,默认是g++
。 -
CXXFLAGS
:C++编译器的标志,用于C++源文件的编译。 -
EXEEXT
:表示可执行文件扩展名的字符串,默认为空(在Unix-like系统上)或.exe
(在Windows上)。 -
FC
:Fortran编译器的名称,默认是f77
。 -
FFLAGS
:Fortran编译器的标志。 -
LD
:链接编辑器的名称,默认是ld
。 -
LDFLAGS
:链接器标志,如-L
。 -
MAKE
:当前make程序的名称(通常是make
)。 -
MAKEFLAGS
:当make被递归调用时,这个变量包含了调用它的命令行参数。 -
MAKECMDGOALS
:命令行中指定的目标列表(不包括任何选项或隐式目标)。 -
MAKELEVEL
:当前make的调用深度(初始调用为0)。 -
OBJEXT
:表示对象文件扩展名的字符串,默认为.o
。 -
RANLIB
:库文件维护程序的名称,默认是ranlib
。 -
SHELL
:用于执行命令的shell的名称,默认是/bin/sh
。 -
VPATH
:用于搜索依赖文件的目录列表。
这些只是GNU make中预定义变量的一部分示例。实际上,GNU make还提供了许多其他预定义变量和函数,用于支持复杂的构建逻辑和条件判断。