我知道makefile中简单变量和递归变量的区别。
我见过许多makefile(包括linux内核),它们使用递归变量作为简单的shell命令名。
我认为在这种情况下使用简单的变量就足够了。
但大多数都使用递归变量。
除了简单的原因之外,还有什么特殊的原因需要使用递归变量吗?
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发布于 2019-06-04 20:09:29
除了使用简单的递归变量之外,还有什么特殊的原因吗?
是的:简单赋值的变量是一个GNU make扩展。传统的make没有这个特性,它也不是由POSIX指定的。因此
使用普通(“递归”)赋值的
make不是GNU make的环境中工作的人可能甚至不知道/对简单任务或其他GNU扩展感兴趣。另外,
可能还有其他的。
https://stackoverflow.com/questions/56441309
复制相似问题