为什么这个Makefile出错?

时间:2011-08-06 02:15:48

标签: makefile iteration

我正在使Makefile迭代文件并为每个文件执行命令。命令执行正常但后面出现make错误。这是我的Makefile

SHELL := /bin/bash

link: .gemrc .vimrc .gitconfig
    $(foreach df, $^, cat $(df) )

输出是每个文件的内容,然后是make: *** [link] Error 1

如何让make没有错误?

1 个答案:

答案 0 :(得分:2)

问题是命令扩展为cat .gemrc cat .vimrc cat .gitconfig,这会产生错误,因为找不到名为cat的文件,好吧,cat。

以下是两种方法:

link: .gemrc .vimrc .gitconfig
    cat $^

link: .gemrc .vimrc .gitconfig
    $(foreach df, $^, cat $(df);)