On Tue, 2023-02-07 at 14:51 +0100, Jan Beulich wrote:
> while something has changed from 4.3 to 4.4 in the dealing with
> intermediate files, the example Makefile below still doesn't work
> as expected. There are two pairs of *.[ch] files generated, each by
> their respective rule. Each of the *.o files to be compiled from the
> *.c ones has a dependency recorded on both *.h files. If (up-to-date
> or outdated) instances of all four generated files are there, all is
> fine. If both *.c files are missing, all is fine as well. However,
> if only one *.c file is missing and the other is up-to-date,
> compilation of the other *.c file will (provided at least -j2 was
> passed) be invoked in parallel to the re-generation of the other
> *.[ch] pair, not taking into consideration that one of the *.h files
> is in the process of being re-generated (together with its sibling
> *.c file).

Hi Jan.

Unfortunately the above is hard for me to understand and trying to
reproduce the behavior you're concerned about with the makefile you
provided didn't yield success.

It would be very helpful if you could (A) explain how to set up the
environment (I assume I need to "touch tst_a.a tst_b.b"?  Anything
else?), (B) show a transcript of the commands you ran and the output
you got, cut and pasted, and (C) point out very clearly in the output
which things you think are not correct, and what you expected to happen


Reply via email to