make/src
Dmitry Goncharov 80727d709c [SV 63856] Fix pruning of double-colon rules
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.
2023-04-02 11:12:19 -04:00
..
w32 Add functions to directly expand variables by name 2023-04-01 11:13:12 -04:00
ar.c Adjust output strings to be aligned 2023-04-02 10:02:18 -04:00
arscan.c Adjust output strings to be aligned 2023-04-02 10:02:18 -04:00
commands.c Adjust output strings to be aligned 2023-04-02 10:02:18 -04:00
commands.h Update the copyright year on all files 2023-01-01 10:06:01 -05:00
config.h-vms Rename VMS macro to MK_OS_VMS 2023-01-15 18:04:36 -05:00
config.h.W32 Rename WINDOWS32 macro to MK_OS_W32 2023-01-15 18:27:13 -05:00
configh.dos Use MK_OS_DOS macro instead of __MSDOS__ 2023-01-16 00:03:13 -05:00
debug.h Update the copyright year on all files 2023-01-01 10:06:01 -05:00
default.c Add new warnings invalid-var and invalid-ref 2023-04-01 11:13:12 -04:00
dep.h Rename VMS macro to MK_OS_VMS 2023-01-15 18:04:36 -05:00
dir.c Clean up some preprocessor operations 2023-01-16 13:01:09 -05:00
expand.c Adjust output strings to be aligned 2023-04-02 10:02:18 -04:00
file.c Adjust output strings to be aligned 2023-04-02 10:02:18 -04:00
filedef.h Update the copyright year on all files 2023-01-01 10:06:01 -05:00
function.c Adjust output strings to be aligned 2023-04-02 10:02:18 -04:00
getopt.c Rename VMS macro to MK_OS_VMS 2023-01-15 18:04:36 -05:00
getopt.h Update the copyright year on all files 2023-01-01 10:06:01 -05:00
getopt1.c Update the copyright year on all files 2023-01-01 10:06:01 -05:00
gettext.h Update the copyright year on all files 2023-01-01 10:06:01 -05:00
gmk-default.scm Convert references from "GNU make" to "GNU Make" 2023-01-01 17:05:12 -05:00
gnumake.h Convert references from "GNU make" to "GNU Make" 2023-01-01 17:05:12 -05:00
guile.c Convert references from "GNU make" to "GNU Make" 2023-01-01 17:05:12 -05:00
hash.c * src/hash.c (jhash_string): Help the compiler optimize the hash 2022-11-13 10:38:50 -05:00
hash.h Rename WINDOWS32 macro to MK_OS_W32 2023-01-15 18:27:13 -05:00
implicit.c Clean up expand.c 2023-03-26 16:48:48 -04:00
job.c Adjust output strings to be aligned 2023-04-02 10:02:18 -04:00
job.h Rename VMS macro to MK_OS_VMS 2023-01-15 18:04:36 -05:00
load.c Adjust output strings to be aligned 2023-04-02 10:02:18 -04:00
loadapi.c Clean up expand.c 2023-03-26 16:48:48 -04:00
main.c [SV 63856] Implement .WAIT on the command line 2023-04-02 11:12:11 -04:00
makeint.h Add support for .WARNINGS special variable 2023-04-02 10:02:18 -04:00
misc.c Add support for .WARNINGS special variable 2023-04-02 10:02:18 -04:00
mkconfig.h.in Update the copyright year on all files 2023-01-01 10:06:01 -05:00
mkcustom.h Rename WINDOWS32 macro to MK_OS_W32 2023-01-15 18:27:13 -05:00
os.h Use MK_OS_DOS macro instead of __MSDOS__ 2023-01-16 00:03:13 -05:00
output.c Adjust output strings to be aligned 2023-04-02 10:02:18 -04:00
output.h Convert references from "GNU make" to "GNU Make" 2023-01-01 17:05:12 -05:00
posixos.c Use MK_OS_OS2 macro instead of __EMX__ 2023-01-16 00:24:13 -05:00
read.c Adjust output strings to be aligned 2023-04-02 10:02:18 -04:00
remake.c [SV 63856] Fix pruning of double-colon rules 2023-04-02 11:12:19 -04:00
remote-cstms.c Update the copyright year on all files 2023-01-01 10:06:01 -05:00
remote-stub.c Update the copyright year on all files 2023-01-01 10:06:01 -05:00
rule.c Adjust output strings to be aligned 2023-04-02 10:02:18 -04:00
rule.h Update the copyright year on all files 2023-01-01 10:06:01 -05:00
shuffle.c Update the copyright year on all files 2023-01-01 10:06:01 -05:00
shuffle.h Update URLs to use https rather than http 2022-10-18 14:37:47 -04:00
signame.c Update the copyright year on all files 2023-01-01 10:06:01 -05:00
strcache.c Convert references from "GNU make" to "GNU Make" 2023-01-01 17:05:12 -05:00
variable.c Add support for .WARNINGS special variable 2023-04-02 10:02:18 -04:00
variable.h Add new warnings invalid-var and invalid-ref 2023-04-01 11:13:12 -04:00
version.c Convert references from "GNU make" to "GNU Make" 2023-01-01 17:05:12 -05:00
vms_exit.c Convert references from "GNU make" to "GNU Make" 2023-01-01 17:05:12 -05:00
vms_export_symbol.c Update the copyright year on all files 2023-01-01 10:06:01 -05:00
vms_progname.c Update the copyright year on all files 2023-01-01 10:06:01 -05:00
vmsdir.h Update the copyright year on all files 2023-01-01 10:06:01 -05:00
vmsfunctions.c Update the copyright year on all files 2023-01-01 10:06:01 -05:00
vmsify.c Rename VMS macro to MK_OS_VMS 2023-01-15 18:04:36 -05:00
vmsjobs.c Convert references from "GNU make" to "GNU Make" 2023-01-01 17:05:12 -05:00
vpath.c Add functions to directly expand variables by name 2023-04-01 11:13:12 -04:00
warning.c Add support for .WARNINGS special variable 2023-04-02 10:02:18 -04:00
warning.h Add support for .WARNINGS special variable 2023-04-02 10:02:18 -04:00