如果我使用-C选项启动(GNU) make,它首先cd到该目录,然后$(CURDIR)将被设置为该值。我想知道是否有任何机制可以在make文件中找出make最初是从哪里调用的?
也就是说,如果我有一个makefile在/some/location:
all:
@echo $(CURDIR)
@echo $(SOME_MAGIC_VARIABLE_I_AM_LOOKING_FOR)
,然后我做:
$ cd /other/place
$ make -C /some/location
我将得到
/some/location
/other/place
打印出来。
谢谢!
在make
中没有这样的变量
但是,POSIX shell维护并导出一个PWD
变量给它们调用的命令。所有环境变量被make
作为make
变量导入。
,如果你看make
变量$(PWD)
你很可能会发现原来的路径的shell调用make
使用。