build: support adding version code to file names (FS#323)

Now that the VERSION_NUMBER variable holds the human friendly name and not
the commit ID anymore, we need to support adding the revision ID as well.

Introduce a new config variable CONFIG_VERSION_CODE_FILENAMES which, if set,
causes the resulting file names to contain a commit ID designation as printed
by scripts/getver.sh.

Also sanitize the input variables to ensure that the resulting strings are
lowercased and no not contain spaces.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2016-12-05 16:44:13 +01:00
parent ee5a6c1041
commit 9791fb2ac2
2 changed files with 13 additions and 2 deletions

View file

@ -40,9 +40,11 @@ KDIR=$(KERNEL_BUILD_DIR)
KDIR_TMP=$(KDIR)/tmp KDIR_TMP=$(KDIR)/tmp
DTS_DIR:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts DTS_DIR:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts
EXTRA_NAME_SANITIZED=$(call sanitize,$(EXTRA_IMAGE_NAME)) IMG_PREFIX_EXTRA:=$(if $(EXTRA_IMAGE_NAME),$(call sanitize,$(EXTRA_IMAGE_NAME))-)
IMG_PREFIX_VERNUM:=$(if $(CONFIG_VERSION_FILENAMES),$(call sanitize,$(VERSION_NUMBER))-)
IMG_PREFIX_VERCODE:=$(if $(CONFIG_VERSION_CODE_FILENAMES),$(call sanitize,$(VERSION_CODE))-)
IMG_PREFIX:=$(VERSION_DIST_SANITIZED)-$(if $(CONFIG_VERSION_FILENAMES),$(VERSION_NUMBER)-)$(if $(EXTRA_NAME_SANITIZED),$(EXTRA_NAME_SANITIZED)-)$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET)) IMG_PREFIX:=$(VERSION_DIST_SANITIZED)-$(IMG_PREFIX_VERNUM)$(IMG_PREFIX_VERCODE)$(IMG_PREFIX_EXTRA)$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))
MKFS_DEVTABLE_OPT := -D $(INCLUDE_DIR)/device_table.txt MKFS_DEVTABLE_OPT := -D $(INCLUDE_DIR)/device_table.txt

View file

@ -258,6 +258,15 @@ if VERSIONOPT
help help
Enable this to include the version number in firmware image, SDK- Enable this to include the version number in firmware image, SDK-
and Image Builder archive file names and Image Builder archive file names
config VERSION_CODE_FILENAMES
bool
prompt "Revision code in filenames"
default y
help
Enable this to include the revision identifier or the configured
version code into the firmware image, SDK- and Image Builder archive
file names
endif endif