diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d389dd8fd87d45eddcb41ad86496f4621681eeae..e478a419c424a172d5cb2699fbbb60013e32213e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,6 +41,19 @@ build_msp430fr5994lp: - make -B arch=msp430fr5994lp app=ledblink loop=1 timer_s=1 - make -B arch=msp430fr5994lp app=sysinfo +build_stm32f446re-nucleo: + stage: build + script: + - apt-get update -qy + - apt-get install -y build-essential gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib git python3 + - mkdir -p build + - make arch=stm32f446re-nucleo ext/libopencm3/lib/libopencm3_stm32f4.a + - make arch=stm32f446re-nucleo app=donothing + - find src -name '*.o' -delete + - make arch=stm32f446re-nucleo app=ledblink loop=1 timer_s=1 + - find src -name '*.o' -delete + - make arch=stm32f446re-nucleo app=sysinfo + test_posix: stage: test script: diff --git a/src/arch/stm32f446re-nucleo/Makefile.inc b/src/arch/stm32f446re-nucleo/Makefile.inc index 31d6015042bfc2b672abd641b98d9a9c4c7a545c..22115f75a8980204432a75e4ff03c1af3017b004 100644 --- a/src/arch/stm32f446re-nucleo/Makefile.inc +++ b/src/arch/stm32f446re-nucleo/Makefile.inc @@ -76,10 +76,11 @@ OBJECTS = ${CXX_TARGETS:.cc=.o} ${C_TARGETS:.c=.o} ${ASM_TARGETS:.S=.o} .s.o: ${QUIET}${CC} ${INCLUDES} ${COMMON_FLAGS} -c -o $@ ${@:.o=.S} -# deliberately no ${MAKE} here -- multipass relies on make -B, but we don't -# want to re-make libopencm3 all the time -ext/libopencm3/lib/libopencm3_stm32f4.a: ext/libopencm3/Makefile +ext/libopencm3/Makefile: git submodule update --init + +ext/libopencm3/lib/libopencm3_stm32f4.a: ext/libopencm3/Makefile + find ext/libopencm3 -type f -exec sed -i 's/python$$/python3/' '{}' ';' ${MAKE} -C ext/libopencm3 build/system.elf: ${OBJECTS} ext/libopencm3/lib/libopencm3_stm32f4.a