Subject: Re: bug#75655: configure doesn't update Makefile

From: Pip Cet <[email-masked]>
Date: Mon, 20 Jan 2025 10:59:51 +0000

"Andreas Schwab" <[email-masked]> writes:

> On Jan 18 2025, Pip Cet via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote:
>
>> If config.status exists, it is rerun, and regenerates the Makefile; but
>> if it doesn't, configure is run but config.status isn't.

> Configure always runs config.status after it created it, unless it is
> called with --no-create.

Thanks, I was confused there.

How about:

modified   Makefile.in
 # Don't erase these files if make is interrupted while refreshing them.
 .PRECIOUS: Makefile config.status
 
+$(SUBDIR_MAKEFILES_IN) $(CONFIG_STATUS_FILES_IN):
+	MAKE='$(MAKE)' ./config.status
+
 # Note that calling config.status --recheck is insufficient on Android
 # due to the recursive calls to configure.

That works in my case:

1. make tries to rebuild Makefile
2. make tries to rebuild benchmarks/Makefile.in
3. Makefile is updated, but benchmarks/Makefile.in isn't created
4. magic happens
5. make rereads the new Makefile
6. everything works

Does it break other cases?

Pip