tools/libtool: add maintainer-clean to clean target
authorMichael Pratt <mcpratt@pm.me>
Mon, 23 Sep 2024 03:38:21 +0000 (23:38 -0400)
committerRobert Marko <robimarko@gmail.com>
Sat, 26 Jul 2025 12:38:08 +0000 (14:38 +0200)
Use the clean recipe during build, so that files already
generated by the bootstrapping within the release are removed
before the bootstrap script is run again.

Override an automake variable "am__CONFIG_DISTCLEAN_FILES"
and related variables for their dependencies
in order to prevent removing config.status and other configure files
so that configure stage does not need to be ran twice.

Automake with modified rules must be ran
in order to generate a Makefile that does not delete itself.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
tools/libtool/Makefile

index 761f7dc06ba2dbcdc64ab43335b5d27acc892528..4992fa771030b7aa52e79a7bfd3ac1369ea75e08 100644 (file)
@@ -23,6 +23,10 @@ export GNULIB_SRCDIR:=$(HOST_GNULIB_SRCDIR)
 HOST_CONFIGURE_VARS += \
        lt_cv_sys_dlsearch_path=""
 
+HOST_MAKE_FLAGS += \
+       am__CONFIG_DISTCLEAN_FILES= \
+       CONFIG_STATUS_DEPENDENCIES=
+
 define Host/Bootstrap
        ( \
                cd $(HOST_BUILD_DIR); \
@@ -45,6 +49,7 @@ endef
 define Host/Configure
        $(if $(QUILT),$(call Host/Bootstrap))
        $(call Host/Configure/Default)
+       $(call Host/Uninstall)
 endef
 
 define Host/Install
@@ -54,6 +59,7 @@ endef
 
 define Host/Uninstall
        -$(call Host/Compile/Default,uninstall)
+       -$(call Host/Compile/Default,maintainer-clean) # Clean bootstrap files from the release
        (cd $(STAGING_DIR_HOST)/share/aclocal/ && rm -f libtool.m4 ltdl.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4)
 endef