optimise makefile logging

This commit is contained in:
2025-09-08 16:54:11 +08:00
parent bd1988a695
commit e2ed2af601
2 changed files with 11 additions and 6 deletions

View File

@@ -8,6 +8,11 @@ default: all
CONTAINER_CMD ?= docker
CONTAINER_IMAGE_TAG ?= imagebuilder-openeuler-24.03-lts
LOG_LEVEL ?= INFO
ECHOCTL := @
ifeq ($(LOG_LEVEL),DEBUG)
ECHOCTL :=
endif
define stack_include
#$$(info Makefile "$$(lastword $$(MAKEFILE_STACK))" includes "$1")

View File

@@ -95,9 +95,9 @@ $$(DISTRO_NAME)_$$(RELEASE_NAME)_$$(RECEIPE_NAME)_DEPS_FULL := $$(foreach dep,$$
define GENERATE_SYNC_TARGET
$(STAGING_DIR)/$$(DISTRO_NAME)/$$(RELEASE_NAME)/receipes/$$(RECEIPE_NAME): $$$$(foreach dep,$$$$($$(DISTRO_NAME)_$$(RELEASE_NAME)_$$(RECEIPE_NAME)_DEPS_FULL),$$$$(shell find -L $$$$(dep) -type f,d | tr '\n' ' '))
$$$$(dir_guard)
rm -rf "$$$$@"
$(ECHOCTL)rm -rf "$$$$@"
@# Not preserving modification time, aka -t
rsync -rLpgoD --exclude receipe.mk $$($$(DISTRO_NAME)_$$(RELEASE_NAME)_$$(RECEIPE_NAME)_DEPS_FULL) $$$$@
$(ECHOCTL)rsync -rLpgoD --exclude receipe.mk $$($$(DISTRO_NAME)_$$(RELEASE_NAME)_$$(RECEIPE_NAME)_DEPS_FULL) $$$$@
endef
# Introduce one level of indirection to evaluate receipes ahead of time
$$(eval $$(GENERATE_SYNC_TARGET))
@@ -108,7 +108,7 @@ $$(DISTRO_NAME)-$$(RELEASE_NAME)-$$(RECEIPE_NAME)-rootfs: $$($$(DISTRO_NAME)_$$(
define GENERATE_TAR_TARGET
$$($$(DISTRO_NAME)_$$(RELEASE_NAME)_$$(RECEIPE_NAME)_ARTIFACT): $(STAGING_DIR)/$$(DISTRO_NAME)/$$(RELEASE_NAME)/receipes/$$(RECEIPE_NAME)
$$$$(dir_guard)
$(CONTAINER_CMD) run --rm \
$(ECHOCTL)$(CONTAINER_CMD) run --rm \
-v $(ROOT_DIR)/tools:/image-builder/tools:ro \
-v $$$$<:/image-builder/receipe:ro \
-v $$$$(dir $$$$@):/image-builder/output \
@@ -181,7 +181,7 @@ $$(DISTRO_NAME)-$$(RELEASE_NAME)-$$(1)-$$(DEVICE_NAME)_PROFILES += $$(PROFILE_NA
.PHONY: $$(DISTRO_NAME)-$$(RELEASE_NAME)-$$(1)-$$(DEVICE_NAME)-$$(PROFILE_NAME)
$$(DISTRO_NAME)-$$(RELEASE_NAME)-$$(1)-$$(DEVICE_NAME)-$$(PROFILE_NAME): $(STAGING_DIR)/$$(DISTRO_NAME)/$$(RELEASE_NAME)/bsp/$$(DEVICE_NAME)/$$(PROFILE_NAME)/$$(1) $$($$(DISTRO_NAME)_$$(RELEASE_NAME)_$$(1)_ARTIFACT)
@mkdir -p $(DIST_DIR)/$$(DISTRO_NAME)/$$(RELEASE_NAME)/$$(DEVICE_NAME)
$(CONTAINER_CMD) run --privileged --rm \
$(ECHOCTL)$(CONTAINER_CMD) run --privileged --rm \
-v $(ROOT_DIR)/tools:/image-builder/tools:ro \
-v $$$$<:/image-builder/receipe:ro \
-v $$($$(DISTRO_NAME)_$$(RELEASE_NAME)_$$(1)_ARTIFACT):/image-builder/$$(notdir $$($$(DISTRO_NAME)_$$(RELEASE_NAME)_$$(1)_ARTIFACT)):ro \
@@ -198,9 +198,9 @@ endif
.PHONY: $(STAGING_DIR)/$$(DISTRO_NAME)/$$(RELEASE_NAME)/bsp/$$(DEVICE_NAME)/$$(PROFILE_NAME)/$$(1)
$(STAGING_DIR)/$$(DISTRO_NAME)/$$(RELEASE_NAME)/bsp/$$(DEVICE_NAME)/$$(PROFILE_NAME)/$$(1): $$$$(BSP_PROFILE_DIR) $$$$(BSP_PROFILE_EXTENSION_DIR)
$$$$(dir_guard)
rm -rf "$$$$@"
$(ECHOCTL)rm -rf "$$$$@"
@# Not preserving modification time, aka -t
rsync -rLpgoD --exclude profile.mk --exclude extensions $$$$(foreach dep,$$$$+,$$$$(dep)/) $$$$@
$(ECHOCTL)rsync -rLpgoD --exclude profile.mk --exclude extensions $$$$(foreach dep,$$$$+,$$$$(dep)/) $$$$@
endef
$$(foreach receipe,$$($$(DISTRO_NAME)_$$(RELEASE_NAME)_RECEIPES),$$(eval $$(call GENERATE_RECEIPE_PROFILE_MATRIX,$$(receipe))))