mirror of
https://github.com/mirror/make.git
synced 2025-02-11 04:10:46 +08:00
Given this setup: $ cat Makefile A::; @echo A-1 && sleep 1 && echo A-1 done A::; @echo A-2 && sleep 1 && echo A-2 done A::; @echo A-3 && sleep 1 && echo A-3 done B::; @echo B-1 && sleep 1 && echo B-1 done B::; @echo B-2 && sleep 1 && echo B-2 done B::; @echo B-3 && sleep 1 && echo B-3 done $ make -j8 A .WAIT B All recipes for A should be started sequentially and complete before any recipe for B is started, then all recipes for B should be started sequentially. This wasn't happening because the double-colon target was getting pruned too early. * src/remake.c (update_file): Don't prune a target if it's a double colon rule which is complete, but there are other recipes to run for this target: we want those other recipes to be run first. * tests/scripts/targets/WAIT: Test .WAIT with double colon rules. |
||
---|---|---|
.. | ||
clean | ||
DEFAULT | ||
DELETE_ON_ERROR | ||
FORCE | ||
INTERMEDIATE | ||
NOTINTERMEDIATE | ||
ONESHELL | ||
PHONY | ||
POSIX | ||
SECONDARY | ||
SILENT | ||
WAIT |