我正在尝试在Linux中生成一个相当动态的make文件,并将从某个类型的/ src目录中获取所有文件。基本上ls * .type的输出我似乎很难做到这一点。以下是我目前的情况,但它似乎不起作用。希望有人可以帮助我。谢谢!
JIL_B_TMPL : sh = ls *.type
JIL_LIST = $(JIL_B_TMPL)
我还要补充一点,这不是用于编译C程序。
答案 0 :(得分:2)
要在makefile中捕获shell命令的输出,您可以执行以下操作:
JIL_B_TMPL := $(shell ls *.type)
JIL_LIST := $(JIL_B_TMPL)
这当然与写作相同:
JIL_LIST := $(shell ls *.type)
这适用于GNU make,但是既然你提到Linux,我想你是在使用它。
答案 1 :(得分:1)
JIL_LIST := $(wildcard *.type)
这消除了对外部程序的调用,如果您将来决定要支持Windows,这将非常重要。此外,如果您正在使用makepp,则通配符函数还将捕获可以构建的任何.type文件,无论它们是否已经存在。