Makefile收集新目录中的文件列表

时间:2011-06-23 00:41:53

标签: makefile gnu gnu-make

我有一个变量中的文件路径列表。我想将此列表中的每个文件复制到新位置。问题是,我是一个非常新的makefiles,我正在努力让任何工作。我的尝试最终达到了以下目的,虽然不起作用(可能完全错误)但我希望它能说明我正在尝试做什么。

FILES = a/b/file c/d/file e/.../file etc...
copyfiles:
       for file in $(FILES); do \
           cp $$file newDir/$(notdir $$file);  \
       done

1 个答案:

答案 0 :(得分:4)

你可以做到

FILES = a/b/file c/d/file e/.../file etc...
copyfiles:
    cp $(FILES) newDir

我试了一下,然后就可以了。

请记住,globbing由shell完成,而不是由命令完成。 cp将文件列表作为参数,并将所有文件复制到最后一个参数指定的位置。当您键入cp *.cpp时,所有cp程序都认为其参数是当前目录中以.cpp结尾的文件。