[Top][All Lists]
[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>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- make -j bug,
Scott Lindsey <=