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



_______________________________________________
Make-w32 mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/make-w32

Reply via email to