summaryrefslogtreecommitdiffstats
path: root/include/image.mk
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2016-05-23 17:58:51 +0200
committerFelix Fietkau <nbd@nbd.name>2016-06-07 08:58:41 +0200
commit26c771452cd8d13f3b07eac1e674bd7c56398110 (patch)
treef726ba95eb84f855f88a42ae07081420991ea3ba /include/image.mk
parentec86d2a605743eab172badf0b98406b8fa11e66b (diff)
downloadmaster-31e0f0ae-26c771452cd8d13f3b07eac1e674bd7c56398110.tar.gz
master-31e0f0ae-26c771452cd8d13f3b07eac1e674bd7c56398110.tar.bz2
master-31e0f0ae-26c771452cd8d13f3b07eac1e674bd7c56398110.zip
image.mk: add LegacyDevice wrapper to allow legacy image building code to be used for device profiles
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'include/image.mk')
-rw-r--r--include/image.mk63
1 files changed, 58 insertions, 5 deletions
diff --git a/include/image.mk b/include/image.mk
index 4e78fc9042..6878036135 100644
--- a/include/image.mk
+++ b/include/image.mk
@@ -294,12 +294,15 @@ define BuildImage/mkfs
endef
-define Device/Init
+define Device/InitProfile
PROFILES := $(PROFILE)
- DEVICE_NAME := $(1)
DEVICE_TITLE :=
DEVICE_PACKAGES :=
DEVICE_DESCRIPTION = Build firmware images for $$(DEVICE_TITLE)
+endef
+
+define Device/Init
+ DEVICE_NAME := $(1)
KERNEL:=
KERNEL_INITRAMFS = $$(KERNEL)
KERNEL_SIZE:=
@@ -339,7 +342,7 @@ endif
define Device/Check
_PROFILE_SET = $$(strip $$(foreach profile,$$(PROFILES) DEVICE_$(1),$$(call DEVICE_CHECK_PROFILE,$$(profile))))
- _TARGET := $$(if $$(_PROFILE_SET),install,install-disabled)
+ _TARGET := $$(if $$(_PROFILE_SET),install-images,install-disabled)
ifndef IB
_COMPILE_TARGET := $$(if $(CONFIG_IB)$$(_PROFILE_SET),compile,compile-disabled)
endif
@@ -432,8 +435,10 @@ endef
define Device/Dump
$$(eval $$(if $$(DEVICE_TITLE),$$(info $$(call Device/DumpInfo,$(1)))))
endef
+LegacyDevice/Dump = $(Device/Dump)
define Device
+ $(call Device/InitProfile,$(1))
$(call Device/Init,$(1))
$(call Device/Default,$(1))
$(call Device/$(1),$(1))
@@ -442,6 +447,42 @@ define Device
endef
+define LegacyDevice/Check
+ _PROFILE_SET = $$(strip $$(foreach profile,$$(PROFILES) DEVICE_$(1),$$(call DEVICE_CHECK_PROFILE,$$(profile))))
+ _TARGET_PREPARE := $$(if $$(_PROFILE_SET),legacy-images-prepare,prepare-disabled)
+ _TARGET := $$(if $$(_PROFILE_SET),legacy-images,install-disabled)
+ $$(if $$(_PROFILE_SET),install: legacy-images-make)
+ ifndef IB
+ $$(if $$(_PROFILE_SET),compile: legacy-images-prepare-make)
+ endif
+endef
+
+define LegacyDevice/Build
+ $$(_TARGET): legacy-image-$(1)
+ $$(_TARGET_PREPARE): legacy-image-prepare-$(1)
+ .PHONY: legacy-image-prepare-$(1) legacy-image-$(1)
+
+ legacy-image-prepare-$(1):
+ $(foreach fs,$(TARGET_FILESYSTEMS),
+ $$(call Image/Prepare/Profile,$(1),$(fs))
+ )
+
+ legacy-image-$(1):
+ $(foreach fs,$(TARGET_FILESYSTEMS),
+ $$(call Image/Build/Profile,$(1),$(fs))
+ )
+
+endef
+
+define LegacyDevice
+ $(call Device/InitProfile,$(1))
+ $(call Device/Default,$(1))
+ $(call LegacyDevice/Default,$(1))
+ $(call LegacyDevice/$(1),$(1))
+ $(call LegacyDevice/Check,$(1))
+ $(call LegacyDevice/$(if $(DUMP),Dump,Build),$(1))
+endef
+
define BuildImage
ifneq ($(DUMP),)
@@ -454,10 +495,12 @@ define BuildImage
prepare:
compile:
clean:
+ legacy-images-prepare:
+ legacy-images:
image_prepare:
ifeq ($(IB),)
- .PHONY: download prepare compile clean image_prepare mkfs_prepare kernel_prepare install
+ .PHONY: download prepare compile clean image_prepare mkfs_prepare kernel_prepare install install-images
compile:
$(call Build/Compile)
@@ -467,6 +510,10 @@ define BuildImage
image_prepare: compile
mkdir -p $(BIN_DIR) $(KDIR)/tmp
$(call Image/Prepare)
+
+ legacy-images-prepare-make: image_prepare
+ $(MAKE) legacy-images-prepare
+
else
image_prepare:
mkdir -p $(BIN_DIR) $(KDIR)/tmp
@@ -481,13 +528,19 @@ define BuildImage
$(call Image/InstallKernel)
$(foreach device,$(TARGET_DEVICES),$(call Device,$(device)))
+ $(foreach device,$(LEGACY_DEVICES),$(call LegacyDevice,$(device)))
$(foreach fs,$(TARGET_FILESYSTEMS) $(fs-subtypes-y),$(call BuildImage/mkfs,$(fs)))
- install: kernel_prepare
+ install-images: kernel_prepare
$(foreach fs,$(TARGET_FILESYSTEMS),
$(call Image/Build,$(fs))
)
$(call Image/mkfs/ubifs)
+
+ legacy-images-make: install-images
+ $(MAKE) legacy-images
+
+ install: install-images
$(call Image/Checksum,md5sum --binary,md5sums)
$(call Image/Checksum,openssl dgst -sha256,sha256sums)