gen signature with make

generate signature only if it changed to avoid triggering regeneration of configs
This commit is contained in:
David Holdeman 2024-02-07 17:28:56 -06:00 committed by rusefillc
parent d77533768f
commit fe684febdf
2 changed files with 15 additions and 8 deletions

View File

@ -2,28 +2,31 @@
# file gen_signature.sh
SHORT_BOARD_NAME=$1
SHORT_BOARD_NAME=${1:-$SHORT_BOARD_NAME}
cd $(dirname "$0")
SIGNATURE_FILE_NAME=tunerstudio/generated/signature_${SHORT_BOARD_NAME}.txt
echo "Generating signature for ${SHORT_BOARD_NAME}"
# generate a unique signature
date=`TZ=Europe/London date +"%Y.%m.%d"`
echo "! Generated by gen_signature.sh" > ${SIGNATURE_FILE_NAME}
echo "! Generated by gen_signature.sh" > ${SIGNATURE_FILE_NAME}.temp
echo "! SIGNATURE_HASH is a built-in variable generated by config_definition-all.jar" >> ${SIGNATURE_FILE_NAME}
echo "! SIGNATURE_HASH is a built-in variable generated by config_definition-all.jar" >> ${SIGNATURE_FILE_NAME}.temp
# read the current git branch name
branchname=`git branch --show-current`
if [ "${branchname}" = "" ]; then
# custom board, empty value while executed within submodule
branchname="default"
echo "! Using default branch $branchname" >> ${SIGNATURE_FILE_NAME}
echo "! Using default branch $branchname" >> ${SIGNATURE_FILE_NAME}.temp
else
echo "! Current branch is: $branchname" >> ${SIGNATURE_FILE_NAME}
echo "! Current branch is: $branchname" >> ${SIGNATURE_FILE_NAME}.temp
fi
echo "#define TS_SIGNATURE \"rusEFI $branchname.$date.${SHORT_BOARD_NAME}.@@SIGNATURE_HASH@@\"" >> ${SIGNATURE_FILE_NAME}
echo "#define TS_SIGNATURE \"rusEFI $branchname.$date.${SHORT_BOARD_NAME}.@@SIGNATURE_HASH@@\"" >> ${SIGNATURE_FILE_NAME}.temp
cmp ${SIGNATURE_FILE_NAME}.temp ${SIGNATURE_FILE_NAME} || mv -f ${SIGNATURE_FILE_NAME}.temp ${SIGNATURE_FILE_NAME}
rm -f ${SIGNATURE_FILE_NAME}.temp
exit 0

View File

@ -1,4 +1,5 @@
INI_FILE = $(META_OUTPUT_ROOT_FOLDER)tunerstudio/generated/rusefi_$(SHORT_BOARD_NAME).ini
SIG_FILE = $(PROJECT_DIR)/tunerstudio/generated/signature_$(SHORT_BOARD_NAME).txt
CONFIG_FILES = \
$(PROJECT_DIR)/$(INI_FILE) \
@ -12,11 +13,14 @@ CONFIG_FILES = \
.FORCE:
$(ACOBJS): $(CONFIG_FILES)
$(TCOBJS): $(CONFIG_FILES)
$(SIG_FILE): .FORCE
bash $(PROJECT_DIR)/gen_signature.sh $(SHORT_BOARD_NAME)
$(CONFIG_FILES): .config-sentinel ;
.config-sentinel: .FORCE
.config-sentinel: $(SIG_FILE) .FORCE
ifneq (,$(CUSTOM_GEN_CONFIG))
bash $(PROJECT_DIR)/$(BOARD_DIR)/$(CUSTOM_GEN_CONFIG)
else