bug-make
[Top][All Lists]
Advanced

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

make -j bug


From: Scott Lindsey
Subject: make -j bug
Date: Tue, 12 Jun 2001 18:20:48 -0700

I think I've found a bug in make 3.79.1. The make documentation suggests that rule execution order may differ when run with --jobs=n where n>1, but it doesn't say that rule evaluation should differ.

Consider the makefile

d: c
        @echo d

c:: b
        @touch c; echo b

c:: a
        @touch c; echo a

The evaluation of the c:: rules can and does differ depending on the number of jobs. I've seen this behavior on a few different platforms: Linux and BeOS, both PPC and X86.

$ make d
b
a
d
$ rm c; make -j 2 d
b
d

So it appears that evaluation of the c:: a rule doesn't occur until after the c:: b rule has executed.

Interestingly, if the intermediate target c is specified, the two cases execute identically.

$ make c
b
a
$ m c; make -j 2 c
b
a

In this case, both rules appear to have been evaluated before either executes.


Regards,
-- Scott Lindsey <address@hidden>
--
Scott Lindsey <address@hidden>



reply via email to

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