make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Make-3.81 rc1 hangs with -j 2 but not with -j 1


From: J. David Bryan
Subject: Make-3.81 rc1 hangs with -j 2 but not with -j 1
Date: Tue, 21 Feb 2006 18:07:34 -0500

Running make-3.81rc1 under Windows with the following makefile will hang if 
"-j 2" is specified, but will run properly if "-j 1" is selected instead.  
To duplicate, put the following makefile into a blank directory:


.SECONDARY : test.1 test.2 test.3


test : test.4


%.4 : %.int %.3
        touch $@


%.int : %.3 %.2
        touch $@


%.3 : | %.2
        touch $@


%.2 : %.1
        touch $@


%.1 : %.0  
        touch $@


Or, if you prefer, obtain the makefile from:

  http://www.bcpl.net/~dbryan/dropbox/makefile

Running with "touch test.0 && make -j 2" runs properly the first time and 
produces:

touch test.1
touch test.2
touch test.3
touch test.int
touch test.4
rm test.int

Running "touch test.0 && make -j 2" again hangs repeatably part-way 
through:

touch test.1
touch test.2

Running instead with "touch test.0 && make -j 1" repeatably produces the 
same output as the first run.  Note that if "test.int" is touched 
externally, so that's it's pre-existing, then "-j 2" works properly.  
Deleting "test.int" and retrying will hang.

Running with "--debug=b" produces a few zillion lines of "File `test' does 
not exist" when the hang occurs, so it looks as though make is stuck in a 
loop.

                                      -- Dave





reply via email to

[Prev in Thread] Current Thread [Next in Thread]