build: simplify gnu-getopt search
[openwrt/staging/wigyori.git] / include / image.mk
index 25df29ddf38d28f2a948a1baba49e37104b4d56c..fd04d4020bf6ca1d87f9159bf680d0a7d233bccd 100644 (file)
@@ -30,7 +30,7 @@ param_get_default = $(firstword $(call param_get,$(1),$(2)) $(3))
 param_mangle = $(subst $(space),_,$(strip $(1)))
 param_unmangle = $(subst _,$(space),$(1))
 
-mkfs_packages_id = $(shell echo $(sort $(1)) | mkhash md5 | head -c 8)
+mkfs_packages_id = $(shell echo $(sort $(1)) | mkhash md5 | cut -b1-8)
 mkfs_target_dir = $(if $(call param_get,pkg,$(1)),$(KDIR)/target-dir-$(call param_get,pkg,$(1)),$(TARGET_DIR))
 
 KDIR=$(KERNEL_BUILD_DIR)
@@ -44,6 +44,7 @@ IMG_PREFIX_VERCODE:=$(if $(CONFIG_VERSION_CODE_FILENAMES),$(call sanitize,$(VERS
 IMG_PREFIX:=$(VERSION_DIST_SANITIZED)-$(IMG_PREFIX_VERNUM)$(IMG_PREFIX_VERCODE)$(IMG_PREFIX_EXTRA)$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))
 IMG_ROOTFS:=$(IMG_PREFIX)-rootfs
 IMG_COMBINED:=$(IMG_PREFIX)-combined
+IMG_PART_SIGNATURE:=$(shell echo $(SOURCE_DATE_EPOCH)$(LINUX_VERMAGIC) | mkhash md5 | cut -b1-8)
 
 MKFS_DEVTABLE_OPT := -D $(INCLUDE_DIR)/device_table.txt
 
@@ -106,7 +107,7 @@ define add_jffs2_mark
        echo -ne '\xde\xad\xc0\xde' >> $(1)
 endef
 
-PROFILE_SANITIZED := $(call sanitize,$(subst DEVICE_,,$(PROFILE)))
+PROFILE_SANITIZED := $(call tolower,$(subst DEVICE_,,$(subst $(space),-,$(PROFILE))))
 
 define split_args
 $(foreach data, \
@@ -156,18 +157,13 @@ endif
 
 
 # Disable noisy checks by default as in upstream
-ifeq ($(strip $(call kernel_patchver_ge,4.7.0)),1)
-  DTC_FLAGS += -Wno-unit_address_vs_reg
-endif
-ifeq ($(strip $(call kernel_patchver_ge,4.12.0)),1)
-  DTC_FLAGS += \
-       -Wno-unit_address_vs_reg \
-       -Wno-simple_bus_reg \
-       -Wno-unit_address_format \
-       -Wno-pci_bridge \
-       -Wno-pci_device_bus_num \
-       -Wno-pci_device_reg
-endif
+DTC_FLAGS += \
+  -Wno-unit_address_vs_reg \
+  -Wno-simple_bus_reg \
+  -Wno-unit_address_format \
+  -Wno-pci_bridge \
+  -Wno-pci_device_bus_num \
+  -Wno-pci_device_reg
 ifeq ($(strip $(call kernel_patchver_ge,4.17.0)),1)
   DTC_FLAGS += \
        -Wno-avoid_unnecessary_addr_size \
@@ -287,7 +283,7 @@ define Image/mkfs/ubifs
 endef
 
 define Image/mkfs/ext4
-       $(STAGING_DIR_HOST)/bin/make_ext4fs \
+       $(STAGING_DIR_HOST)/bin/make_ext4fs -L rootfs \
                -l $(ROOTFS_PARTSIZE) -b $(CONFIG_TARGET_EXT4_BLOCKSIZE) \
                $(if $(CONFIG_TARGET_EXT4_RESERVED_PCT),-m $(CONFIG_TARGET_EXT4_RESERVED_PCT)) \
                $(if $(CONFIG_TARGET_EXT4_JOURNAL),,-J) \
@@ -419,6 +415,7 @@ define Device/Init
   DEVICE_DTS :=
   DEVICE_DTS_CONFIG :=
   DEVICE_DTS_DIR :=
+  SOC :=
 
   BOARD_NAME :=
   UIMAGE_NAME :=
@@ -436,7 +433,7 @@ 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 BOARD_NAME UIMAGE_NAME SUPPORTED_DEVICES \
+  DEVICE_DTS_CONFIG DEVICE_DTS_DIR SOC BOARD_NAME UIMAGE_NAME SUPPORTED_DEVICES \
   IMAGE_METADATA KERNEL_ENTRY KERNEL_LOADADDR UBOOT_PATH DEVICE_VENDOR \
   DEVICE_MODEL DEVICE_VARIANT \
   DEVICE_ALT0_VENDOR DEVICE_ALT0_MODEL DEVICE_ALT0_VARIANT \
@@ -571,6 +568,32 @@ define Device/Build/image
 
   $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)): $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2))
        cp $$^ $$@
+       $(if $(CONFIG_JSON_ADD_IMAGE_INFO), \
+               DEVICE_ID="$(DEVICE_NAME)" \
+               BIN_DIR="$(BIN_DIR)" \
+               IMAGE_NAME="$(IMAGE_NAME)" \
+               IMAGE_TYPE=$(word 1,$(subst ., ,$(2))) \
+               IMAGE_PREFIX="$(IMAGE_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)" \
+               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
 
@@ -589,6 +612,8 @@ define Device/Build/artifact
 endef
 
 define Device/Build
+  $(shell rm -f $(BIN_DIR)/$(IMG_PREFIX)-$(1).json)
+
   $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(call Device/Build/initramfs,$(1)))
   $(call Device/Build/kernel,$(1))