我知道makefile中简单变量和递归变量之间的区别。
我已经看到许多使用递归变量作为简单shell命令名称的makefile(包括linux内核)。
我认为在这种情况下使用简单变量就足够了。
但是大多数使用递归变量。
使用递归变量比使用简单变量有什么特殊的原因吗?
CC = cc
AR = ar
RM = rm -f
DIFF = diff
TAR = tar
FIND = find
INSTALL = install
TCL_PATH = tclsh
TCLTK_PATH = wish
XGETTEXT = xgettext
MSGFMT = msgfmt
CURL_CONFIG = curl-config
PTHREAD_LIBS = -lpthread
答案 0 :(得分:1)
是否有使用递归的任何特定原因 变量比简单变量多?
是:简单分配的变量是GNU make
扩展。传统的make
没有该功能,并且POSIX也未指定。因此
make
不是GNU make
的环境中工作的人们甚至可能不知道/不感兴趣简单分配或其他GNU扩展。另外,
可能还有其他人。