From 31d65173f26ad8b0aebc3876b2a7fe60bac1d0a5 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Mon, 2 Nov 2015 00:58:34 +0100 Subject: [PATCH] build: clean up key generation and early preparation This will fix the early preparation happening much too often and also fixes early preparation after `make clean`. --- Makefile | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index a59f6c7f..d32073ab 100644 --- a/Makefile +++ b/Makefile @@ -207,6 +207,8 @@ gluon-tools: FORCE +$(GLUONMAKE_EARLY) package/lua/host/install package/usign/host/install +early_prepared_stamp := $(GLUON_BUILDDIR)/prepared + prepare-early: FORCE for dir in build_dir dl staging_dir; do \ mkdir -p $(GLUON_ORIGOPENWRTDIR)/$$dir; \ @@ -215,10 +217,20 @@ prepare-early: FORCE +$(GLUONMAKE_EARLY) feeds +$(GLUONMAKE_EARLY) gluon-tools -create-key: prepare-early + mkdir -p $$(dirname $(early_prepared_stamp)) + touch $(early_prepared_stamp) + +$(early_prepared_stamp): + +$(GLUONMAKE_EARLY) prepare-early + +$(GLUON_OPKG_KEY): $(early_prepared_stamp) FORCE [ -s $(GLUON_OPKG_KEY) -a -s $(GLUON_OPKG_KEY).pub ] || \ mkdir -p $$(dirname $(GLUON_OPKG_KEY)) && $(STAGING_DIR_HOST)/bin/usign -G -s $(GLUON_OPKG_KEY) -p $(GLUON_OPKG_KEY).pub -c "Gluon opkg key" +$(GLUON_OPKG_KEY).pub: $(GLUON_OPKG_KEY) + +create-key: $(GLUON_OPKG_KEY).pub + include $(GLUONDIR)/targets/targets.mk ifneq ($(GLUON_TARGET),) @@ -259,8 +271,9 @@ config: FORCE | sed -e 's/ /\n/g'; \ ) > $(BOARD_BUILDDIR)/config.tmp scripts/config/conf --defconfig=$(BOARD_BUILDDIR)/config.tmp Config.in + +$(NO_TRACE_MAKE) tools/prepare -prepare-target: create-key +prepare-target: $(GLUON_OPKG_KEY).pub rm $(GLUON_OPENWRTDIR)/tmp || true mkdir -p $(GLUON_OPENWRTDIR)/tmp @@ -271,10 +284,10 @@ prepare-target: create-key +$(GLUONMAKE) config touch $(target_prepared_stamp) -$(target_prepared_stamp): create-key +$(target_prepared_stamp): +$(GLUONMAKE_EARLY) prepare-target -maybe-prepare-target: $(target_prepared_stamp) +maybe-prepare-target: $(GLUON_OPKG_KEY).pub $(target_prepared_stamp) $(BUILD_DIR)/.prepared: Makefile @mkdir -p $$(dirname $@)