获取目标的依赖项列表

时间:2014-05-28 10:11:39

标签: makefile gnu-make

是否可以在Makefile中读取目标的依赖项?

我想做以下事情:

.INTERMEDIATE: temp1.txt
.INTERMEDIATE: temp2.txt
print-intermediates:
        @echo "Temp files: $(dependencies-of .INTERMEDIATE)"

make print-intermediate的输出将是

$ make print-intermediate
Temp files: temp1.txt temp2.txt

如何访问.INTERMEDIATE目标的依赖关系列表?

1 个答案:

答案 0 :(得分:4)

make的递归调用。

没有用于此目的的内置功能。但是有一些解决方法。 例如,您可以使用命令行参数make递归调用-p

.INTERMEDIATE: temp1.txt
.INTERMEDIATE: temp2.txt 
deps = $(shell $(MAKE) -qp none | sed -n "/$(strip $(1)):/ p;" | \
  sed -e "s/$(strip $(1)): //g") 

print-intermediates:
        @echo "Temp files: " $(call deps,.INTERMEDIATE)

.PHONY: none
none:;