image: let mksquashfs4 use all processors
[openwrt/staging/stintel.git] / include / image.mk
index d93ce7f233d23973bb86e2316bfeb9f54637a901..35a5e291c68d480a390ad1d42a653c102afd378f 100644 (file)
@@ -75,6 +75,7 @@ JFFS2OPTS += $(MKFS_DEVTABLE_OPT)
 SQUASHFS_BLOCKSIZE := $(CONFIG_TARGET_SQUASHFS_BLOCK_SIZE)k
 SQUASHFSOPT := -b $(SQUASHFS_BLOCKSIZE)
 SQUASHFSOPT += -p '/dev d 755 0 0' -p '/dev/console c 600 0 0 5 1'
+SQUASHFSOPT += $(if $(CONFIG_SELINUX),-xattrs,-no-xattrs)
 SQUASHFSCOMP := gzip
 LZMA_XZ_OPTIONS := -Xpreset 9 -Xe -Xlc 0 -Xlp 2 -Xpb 2
 ifeq ($(CONFIG_SQUASHFS_XZ),y)
@@ -183,6 +184,7 @@ endef
 # $(4) extra DTC flags
 define Image/BuildDTB
        $(TARGET_CROSS)cpp -nostdinc -x assembler-with-cpp \
+               $(DTS_CPPFLAGS) \
                -I$(DTS_DIR) \
                -I$(DTS_DIR)/include \
                -I$(LINUX_DIR)/include/ \
