Make:依赖于目录中的最新文件

时间:2016-09-07 11:21:56

标签: makefile dependencies

对于一个小项目,我有以下工作流程:

  1. 编译代码并生成db./data
  2. 运行代码,它会将许多文件写入./images
  3. 从数据文件生成图像,将它们放在./data
  4. 从图片中生成视频
  5. 我编写了一个makefile,它可以运行代码,并在必要时编译它。但我不知道如何实现步骤3和4的依赖关系,并且目前手动制作目标。

    那么,有没有办法检查是否./images中的最新文件比./data中的最新文件新?没有必要逐个文件地执行此操作,并且不知道数据/图像文件的总数。

1 个答案:

答案 0 :(得分:0)

通常,目录的日期是添加/修改最后一个文件的日期,因此您可以使用目录本身的时间戳来表示依赖项。

images : data
     // generate images

或者,如果两个目录中的文件之间存在映射,则可以执行以下操作:

images/%.img: data/%.dat
    // generate image...

会阻止重新处理已经处理过的数据。