Makefile Make:在检查依赖项之前运行代码
我有一个依赖于外部库的目标:Makefile Make:在检查依赖项之前运行代码,makefile,Makefile,我有一个依赖于外部库的目标: output.txt: library/build.txt main.txt cat library/build.txt main.txt >output.txt (这只是一个例子,我的实际makefile要复杂得多) 但是,library/build.txt由单独的生成文件生成。 在检查library/build.txt是否比output.txt更新之前,我需要运行library makefile(可能会更新build.txt) 我可以让它每次运行$(
output.txt: library/build.txt main.txt
cat library/build.txt main.txt >output.txt
(这只是一个例子,我的实际makefile要复杂得多)
但是,library/build.txt由单独的生成文件生成。
在检查library/build.txt是否比output.txt更新之前,我需要运行library makefile(可能会更新build.txt)
我可以让它每次运行$(MAKE)-C library
,但我希望只在需要时调用它(也就是说,当您尝试创建一个依赖于library/build.txt的目标时)
这可能吗?(如果列表中包含library/build.txt,也许有一种方法可以获取依赖项列表,然后运行一些东西?您可以尝试以下方法:
FORCE:
library/build.txt: FORCE
@echo make to build $@
output.txt: library/build.txt main.txt
cat $^ > $@