URL:
<http://savannah.gnu.org/bugs/?30823>
Summary: double-colon rules not always executed in parallel
make
Project: make
Submitted by: None
Submitted on: Do 19 Aug 2010 19:24:54 UTC
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: 3.81
Operating System: None
Fixed Release: None
Triage Status: None
_______________________________________________________
Details:
I'm not sure if this has been already reported but at least I can't find a
similar report.
I have a modular build system using make which uses some double-colon rules
which are triggered indirectly. That means these rules are not a direct
prerequisite of the make goal provided on command line.
With -j1 the rules are executed as expected but with multiple jobs sometimes
not all of these rules are made. On my dual core machine I can reproduce this
very easily with the attached example Makefile. On may quad core box it
happens rather seldom with this example but with the rather complex build
system it happens more often.
A workaround is to add the double-colon rules as a direct prerequisite of the
user specified make goal. But wait - this is not the full truth - it only
works when added to targets like all or install. Calling "make -j2 b" in the
concrete example it fails as well.
The attached Makefile example can be used to reproduce the issue.
When called with -j1 the output is:
a1
q
a2
a3
b
which is expected. When called with -j2 the output is often only
a1
q
b
I think while the execution order of the double-colon rules might change they
should at least execute before the target counts as being made.
I checked make-3.82 as well but it behaves the same way. My system is a
Fedora 13 64bit.
_______________________________________________________
File Attachments:
-------------------------------------------------------
Date: Do 19 Aug 2010 19:24:54 UTC Name: Makefile Size: 100B By: None
Makefile example to show the issue
<http://savannah.gnu.org/bugs/download.php?file_id=21261>
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?30823>
_______________________________________________
Nachricht geschickt von/durch Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-make