如何在Makefile目标中重复相同的先决条件?

如何在Makefile目标中重复相同的先决条件?,makefile,Makefile,我想在生成文件中执行类似操作(包含更多任务): 任务目标的结果是: task 1 task 2 task 3 sep目标仅第一次执行。这是完全正常的但我希望每次都执行。有办法强迫重复吗? 解决方法是使用以下几种sep目标: tasks: task1 sep1 task2 sep2 task3 使用分组目标定义,可一次性定义所有sep: sep1 sep2 &: @echo 这样做的结果是正确的: task 1 task 2 task 3 我想知道是否有可能只使用一个

我想在生成文件中执行类似操作(包含更多任务):

任务
目标的结果是:

task 1

task 2
task 3
sep
目标仅第一次执行。这是完全正常的但我希望每次都执行。有办法强迫重复吗?

解决方法是使用以下几种
sep
目标:

tasks: task1 sep1 task2 sep2 task3
使用分组目标定义,可一次性定义所有
sep

sep1 sep2 &:
    @echo
这样做的结果是正确的:

task 1

task 2

task 3

我想知道是否有可能只使用一个
sep
进行相同的行为,并强制重复此先决条件。

这是不可能的。无法让make在每次调用make时多次构建同一目标

不管怎样,依赖这种排序是错误的:如果您曾经想使用并行作业(
make-j
)来让构建运行得更快,那么这就不能满足您的要求

最好的做法是简单地将“sep”放入目标食谱中:

task1:
        @echo
        @echo task 1

等等。

这是不可能的。无法让make在每次调用make时多次构建同一目标

不管怎样,依赖这种排序是错误的:如果您曾经想使用并行作业(
make-j
)来让构建运行得更快,那么这就不能满足您的要求

最好的做法是简单地将“sep”放入目标食谱中:

task1:
        @echo
        @echo task 1
等等