1

我正在尝试在 Linux 中生成一个相当动态的 make 文件,它将从特定类型的 /src 目录中获取所有文件。基本上 ls *.type 的输出我似乎很难做到这一点。以下是我目前拥有的,但它似乎不起作用。希望有人可以帮助我。谢谢!

JIL_B_TMPL            : sh = ls *.type
JIL_LIST        =       $(JIL_B_TMPL)

我还要补充一点,这不是为了编译 C 程序。

4

2 回答 2

2

要在 makefile 中捕获 shell 命令的输出,您可以执行以下操作:

JIL_B_TMPL := $(shell ls *.type)
JIL_LIST   := $(JIL_B_TMPL)

这当然和写法一样:

JIL_LIST   := $(shell ls *.type)

这适用于 GNU make,但既然你提到了 Linux,我想你正在使用它。

于 2012-04-30T16:06:39.790 回答
1

帕特得到了一些有用的东西的核心,但在你的情况下,你可能想要更像

JIL_LIST := $(wildcard *.type)

这消除了对外部程序的调用,如果您将来决定要支持 Windows,这将很重要。此外,如果您使用 makepp,通配符函数还将捕获任何可以构建的 .type 文件,无论它们是否已经存在。

于 2012-04-30T16:46:54.550 回答