Skip to content
This repository has been archived by the owner on Jan 10, 2022. It is now read-only.

Generated Makefiles do not check that Makefile.in is up to date #44

Open
rwalker-com opened this issue Mar 30, 2020 · 3 comments
Open

Comments

@rwalker-com
Copy link
Contributor

Problem

Currently, editing a Makefile.am requires that the top-level bootstrap be run to ensure that the corresponding Makefile.in is updated.

This is inefficient (as bootstrap updates all Makefile.in in the tree) and error-prone (if one forgets to run bootstrap after touching a Makefile.am).

Proposed Solution

Add a rule to update Makefile.in if the corresponding Makefile.am is newer. A simple rule should suffice, as GNU make already re-parses if an include file needs to be built.

@gerickson
Copy link
Contributor

I'll also note that there is a solution that you can employ today that gets you this, although, in my perspective, a highly-annoying way. You'll note AM_MAINTAINER_MODE in configure.ac. See https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html for more information.

By putting AM_MAINTAINER_MODE in configure.ac, it disables maintainer mode. However, you can override that by running configure --{disable,enable}-maintainer-mode, depending on the behavior you want.

You might try playing with that to see if you like the resulting behavior. That input will be informative if that's sufficient or if we want to forge ahead with addressing this uniquely.

@rwalker-com
Copy link
Contributor Author

I'll have a look, have a TL;DR why it's "highly-annoying"?

@gerickson
Copy link
Contributor

I'll have a look, have a TL;DR why it's "highly-annoying"?

My historical experience was that it constantly triggered "re-bootstrap" at unexpected and inconvenient times.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants