Unexport特定Makefile配方的所有变量

时间:2015-05-27 19:58:59

标签: makefile export

我想知道是否可以在makefile配方中调用make,但是这样新的invokation不会继承当前makefile的导出变量。

例如:

include $(TRG).vars
OLD_TRG=`cat .last_trg`

all:
    if [ $(TRG) -ne $(OLD_TRG) ]; then \
        read -p "Clean required -- press enter"; \
        make clean TRG=$(OLD_TRG); \
    fi
    echo $(TRG) > .last_trg

clean:
    [ $(SOMEVAR) ] && rm -rf $(SOMEVAR)

如果对于上述内容,SOMEVAR已在$(TRG).vars中定义,而在$(OLD_TRG).vars中未定义,那么make clean调用将从父级继承SOMEVAR makefile,可能会清理错误的目录。我希望make clean不会从当前的makefile继承任何环境,因此它可以独立清理。

0 个答案:

没有答案