[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bug: concurrent make and references to different names of a multi-target
From: |
Shachar Shemesh |
Subject: |
Bug: concurrent make and references to different names of a multi-target rule |
Date: |
Sun, 19 Feb 2012 09:57:03 +0200 |
Hi all,
I found a bug which is present at least in the Fedora version 3.82 of make. Attached is a makefile that demonstrates the bug (it might be possible to further simplify it).
To see the bug: run "make clean" and "make". /tmp/runlog shows one line saying "run", which means that the t1 t2 rule was only invoked once. Now run make clean and "make -j10". The /tmp/runlog now has two lines, showing that the rule was invoked twice.
Make -d reveals that the rule was considered twice. Once as "t1", and another time, before the first one had a chance to complete, as "t2". Make does not realize that t1 and t2 are built by the same rule, and schedules the receipt a second time.
Changing line 17 to read "t9: t1" causes the problem to disappear. Make -d shows "File `t1' was considered already."
Thanks,
Shachar
Makefile
Description: Binary data
- Bug: concurrent make and references to different names of a multi-target rule,
Shachar Shemesh <=