以下は、MinGW msys と Cygwin でテストされています。
makefile で偽のターゲット EXPORT_ALL_VARIABLES を定義してからサブ make を実行すると、ドットを含む変数はエクスポートされません。
したがって、CFLAGSはエクスポートされますが、CFLAGS.cppとCFLAGS.cはエクスポートされません。
これは文書化された機能ですか? 合理的とは何ですか?
すべての変数をエクスポートする方法はありますか?
例:
test1.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