@@ -228,8 +230,7 @@ $(eval $(foreach S,$(NAND_BLOCKSIZE),$(call Image/mkfs/jffs2-nand/template,$(S))
 define Image/mkfs/squashfs-common
        $(STAGING_DIR_HOST)/bin/mksquashfs4 $(call mkfs_target_dir,$(1)) $@ \
                -nopad -noappend -root-owned \
-               -comp $(SQUASHFSCOMP) $(SQUASHFSOPT) \
-               -processors 1
+               -comp $(SQUASHFSCOMP) $(SQUASHFSOPT)
 endef
 
 ifeq ($(CONFIG_TARGET_ROOTFS_SECURITY_LABELS),y)
@@ -393,6 +394,7 @@ define Device/Init
 
   DEVICE_DTS :=
   DEVICE_DTS_CONFIG :=
+  DEVICE_DTS_DELIMITER :=
   DEVICE_DTS_DIR :=
   DEVICE_DTS_OVERLAY :=
   DEVICE_FDT_NUM :=
@@ -418,11 +420,11 @@ DEFAULT_DEVICE_VARS := \
   DEVICE_NAME KERNEL KERNEL_INITRAMFS KERNEL_INITRAMFS_IMAGE KERNEL_SIZE \
   CMDLINE UBOOTENV_IN_UBI KERNEL_IN_UBI BLOCKSIZE PAGESIZE SUBPAGESIZE \
   VID_HDR_OFFSET UBINIZE_OPTS UBINIZE_PARTS MKUBIFS_OPTS DEVICE_DTS \
-  DEVICE_DTS_CONFIG DEVICE_DTS_DIR DEVICE_DTS_OVERLAY DEVICE_FDT_NUM \
-  DEVICE_IMG_PREFIX SOC BOARD_NAME UIMAGE_MAGIC UIMAGE_NAME \
+  DEVICE_DTS_CONFIG DEVICE_DTS_DELIMITER DEVICE_DTS_DIR DEVICE_DTS_OVERLAY \
+  DEVICE_FDT_NUM DEVICE_IMG_PREFIX SOC BOARD_NAME UIMAGE_MAGIC UIMAGE_NAME \
   SUPPORTED_DEVICES IMAGE_METADATA KERNEL_ENTRY KERNEL_LOADADDR \
   UBOOT_PATH IMAGE_SIZE \
-  DEVICE_COMPAT_VERSION DEVICE_COMPAT_MESSAGE \
+  DEVICE_PACKAGES DEVICE_COMPAT_VERSION DEVICE_COMPAT_MESSAGE \
   DEVICE_VENDOR DEVICE_MODEL DEVICE_VARIANT \
   DEVICE_ALT0_VENDOR DEVICE_ALT0_MODEL DEVICE_ALT0_VARIANT \
   DEVICE_ALT1_VENDOR DEVICE_ALT1_MODEL DEVICE_ALT1_VARIANT \
@@ -478,7 +480,7 @@ define Device/Build/initramfs
          $$(if $$(CONFIG_JSON_OVERVIEW_IMAGE_INFO), $(BUILD_DIR)/json_info_files/$$(KERNEL_INITRAMFS_IMAGE).json,))
 
   $(KDIR)/$$(KERNEL_INITRAMFS_NAME):: image_prepare
-  $(1)-images: $(BIN_DIR)/$$(KERNEL_INITRAMFS_IMAGE)
+  $(1)-images: $$(if $$(KERNEL_INITRAMFS),$(BIN_DIR)/$$(KERNEL_INITRAMFS_IMAGE))
   $(BIN_DIR)/$$(KERNEL_INITRAMFS_IMAGE): $(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE)
        cp $$^ $$@
 
@@ -493,9 +495,9 @@ define Device/Build/initramfs
        DEVICE_ID="$(1)" \
        BIN_DIR="$(BIN_DIR)" \
        SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \
-       DEVICE_IMG_NAME="$$(notdir $$^)" \
-       IMAGE_TYPE="kernel" \
-       IMAGE_FILESYSTEM="initramfs" \
+       FILE_NAME="$$(notdir $$^)" \
+       FILE_TYPE="kernel" \
+       FILE_FILESYSTEM="initramfs" \
        DEVICE_IMG_PREFIX="$$(DEVICE_IMG_PREFIX)" \
        DEVICE_VENDOR="$$(DEVICE_VENDOR)" \
        DEVICE_MODEL="$$(DEVICE_MODEL)" \
@@ -600,9 +602,9 @@ define Device/Build/image
        DEVICE_ID="$(DEVICE_NAME)" \
        BIN_DIR="$(BIN_DIR)" \
        SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \
-       DEVICE_IMG_NAME="$(DEVICE_IMG_NAME)" \
-       IMAGE_TYPE=$(word 1,$(subst ., ,$(2))) \
-       IMAGE_FILESYSTEM="$(1)" \
+       FILE_NAME="$(DEVICE_IMG_NAME)" \
+       FILE_TYPE=$(word 1,$(subst ., ,$(2))) \
+       FILE_FILESYSTEM="$(1)" \
        DEVICE_IMG_PREFIX="$(DEVICE_IMG_PREFIX)" \
        DEVICE_VENDOR="$(DEVICE_VENDOR)" \
        DEVICE_MODEL="$(DEVICE_MODEL)" \
@@ -628,7 +630,9 @@ define Device/Build/image
 endef
 
 define Device/Build/artifact
-  $$(_TARGET): $(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1)
+  $$(_TARGET): $(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \
+         $(BUILD_DIR)/json_info_files/$(DEVICE_IMG_PREFIX)-$(1).json, \
+         $(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1))
   $(eval $(call Device/Export,$(KDIR)/tmp/$(DEVICE_IMG_PREFIX)-$(1)))
   $(KDIR)/tmp/$(DEVICE_IMG_PREFIX)-$(1): $$(KDIR_KERNEL_IMAGE) $(2)-images
        @rm -f $$@
@@ -639,6 +643,35 @@ define Device/Build/artifact
   $(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1): $(KDIR)/tmp/$(DEVICE_IMG_PREFIX)-$(1)
        cp $$^ $$@
 
+  $(BUILD_DIR)/json_info_files/$(DEVICE_IMG_PREFIX)-$(1).json: $(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1)
+       @mkdir -p $$(shell dirname $$@)
+       DEVICE_ID="$(DEVICE_NAME)" \
+       BIN_DIR="$(BIN_DIR)" \
+       SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \
+       FILE_NAME="$(DEVICE_IMG_PREFIX)-$(1)" \
+       FILE_TYPE="$(1)" \
+       DEVICE_IMG_PREFIX="$(DEVICE_IMG_PREFIX)" \
+       DEVICE_VENDOR="$(DEVICE_VENDOR)" \
+       DEVICE_MODEL="$(DEVICE_MODEL)" \
+       DEVICE_VARIANT="$(DEVICE_VARIANT)" \
+       DEVICE_ALT0_VENDOR="$(DEVICE_ALT0_VENDOR)" \
+       DEVICE_ALT0_MODEL="$(DEVICE_ALT0_MODEL)" \
+       DEVICE_ALT0_VARIANT="$(DEVICE_ALT0_VARIANT)" \
+       DEVICE_ALT1_VENDOR="$(DEVICE_ALT1_VENDOR)" \
+       DEVICE_ALT1_MODEL="$(DEVICE_ALT1_MODEL)" \
+       DEVICE_ALT1_VARIANT="$(DEVICE_ALT1_VARIANT)" \
+       DEVICE_ALT2_VENDOR="$(DEVICE_ALT2_VENDOR)" \
+       DEVICE_ALT2_MODEL="$(DEVICE_ALT2_MODEL)" \
+       DEVICE_ALT2_VARIANT="$(DEVICE_ALT2_VARIANT)" \
+       DEVICE_TITLE="$(DEVICE_TITLE)" \
+       DEVICE_PACKAGES="$(DEVICE_PACKAGES)" \
+       TARGET="$(BOARD)" \
+       SUBTARGET="$(if $(SUBTARGET),$(SUBTARGET),generic)" \
+       VERSION_NUMBER="$(VERSION_NUMBER)" \
+       VERSION_CODE="$(VERSION_CODE)" \
+       SUPPORTED_DEVICES="$(SUPPORTED_DEVICES)" \
+       $(TOPDIR)/scripts/json_add_image_info.py $$@
+
 endef
 
 define Device/Build