diff --git a/.travis.yml b/.travis.yml index 72ff11a..c3384a8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,9 +5,11 @@ addons: apt: sources: - ubuntu-toolchain-r-test + - team-gcc-arm-embedded/ppa packages: - gcc-7 - cppcheck + - gcc-arm-embedded script: - export CC=gcc-7 - make test diff --git a/Makefile b/Makefile index 99beef4..47461c6 100644 --- a/Makefile +++ b/Makefile @@ -33,7 +33,7 @@ CFLAGS += -DAES256=1 -DAPP_CONFIG=\"app.h\" name = main -.PHONY: all +.PHONY: all $(LIBCBOR) all: main tinycbor/Makefile crypto/tiny-AES-c/aes.c: @@ -42,9 +42,17 @@ tinycbor/Makefile crypto/tiny-AES-c/aes.c: .PHONY: cbor cbor: $(LIBCBOR) -$(LIBCBOR): tinycbor/Makefile +$(LIBCBOR): cd tinycbor/ && $(MAKE) clean && $(MAKE) -j8 +test: env3 + $(MAKE) clean + $(MAKE) -C . main + $(MAKE) clean + cd ./targets/stm32l432; $(MAKE) test PREFIX=$(PREFIX) VENV=". ../../env3/bin/activate;" + $(MAKE) clean + $(MAKE) cppcheck + .PHONY: efm8prog efm8prog: cd './targets/efm8\Keil 8051 v9.53 - Debug' && $(MAKE) all @@ -97,13 +105,13 @@ cppcheck: cppcheck $(CPPCHECK_FLAGS) fido2 cppcheck $(CPPCHECK_FLAGS) pc -test: main cppcheck - clean: rm -f *.o main.exe main $(obj) - rm -rf env2 env3 for f in crypto/tiny-AES-c/Makefile tinycbor/Makefile ; do \ if [ -f "$$f" ]; then \ (cd `dirname $$f` ; git checkout -- .) ;\ fi ;\ done + +full-clean: clean + rm -rf env2 env3 diff --git a/targets/stm32l432/Makefile b/targets/stm32l432/Makefile index d21e521..8daf962 100644 --- a/targets/stm32l432/Makefile +++ b/targets/stm32l432/Makefile @@ -5,7 +5,7 @@ endif APPMAKE=build/application.mk BOOTMAKE=build/application.mk -merge_hex=python ../../tools/solotool.py mergehex +merge_hex=../../tools/solotool.py mergehex all: $(MAKE) -f $(APPMAKE) -j8 solo.hex PREFIX=$(PREFIX) DEBUG=$(DEBUG) EXTRA_DEFINES='-DFLASH_ROP=1' @@ -40,6 +40,9 @@ build-release: clean2 boot-sig-checking clean all build-hacker: clean2 boot-no-sig clean all-hacker $(merge_hex) solo.hex bootloader.hex all.hex +build-debugboot: clean2 debugboot-boot clean debugboot-app + $(merge_hex) solo.hex bootloader.hex all.hex + clean: $(MAKE) -f $(APPMAKE) clean $(MAKE) -f $(BOOTMAKE) clean @@ -76,3 +79,11 @@ solo.hex: cbor: $(MAKE) -f application.mk -j8 cbor + +test: + $(MAKE) cbor + $(VENV) $(MAKE) build-release-locked + $(VENV) $(MAKE) build-release + $(VENV) $(MAKE) build-hacker + $(VENV) $(MAKE) build-debugboot + $(MAKE) clean2