使用文件中的依赖项进行制作

发布于 2025-01-04 05:43:38 字数 320 浏览 1 评论 0原文

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

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

但这忽略了对 list.txt 内容的依赖。

I want to write a Makefile that reads a file list.txt and produces result.tar containing the contents. If there is a change in either the list.txt file, or any of the files it points at, then result.tar should be rebuilt. How can I express this in a Makefile? The closest I have come is:

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

But this omits the dependency on the contents of list.txt.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冰雪梦之恋 2025-01-11 05:43:38

我认为应该是这样的:

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 
lt; | xargs tar -cf $@

I think there should be something like this:

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

Or, a bit better (extracting list.txt to a variable and using automatic variables):

LIST_FILE := list.txt
result.tar : $(LIST_FILE) $(shell cat $(LIST_FILE))
   cat 
lt; | xargs tar -cf $@
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文