2010-10-10 23 views
1

范围,我有一些的Makefile:GNU使可变

$(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

如何分享到父变量的变化使线程? 可能是我需要真正的全局变量... 我已阅读http://www.gnu.org/software/automake/manual/make/Recursion.html 但没有发现

回答

2

不能推变回父进程。您可能有兴趣阅读Recursive Make Considered Harmful。简短版本:递归不是必需的,用于控制大型构建并造成麻烦。

+0

哦,这是有益的!到书签... – puchu 2010-10-10 19:09:45