tools/libtool: add maintainer-clean to clean target
authorMichael Pratt <[email protected]>
Mon, 23 Sep 2024 03:38:21 +0000 (23:38 -0400)
committerRobert Marko <[email protected]>
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 <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <[email protected]>
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