image.mk: simplify device profile check, prepare for supporting selecting multiple...
[librecmc/librecmc.git] / include / image.mk
index 67879b37805e308ddfbe6f760245479fd0e17dcd..d0bf8fc3eacf0a3660e13a1b3f5597387b98ba15 100644 (file)
@@ -20,7 +20,6 @@ DTS_DIR:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts
 
 sanitize = $(call tolower,$(subst _,-,$(1)))
 
-SUBTARGET ?= default
 DIST_SANITIZED:=$(call sanitize,$(VERSION_DIST))
 EXTRA_NAME_SANITIZED=$(call sanitize,$(EXTRA_IMAGE_NAME))
 
@@ -60,9 +59,6 @@ SQUASHFSOPT := -b $(SQUASHFS_BLOCKSIZE)
 SQUASHFSOPT += -p '/dev d 755 0 0' -p '/dev/console c 600 0 0 5 1'
 SQUASHFSCOMP := gzip
 LZMA_XZ_OPTIONS := -Xpreset 9 -Xe -Xlc 0 -Xlp 2 -Xpb 2
-ifeq ($(CONFIG_SQUASHFS_LZMA),y)
-  SQUASHFSCOMP := lzma $(LZMA_XZ_OPTIONS)
-endif
 ifeq ($(CONFIG_SQUASHFS_XZ),y)
   ifneq ($(filter arm x86 powerpc sparc,$(LINUX_KARCH)),)
     BCJ_FILTER:=-Xbcj $(LINUX_KARCH)
@@ -77,6 +73,7 @@ fs-types-$(CONFIG_TARGET_ROOTFS_JFFS2) += $(addprefix jffs2-,$(JFFS2_BLOCKSIZE))
 fs-types-$(CONFIG_TARGET_ROOTFS_JFFS2_NAND) += $(addprefix jffs2-nand-,$(NAND_BLOCKSIZE))
 fs-types-$(CONFIG_TARGET_ROOTFS_EXT4FS) += ext4
 fs-types-$(CONFIG_TARGET_ROOTFS_ISO) += iso
+fs-types-$(CONFIG_TARGET_ROOTFS_UBIFS) += ubifs
 fs-subtypes-$(CONFIG_TARGET_ROOTFS_JFFS2) += $(addsuffix -raw,$(addprefix jffs2-,$(JFFS2_BLOCKSIZE)))
 fs-subtypes-$(CONFIG_TARGET_ROOTFS_CPIOGZ) += cpiogz
 fs-subtypes-$(CONFIG_TARGET_ROOTFS_TARGZ) += targz
@@ -474,9 +471,14 @@ define Device/Export
   $(1) : FILESYSTEM:=$(2)
 endef
 
+DEVICE_CHECK_PROFILE = $(CONFIG_TARGET_$(call target_conf,$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET)))_$(1))
+
 define Device/Check
-  _TARGET = $$(if $$(and $$(filter $(SUBTARGET),$$(SUBTARGETS)),$$(filter $(PROFILE),$$(PROFILES) DEVICE_$(1))),install,install-disabled)
-  _COMPILE_TARGET = $$(if $(if $(IB),,$(CONFIG_IB)$$(filter $(PROFILE),$$(PROFILES) DEVICE_$(1))),compile,compile-disabled)
+  _PROFILE_SET = $$(strip $$(foreach profile,$$(PROFILES) DEVICE_$(1),$$(call DEVICE_CHECK_PROFILE,$$(profile))))
+  _TARGET := $$(if $$(_PROFILE_SET),install,install-disabled)
+  ifndef IB
+    _COMPILE_TARGET := $$(if $(CONFIG_IB)$$(_PROFILE_SET),compile,compile-disabled)
+  endif
 endef
 
 ifndef IB
@@ -563,17 +565,15 @@ $(DEVICE_DESCRIPTION)
 
 endef
 
-DEVICE_PROFILE_CHECK=$(and $(DEVICE_TITLE),$(filter $(SUBTARGET),$(SUBTARGETS)))
-
 define Device/Dump
-$$(eval $$(if $$(DEVICE_PROFILE_CHECK),$$(info $$(call Device/DumpInfo,$(1)))))
+$$(eval $$(if $$(DEVICE_TITLE),$$(info $$(call Device/DumpInfo,$(1)))))
 endef
 
 define Device
   $(call Device/Init,$(1))
   $(call Device/Default,$(1))
-  $(call Device/Check,$(1))
   $(call Device/$(1),$(1))
+  $(call Device/Check,$(1))
   $(call Device/$(if $(DUMP),Dump,Build),$(1))
 
 endef