Subject: bug#57152: 29.0.50; Emacs executable isn't rebuilt when loaddefs.el is modified

From: Lars Ingebrigtsen <[email-masked]>
Date: Mon, 15 Aug 2022 12:07:15 +0200

I've spent an hour poking at this.  Here's the recipe to reproduce:

echo ";;;###autoload ;;(+ 1 2)" >> lisp/foo.el
make

This will update loaddefs.el(c), but won't rebuild src/emacs.pdmp.
Then, if you say

make

it'll rebuild src/emacs.pdmp.

I've tried various things, like making autoloads an order-only
prerequisite for $(pdmp) (and various other targets), but the main
problem seems to be that Make has already computed the
timestamps/dependencies at this point, so even if we're running the
update at the "right" time, we don't trigger the $(pdmp) rule.

And moving this earlier results in problems with the boot build.

I think it'd be helpful if somebody with fresh eyes could take a look at
this.