以下是使用 MinGW msys 和 Cygwin 测试的。
在 makefile 中定义虚假目标 EXPORT_ALL_VARIABLES 然后执行子 make 时,不会导出带点的变量。
所以CFLAGS被导出,但CFLAGS.cpp和CFLAGS.c不是。
这是记录在案的功能吗?什么是理性?
有没有办法导出所有变量?
例子:
测试1.mak
CFLAGS=-O2
CFLAGS.cpp=-O2 -fno-rtti
all:
$(MAKE) -f test2.mak
.EXPORT_ALL_VARIABLES:
test2.mak
$(info CFLAGS='$(CFLAGS)')
$(info CFLAGS.cpp='$(CFLAGS.cpp)')
all:
@echo Done
输出:
make -f test1.mak
CFLAGS='-O2'
CFLAGS.cpp=''
Done