我有一些makefile:
$(PROGRAM_NAME): index.o
@echo "linking"
@echo $(index_o)
//linking
export index_o:=.
index.o:
$(MAKE) -C some_dir index.o
在some_dir makefile
export index_o:=$(index_o)/index.o
index.o:
@echo "compiling"
@echo $(index_o)
//compiling
输出:
编译 ./index.o 链接
需要输出:
编译 ./index.o 链接 ./index.o
如何将变量的变化分享给父make线程? 可能是我需要真正的全局变量...... 我看过http://www.gnu.org/software/automake/manual/make/Recursion.html 但未找到
答案 0 :(得分:2)
你无法将变量推送回父进程。
您可能有兴趣阅读Recursive Make Considered Harmful。短 - 短版本:不需要递归来控制大型构建并导致麻烦。