Subject: Re: bug#68860: race condition with make recheck

From: Karl Berry <[email-masked]>
Date: Sun, 25 Aug 2024 19:17:52 -0600

>      -  $output_rules .= "check-am: all-am\n";
    >      +  $output_rules .= "check-am: all-am";
    >         if (@check)
    >           {
    >      -      pretty_print_rule ("\t\$(MAKE) \$(AM_MAKEFLAGS)", "\t  ", @check);
    >      +      $output_rules .= " @check";

Looking again, the comment before this code says:

  # The check target must depend on the local equivalent of
  # 'all', to ensure all the primary targets are built.  Then it
  # must build the local check rules.

.. which makes sense. We have to make all before we can make check.
Hence the check targets can't be dependencies, since then they would be
run in parallel with make, and the programs built by 'all' might not be
built yet. This explains why they made it a sub-make.

So I'm puzzled as to how all the tests can still be passing. Maybe there
is no test specifically for this? --thanks, karl.