host-build: add support for a stampfile per installed binary
authorMichael Pratt <mcpratt@pm.me>
Tue, 30 May 2023 11:20:19 +0000 (07:20 -0400)
committerPetr Štetiar <ynezz@true.cz>
Mon, 5 Jun 2023 06:31:53 +0000 (08:31 +0200)
Some individual build items install a group of programs
instead of a program matching the name of the build item.

Add support for installing stampfiles for each of the
programs installed by that build item,
which will allow more control and awareness
of what is installed by the rest of the build system,
if, for example, prereq symlink checks are looking
for the same program which is built already.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
include/host-build.mk

index 7485f91e422ed13878843288d034afb9f0940182..dba6b819da6349837ba84edb58bd38deea22889f 100644 (file)
@@ -26,6 +26,7 @@ HOST_STAMP_CONFIGURED:=$(HOST_BUILD_DIR)/.configured
 HOST_STAMP_BUILT:=$(HOST_BUILD_DIR)/.built
 HOST_BUILD_PREFIX?=$(if $(IS_PACKAGE_BUILD),$(STAGING_DIR_HOSTPKG),$(STAGING_DIR_HOST))
 HOST_STAMP_INSTALLED:=$(HOST_BUILD_PREFIX)/stamp/.$(PKG_NAME)_installed
+HOST_STAMP_PROGRAMS:=$(foreach program,$(PKG_PROGRAMS),$(subst $(PKG_NAME),$(program),$(HOST_STAMP_INSTALLED)) )
 
 override MAKEFLAGS=
 
@@ -172,7 +173,7 @@ ifndef DUMP
                $(foreach hook,$(Hooks/HostInstall/Post),$(call $(hook))$(sep))
                mkdir -p $$(shell dirname $$@)
                touch $(HOST_STAMP_BUILT)
-               touch $$@
+               touch $$@ $(HOST_STAMP_PROGRAMS)
 
   $(call DefaultTargets,$(patsubst %,host-%,$(DEFAULT_SUBDIR_TARGETS)))
   ifndef STAMP_BUILT
@@ -187,7 +188,7 @@ ifndef DUMP
 
   $(_host_target)host-prepare: $(HOST_STAMP_PREPARED)
   $(_host_target)host-configure: $(HOST_STAMP_CONFIGURED)
-  $(_host_target)host-compile: $(HOST_STAMP_BUILT) $(HOST_STAMP_INSTALLED)
+  $(_host_target)host-compile: $(HOST_STAMP_BUILT) $(HOST_STAMP_INSTALLED) $(HOST_STAMP_PROGRAMS)
   host-install: host-compile
 
   host-clean-build: FORCE
@@ -196,7 +197,7 @@ ifndef DUMP
 
   host-clean: host-clean-build
        $(call Host/Clean)
-       rm -rf $(HOST_STAMP_INSTALLED)
+       rm -rf $(HOST_STAMP_INSTALLED) $(HOST_STAMP_PROGRAMS)
 
     ifneq ($(CONFIG_AUTOREMOVE),)
       host-compile: