如何使用makefile对目录进行压缩

我在子目录中只有几个文件,所有文件都是文本文件,如常见问题解答,用户指南,其中没有c / cpp src代码。以下是文件和目录结构。

scr
|_Makefile                     #Top level Makefile
|_other_dirs
|_some_other_dirs
|_mydir
   |_Makefile                  #Makefile of mydir, need to put some code here
   |_dir1
   |  |_textfile0
   |  |_textfile1 
   |_dir2
      |_textfile2
      |_textfile3

问题,如何将dir1和dir2的内容压缩成一个tar球?我尝试在Internet上搜索Makefile以及如何使用它从最上层的Makefile创建接球,但没有成功。我对Makefiles不太熟悉,任何起点都将不胜感激。谢谢。

以下是我的新手尝试使用的非常基本的Makefile:

 -->cat Makefile
mydir.tgz : *
    tar -zcvf mydir.tgz mydir/

 -->make
Makefile:1: *** missing separator.  Stop.

想法是运行顶层Makefile并为mydir生成tar文件。

雷尼尔·托伦贝克

您可以mydir递归添加所有文件和目录,作为的先决条件mydir.tgz这样,只有在下的某个位置发生更改时,才会执行tar文件mydir例如这样:

mydir.tgz: $(shell find mydir)
    tar -zcvf mydir.tgz mydir

带有tar命令的行应以开头TAB

该SO问题中也描述了此答案的大多数机制,但对我来说在此处添加它以简洁地回答您的特定问题似乎很有意义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章