我在Makefile中有5个标签:
all: label1 label2 label3 label4 last_label
我想last_label最后完成,我想用make -j.如果我使用.NOTPARALLEL,它将使所有这些NOTPARALLEL,任何关于如何做到这一点的建议?
lai*_*dir 12
如果last_label需要最后运行的原因是它需要来自其他标签的数据,最好的方法是告诉make该依赖:
all: last_label
last_label: label1 label2 label3 label4
如果不存在真正的依赖关系(即,如果您不想last_label在其他任何一个更改时重建),并且如果您正在使用GNU Make,则可以将这些指定为"仅限订单"依赖关系 - make将只是在last_label构建之前确保它们存在:
all: last_label
last_label: | label1 label2 label3 label4
创建一个目标,指定可以并行执行的四个目标,并将last_label其包括在all目标中:
intermediate: label1 label2 label3 label4
all:
        $(MAKE) intermediate
        $(MAKE) last_label
这将执行中指定的目标intermediate并行,但intermediate与last_label将被连续强制。
(请注意,前面的前导空格$(MAKE)是TAB字符。)