linux - Makefile 只创建第一个文件

标签 linux makefile

我有一个 Makefile 如下:

work/step1.tab: temp.tab hcp_raw_data_sample.tab
    command

work/step2.tab: work/step1.tab
    command

我在主目录中有 temp.tabhcp_raw_data_sample.tab 并且想要 step1.tabstep2.tab 将在 work 目录中创建。但是,只有 step1.tab 被创建; step2.tab 没有。我该怎么办?

最佳答案

当您运行 make 时,它会构建 makefile 中列出的第一个目标,在本例中为 work/step1.tab。它看不到任何构建 step2.tab 的理由,因为它具有构建 step1 所需的一切,这是默认目标。

要让它构建两者,请将 work/step2.tab 移动到 work/step1.tab 之上。这使得 work/step2.tab 成为默认目标。

这样它会看到它需要构建work/step1.tab才能构建work/step2.tab,所以它会这样做,然后它将构建 work/step2.tab

关于linux - Makefile 只创建第一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24614575/

相关文章:

linux - 测试目标文件是否独立于操作系统

c++ - “Make”因Clang错误而失败-如何从Clang中获取错误?

java - 跨越几个jvm的锁?

linux - 当 Ubuntu 从 14.04 lts 升级到 16.04 lts 时,是否可以在 Ubuntu 中创建交换空间?

linux - 在 ssh 进入 DC 的时钟服务器后,如何在我的脚本中触发脚本?

c++ - 将 Makefile 选项添加到 qtcreator 项目中

c++ - Makefile: "No rule to make target..."有多个工作目录

php - Bash 和 PHP - 在一定时间后调用函数/命令

linux - 在 Linux 上使用 Apache 设置子域

linux - 如何在linux中获取线程的调度统计信息?