使用文件中的依赖项进行创建

时间:2012-02-10 17:37:55

标签: makefile

我想写一个Makefile,它读取文件list.txt并生成包含内容的result.tar。如果list.txt文件或其指向的任何文件发生更改,则应重建result.tar。我怎样才能在Makefile中表达这个?我最接近的是:

result.tar : list.txt
   cat list.txt | xargs tar -cf result.tar

但这省略了对list.txt

内容的依赖

1 个答案:

答案 0 :(得分:5)

我认为应该是这样的:

result.tar : list.txt $(shell cat list.txt)
   cat list.txt | xargs tar -cf result.tar

或者,更好一点(将list.txt提取到变量并使用自动变量):

LIST_FILE := list.txt
result.tar : $(LIST_FILE) $(shell cat $(LIST_FILE))
   cat $< | xargs tar -cf $@