如果我有一个makefile,例如:
foo.o: foo.c a.h b.h c.h
cc -c foo.c -o foo.o
现在,在makefile的其他部分中,我希望获得foo.o
的所有先决条件,就像我在配方中使用$^
一样。类似的东西:
$(info $(call GET_TARGET_PREREQS(foo.o))) # prints "foo.c a.h b.h c.h"
基本上,我有所有目标文件的依赖文件(由-M
生成),从那里我想要一个给定对象包含的所有头文件的列表。
我希望有一个或多或少纯粹的make解决方案,而不是解析*.d
文件并输出makefile片段的sed脚本。
答案 0 :(得分:0)
如果要打印所有的先决条件,可以随时使用$ ^
.PONY: all
all: a b c
@echo $^
a:
b:
c: