grady@fxgrp.fx.com (Steven Grady) (09/30/89)
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?"