From d89b5dec8582913f87ab523e31c274a1c2d343bf Mon Sep 17 00:00:00 2001 From: Frederic Pillon Date: Thu, 27 Jun 2024 13:42:31 +0200 Subject: [PATCH] chore: add stm32_svd support Signed-off-by: Frederic Pillon --- STM32/src/Makefile | 30 ++++++++++++++++++++-- STM32/src/templates/package_svd_index.json | 14 ++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 STM32/src/templates/package_svd_index.json diff --git a/STM32/src/Makefile b/STM32/src/Makefile index 02a756b..24e01b2 100644 --- a/STM32/src/Makefile +++ b/STM32/src/Makefile @@ -30,11 +30,17 @@ ifeq (postpackaging_tools,$(findstring $(MAKECMDGOALS),postpackaging_tools)) PACKAGE_MAC_SIZE := $(firstword $(shell wc -c "$(PACKAGE_MAC_FILENAME)")) endif +ifeq (postpackaging_svd,$(findstring $(MAKECMDGOALS),postpackaging_svd)) + PACKAGE_FILENAME=$(PACKAGE_NAME)-$(PACKAGE_VERSION).tar.bz2 + PACKAGE_CHKSUM := $(firstword $(shell shasum -a 256 "$(PACKAGE_FILENAME)")) + PACKAGE_SIZE := $(firstword $(shell wc -c "$(PACKAGE_FILENAME)")) +endif + # ----------------------------------------------------------------------------- -.PHONY: all clean tools print_info postpackaging +.PHONY: all clean core tools stm32_svd print_info postpackaging_core postpackaging_svd postpackaging_tools -all: core tools +all: core tools stm32_svd core: PACKAGE_NAME := STM32 core: PACKAGE_FOLDER := Arduino_Core_STM32 @@ -97,6 +103,19 @@ tools: clean print_info $(MAKE) PACKAGE_NAME=$(PACKAGE_NAME) PACKAGE_VERSION=$(PACKAGE_VERSION) --no-builtin-rules postpackaging_tools -C . @echo ---------------------------------------------------------- +stm32_svd: PACKAGE_NAME := STM32_SVD +stm32_svd: PACKAGE_FOLDER := stm32_svd +stm32_svd: PACKAGE_VERSION := $(shell git --git-dir=$(PACKAGE_FOLDER)/.git describe --tags) +stm32_svd: PACKAGE_DATE := $(firstword $(shell git --git-dir=$(PACKAGE_FOLDER)/.git log -1 --pretty=format:%ci)) +stm32_svd: clean print_info + @echo ---------------------------------------------------------- + @echo "Packaging module." + @tar --mtime='$(PACKAGE_DATE)' \ + --absolute-names \ + -cjf "$(PACKAGE_NAME)-$(PACKAGE_VERSION).tar.bz2" "$(PACKAGE_FOLDER)" + $(MAKE) PACKAGE_NAME=$(PACKAGE_NAME) PACKAGE_VERSION=$(PACKAGE_VERSION) --no-builtin-rules postpackaging_svd -C . + @echo ---------------------------------------------------------- + clean: @echo ---------------------------------------------------------- @echo Cleanup @@ -138,3 +157,10 @@ postpackaging_tools: @cat templates/package_tools_index.json | sed s/%%PACKAGENAME%%/$(PACKAGE_NAME)/ | sed s/%%VERSION%%/$(PACKAGE_VERSION)/ | sed s/%%FILENAMEWIN%%/$(PACKAGE_WIN_FILENAME)/ | sed s/%%CHECKSUMWIN%%/$(PACKAGE_WIN_CHKSUM)/ | sed s/%%SIZEWIN%%/$(PACKAGE_WIN_SIZE)/ | sed s/%%FILENAMEMAC%%/$(PACKAGE_MAC_FILENAME)/ | sed s/%%CHECKSUMMAC%%/$(PACKAGE_MAC_CHKSUM)/ | sed s/%%SIZEMAC%%/$(PACKAGE_MAC_SIZE)/ | sed s/%%FILENAMELINUX%%/$(PACKAGE_LINUX_FILENAME)/ | sed s/%%CHECKSUMLINUX%%/$(PACKAGE_LINUX_CHKSUM)/ | sed s/%%SIZELINUX%%/$(PACKAGE_LINUX_SIZE)/ > package_$(PACKAGE_NAME)_$(PACKAGE_VERSION)_index.json @mv $(PACKAGE_WIN_FILENAME) $(PACKAGE_LINUX_FILENAME) $(PACKAGE_MAC_FILENAME) $(TOOLS_PATH)/ @echo "package_$(PACKAGE_NAME)_$(PACKAGE_VERSION)_index.json created" + +postpackaging_svd: + @echo "PACKAGE_CHKSUM = $(PACKAGE_CHKSUM)" + @echo "PACKAGE_SIZE = $(PACKAGE_SIZE)" + @echo "PACKAGE_FILENAME = $(PACKAGE_FILENAME)" + @cat templates/package_svd_index.json | sed s/%%VERSION%%/$(PACKAGE_VERSION)/ | sed s/%%FILENAME%%/$(PACKAGE_FILENAME)/ | sed s/%%CHECKSUM%%/$(PACKAGE_CHKSUM)/ | sed s/%%SIZE%%/$(PACKAGE_SIZE)/ > package_$(PACKAGE_NAME)_$(PACKAGE_VERSION)_index.json + @echo "package_$(PACKAGE_NAME)_$(PACKAGE_VERSION)_index.json created" diff --git a/STM32/src/templates/package_svd_index.json b/STM32/src/templates/package_svd_index.json new file mode 100644 index 0000000..0b3fb3b --- /dev/null +++ b/STM32/src/templates/package_svd_index.json @@ -0,0 +1,14 @@ + { + "name": "STM32_SVD", + "version": "%%VERSION%%", + "systems": + [ + { + "host": "all", + "url": "https://github.com/stm32duino/stm32_svd/releases/download/%%VERSION%%/%%FILENAME%%", + "archiveFileName": "%%FILENAME%%", + "checksum": "SHA-256:%%CHECKSUM%%", + "size": "%%SIZE%%" + } + ] + }