image: fix append-image when building multiple profiles
[openwrt/openwrt.git] / Makefile
index fd705a37ad827cb72ec9a7f85d794a1d4e9f8158..e18bc18608a171158aa268a90553804fa088cc22 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,6 @@
-# Makefile for OpenWrt
+# SPDX-License-Identifier: GPL-2.0-only
 #
 # Copyright (C) 2007 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
 TOPDIR:=${CURDIR}
 LC_ALL:=C
@@ -62,6 +58,11 @@ dirclean: clean
        rm -rf $(TMP_DIR)
        $(MAKE) -C $(TOPDIR)/scripts/config clean
 
+cacheclean:
+ifneq ($(CONFIG_CCACHE),)
+       $(STAGING_DIR_HOST)/bin/ccache -C
+endif
+
 ifndef DUMP_TARGET_DB
 $(BUILD_DIR)/.prepared: Makefile
        @mkdir -p $$(dirname $@)
@@ -88,6 +89,14 @@ prereq: $(target/stamp-prereq) tmp/.prereq_packages
                exit 1; \
        fi
 
+$(BIN_DIR)/profiles.json: FORCE
+       $(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \
+               WORK_DIR=$(BUILD_DIR)/json_info_files \
+                       $(SCRIPT_DIR)/json_overview_image_info.py $@ \
+       )
+
+json_overview_image_info: $(BIN_DIR)/profiles.json
+
 checksum: FORCE
        $(call sha256sums,$(BIN_DIR),$(CONFIG_BUILDBOT))
 
@@ -109,7 +118,11 @@ prepare: .config $(tools/stamp-compile) $(toolchain/stamp-compile)
 
 world: prepare $(target/stamp-compile) $(package/stamp-compile) $(package/stamp-install) $(target/stamp-install) FORCE
        $(_SINGLE)$(SUBMAKE) -r package/index
+       $(_SINGLE)$(SUBMAKE) -r json_overview_image_info
        $(_SINGLE)$(SUBMAKE) -r checksum
+ifneq ($(CONFIG_CCACHE),)
+       $(STAGING_DIR_HOST)/bin/ccache -s
+endif
 
 .PHONY: clean dirclean prereq prepare world package/symlinks package/symlinks-install package/symlinks-clean