Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!uwm.edu!cs.utexas.edu!mailrus!ames!fxgrp!news
From: grady@fxgrp.fx.com (Steven Grady)
Newsgroups: gnu.utils.bug
Subject: gnumake 3.56 "-j" problem
Message-ID: <1989Sep29.222350.13089@fxgrp.fx.com>
Date: 29 Sep 89 22:23:50 GMT
Reply-To: grady@fxgrp.fx.com (Steven Grady)
Distribution: gnu
Organization: FXDevelopment, Mountain View, CA
Lines: 30

Using multiple jobs doesn't work in 3.56.  I haven't been able to track
it down completely (I gave up after about 2 hours), but it looks like
remake_file() is calling execute_file_commands(), then assigns
file->command_state = cs_finished, even though the job might be running
in parallel and is therefore not finished.  Or maybe it's that 
notice_finished_file() does not set file->update_status.  Or both?
Anyway, here's an example Makefile:
    a: b c
	    @echo a done

    b:
	    @echo doing b

    c:
	    @echo doing c

Here's the output:
    % gnumake -j2
    gnumake: *** Waiting for unfinished jobs....
    doing b
    %

(This occurs on a sun3, sun4, and pc/rt.)

	Steven
	...!ucbvax!grady
	grady@postgres.berkeley.edu

"I hate snakes!  I hate 'em!!"
"C'mon!  Show a little backbone, will ya?"