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