image.mk: initialize BOARD_NAME and IMAGES, add it to DEVICE_VARS
[openwrt/openwrt.git] / include / image.mk
index bb24ba2cf9f5c9dc5e86a26435c0b7ba79e4d5d1..43c144ad34270dd27e872d0b9f366a4f3648878e 100644 (file)
@@ -16,6 +16,10 @@ include $(INCLUDE_DIR)/image-legacy.mk
 override MAKE:=$(_SINGLE)$(SUBMAKE)
 override NO_TRACE_MAKE:=$(_SINGLE)$(NO_TRACE_MAKE)
 
+param_get = $(patsubst $(1)=%,%,$(filter $(1)=%,$(2)))
+param_mangle = $(subst $(space),_,$(strip $(1)))
+param_unmangle = $(subst _,$(space),$(1))
+
 KDIR=$(KERNEL_BUILD_DIR)
 KDIR_TMP=$(KDIR)/tmp
 DTS_DIR:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts
@@ -203,7 +207,7 @@ endif
 
 define Image/mkfs/ubifs
        $(STAGING_DIR_HOST)/bin/mkfs.ubifs \
-               $(UBIFS_OPTS) \
+               $(UBIFS_OPTS) $(call param_unmangle,$(call param_get,fs,$(1))) \
                $(if $(CONFIG_TARGET_UBIFS_FREE_SPACE_FIXUP),--space-fixup) \
                $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_NONE),--force-compr=none) \
                $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_LZO),--force-compr=lzo) \
@@ -256,7 +260,7 @@ define Image/Checksum
 endef
 
 $(KDIR)/root.%: kernel_prepare
-       $(Image/mkfs/$*)
+       $(call Image/mkfs/$(word 1,$(subst +,$(space),$*)),$(subst +,$(space),$*))
 
 define Device/InitProfile
   PROFILES := $(PROFILE)
@@ -272,6 +276,7 @@ define Device/Init
   KERNEL_SIZE:=
   CMDLINE:=
 
+  IMAGES :=
   IMAGE_PREFIX := $(IMG_PREFIX)-$(1)
   IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1)-$$(2)
   KERNEL_PREFIX = $$(IMAGE_PREFIX)
@@ -291,19 +296,25 @@ define Device/Init
   BLOCKSIZE :=
   PAGESIZE :=
   SUBPAGESIZE :=
+  VID_HDR_OFFSET :=
   UBINIZE_OPTS := -E 5
+  MKUBIFS_OPTS :=
+
+  FS_OPTIONS/ubifs = $$(MKUBIFS_OPTS)
 
   DEVICE_DTS :=
   DEVICE_DTS_DIR :=
 
+  BOARD_NAME :=
+
   FILESYSTEMS := $(TARGET_FILESYSTEMS)
 endef
 
 DEFAULT_DEVICE_VARS := \
   DEVICE_NAME KERNEL KERNEL_INITRAMFS KERNEL_INITRAMFS_IMAGE \
-  DEVICE_DTS DEVICE_DTS_DIR \
+  DEVICE_DTS DEVICE_DTS_DIR BOARD_NAME \
   UBOOTENV_IN_UBI KERNEL_IN_UBI \
-  BLOCKSIZE PAGESIZE SUBPAGESIZE \
+  BLOCKSIZE PAGESIZE SUBPAGESIZE VID_HDR_OFFSET \
   UBINIZE_OPTS
 
 define Device/ExportVar
@@ -380,7 +391,7 @@ endef
 define Device/Build/image
   $$(_TARGET): $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2))
   $(eval $(call Device/Export,$(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)),$(1)))
-  $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)): $(KDIR)/$$(KERNEL_IMAGE) $(KDIR)/root.$(1)
+  $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)): $(KDIR)/$$(KERNEL_IMAGE) $(KDIR)/root.$(1)$$(if $$(FS_OPTIONS/$(1)),+fs=$$(call param_mangle,$$(FS_OPTIONS/$(1))))
        @rm -f $$@
        [ -f $$(word 1,$$^) -a -f $$(word 2,$$^) ]
        $$(call concat_cmd,$(if $(IMAGE/$(2)/$(1)),$(IMAGE/$(2)/$(1)),$(IMAGE/$(2))))