summaryrefslogtreecommitdiffhomepage
path: root/digital/ucoolib/build
diff options
context:
space:
mode:
Diffstat (limited to 'digital/ucoolib/build')
-rw-r--r--digital/ucoolib/build/stm32f4.mk14
1 files changed, 12 insertions, 2 deletions
diff --git a/digital/ucoolib/build/stm32f4.mk b/digital/ucoolib/build/stm32f4.mk
index c22358ad..b60d02db 100644
--- a/digital/ucoolib/build/stm32f4.mk
+++ b/digital/ucoolib/build/stm32f4.mk
@@ -3,11 +3,21 @@
# Rules for STM32F4.
LIBOPENCM3_PATH ?= $(BASE)/lib/libopencm3
+ifneq ($(LIBOPENCM3_PATH),)
+ LIBOPENCM3_LIB := $(LIBOPENCM3_PATH)/lib/libopencm3_stm32f4.a
+ ifeq ($(wildcard $(LIBOPENCM3_LIB)),)
+ $(error Can not find libopencm3 library, please run "make lib" in \
+ $(LIBOPENCM3_PATH) or change LIBOPENCM3_PATH (you can set it to \
+ empty string to use system library))
+ endif
+ LIBOPENCM3_CPPFLAGS := -I$(LIBOPENCM3_PATH)/include
+ LIBOPENCM3_LDFLAGS := -L$(LIBOPENCM3_PATH)/lib
+endif
stm32f4_SUBTARGETS := stm32 arm newlib
stm32f4_CPPFLAGS := $(CPPFLAGS) $(stm32f4_DEFS) \
- -DSTM32F4 -I$(LIBOPENCM3_PATH)/include \
+ -DSTM32F4 $(LIBOPENCM3_CPPFLAGS) \
-DTARGET_STM32F4=1 \
$(foreach sub,$(stm32f4_SUBTARGETS),-DTARGET_SUB_$(sub)=1)
stm32f4_CFLAGS := $(CFLAGS) \
@@ -18,7 +28,7 @@ stm32f4_ASFLAGS := $(ASFLAGS)
stm32f4_LDSCRIPT := stm32f4.ld
stm32f4_LDFLAGS := $(LDFLAGS) -T$(stm32f4_LDSCRIPT) \
-L$(BASE)/ucoolib/arch/stm32f4 \
- -L$(LIBOPENCM3_PATH)/lib
+ $(LIBOPENCM3_LDFLAGS)
stm32f4_LDLIBS := -nostartfiles $(LDLIBS) $(stm32f4_LIBS) \
-lopencm3_stm32f4