summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml13
-rw-r--r--src/arch/stm32f446re-nucleo/Makefile.inc7
2 files changed, 17 insertions, 3 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d389dd8..e478a41 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 31d6015..22115f7 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