我有一个文件,其中包含要处理的文件列表,每行一个。它们没有文件名模式:它们可以具有多种扩展名之一。
我可以让 make 从文件中读取文件名吗?我试过了
TFILES= $(shell cat files.list)
trial : $(TFILES)
echo $<
但它当然希望每个人都成为目标。我希望每一个都是一个物体。
假设
make
的版本足够新(我认为至少是 4.1),您可以将文件直接读入 make
变量,而无需求助于 shell 调用:
TFILES := $(file < files.list)
在所有
make
函数中,语法有点奇怪,因为 <
确实决定了数据方向,在本例中为“读取”。相反,$(file > foo.txt,_whatever content you want_)
则进行写作。另请参阅此处:https://www.gnu.org/software/make/manual/html_node/File-Function.html
但不确定“每个都是一个对象”是什么意思。