如何找出GNU make是从哪里开始的?



如果我使用-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使用。

最新更新