Am 6. März 2017 16:44:50 MEZ schrieb Alexandre Julliard <julliard@winehq.org>:
Marcus Meissner <marcus@jet.franken.de> writes:
Which is caused by these Makefile rules:
mcy.tab.h: /home/marcus/projects/wine/tools/wmc/mcy.y
$(BISON) -p mcy_ -o mcy.tab.c -d /home/marcus/projects/wine/tools/wmc/mcy.y
mcy.tab.c: /home/marcus/projects/wine/tools/wmc/mcy.y mcy.tab.h
$(BISON) -p mcy_ -o $@ /home/marcus/projects/wine/tools/wmc/mcy.y
The same bison call will generate both mcy.tab.h and mcy.tab.c, but the rules race each other
due to the timestamp of mcy.tab.h being too close to mcy.tab.c.
A rule like:
mcy.tab.h mcy.tab.c: /home/marcus/projects/wine/tools/wmc/mcy.y
$(BISON) -p mcy_ -o mcy.tab.c -d /home/marcus/projects/wine/tools/wmc/mcy.y
will also work. I will be sending a patch.
No, that doesn't work because both commands can run at the same time and
overwrite each other files. That's why the .tab.c needs a dependency on
the .tab.h.