GNU bug report logs - #75655
configure doesn't update Makefile

Previous Next

Package: emacs;

Reported by: Pip Cet <pipcet <at> protonmail.com>

Date: Sat, 18 Jan 2025 19:37:02 UTC

Severity: minor

Full log


View this message in rfc822 format

From: Pip Cet <pipcet <at> protonmail.com>
To: Andreas Schwab <schwab <at> linux-m68k.org>
Cc: 75655 <at> debbugs.gnu.org
Subject: bug#75655: configure doesn't update Makefile
Date: Mon, 20 Jan 2025 20:59:42 +0000
"Andreas Schwab" <schwab <at> linux-m68k.org> writes:

> On Jan 20 2025, Pip Cet wrote:
>
>> I believe that needs an additional order-only prerequisite
>> (config.status) to work properly in parallel make: calling config.status
>> twice in parallel seems like a very bad idea.  And, of course, a comment
>> explaining it.
>
> The right way to solve this is to tell config.status to only update the
> current target.

Do you mean "./config.status --recheck", or "MAKE='$(MAKE)'
./config.status"?

I may be being very dense, but the second one is never run so modifying
it won't fix the problem.  The first one is run, but doesn't modify
Makefile.  That is right and proper, and I don't see how modifying it to
update "only the current target" (i.e. config.status itself) would help
things in any way.

Here's what I'm currently planning to insert into the Makefile:

# We attempted to use a Makefile.in, but it doesn't exist.  Most likely,
# we were configured in a different tree which uses a different set of
# Makefile.in files, and then the git branch was changed: in that case,
# wait for config.status to be rebuilt and run it.  Then return without
# generating the target: make will reload the new Makefile and the
# problem will have resolved itself.
#
# If the Makefile.in was accidentally deleted, config.status will fail
# with an error message indicating this to the user, and make will
# terminate.
$(SUBDIR_MAKEFILES_IN) $(CONFIG_STATUS_FILES_IN): | config.status
	MAKE='$(MAKE)' ./config.status

This doesn't work if "make -B" is used, but the current Makefile also
fails in that case.  In all other cases I've found, this does the right
thing.

Pip





This bug report was last modified 141 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.