I have a project that relies on automatically-built sources, therefore I
have created a BUILT_SOURCES variable in my src/Makefile.am file (see GNU
Automake ยง 9.4 Built Sources
<https://www.gnu.org/software/automake/manual/html_node/Built-Sources-Example.html>).
Everything works perfectly, however I have noticed that if I launch make
install before launching make all the sources are correctly built, but the
same does not happen if I launch make install-exec before launching make all.
So I have examined the generated src/Makefile, and I have found the reason.

Currently src/Makefile.am generates the following code in src/Makefile:

install: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) install-am

install-exec: install-exec-am

Evidently install and install-exec are treated differently, and the second
one does not build any source. I believe that the correct generated code
for src/Makefile should be instead:

install: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) install-am

install-exec: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) install-exec-am

Cheers and thanks, GNU folks, for your incredible work.

--madmurphy

Reply via email to