summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rules.mk34
-rw-r--r--rules.stm32f0.mk9
-rw-r--r--tests/adc-power/Makefile.stm32f072-disco6
-rw-r--r--tests/adc-power/Makefile.stm32f3-disco8
-rw-r--r--tests/adc-power/Makefile.stm32f4-disco6
-rw-r--r--tests/adc-power/Makefile.stm32l4-disco11
6 files changed, 25 insertions, 49 deletions
diff --git a/rules.mk b/rules.mk
index 0f4b50b..b668d43 100644
--- a/rules.mk
+++ b/rules.mk
@@ -18,14 +18,20 @@
# This version of rules.mk expects the following to be defined before
# inclusion..
### REQUIRED ###
+# DEVICE=xxxx - this tree uses the genlink-config.mk and genlink-rules.mk!
# OPENCM3_DIR - duh
-# OPENCM3_LIB - the basename, eg: opencm3_stm32f4
-# OPENCM3_DEFS - the target define eg: -DSTM32F4
-# ARCH_FLAGS - eg, -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16
-# (ie, the full set of cpu arch flags, _none_ are defined in this file)
# PROJECT - will be the basename of the output elf, eg usb-gadget0-stm32f4disco
# CFILES - basenames only, eg main.c blah.c
-# LDSCRIPT - full path, eg ../../examples/stm32/f4/stm32f4-discovery/stm32f4-discovery.ld
+# The follow vars are assumed to have been created via genlink.mk
+# xOPENCM3_LIB - the basename, eg: opencm3_stm32f4
+# SOURCED VIA devices.data!
+# xOPENCM3_DEFS - the target define eg: -DSTM32F4
+# SOURCED VIA devices.data!
+# xARCH_FLAGS - eg, -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16
+# (ie, the full set of cpu arch flags, _none_ are defined in this file)
+# SOURCED VIA devices.data!
+# xLDSCRIPT - full path, eg ../../examples/stm32/f4/stm32f4-discovery/stm32f4-discovery.ld
+# SOURCED VIA devices.data!
#
### OPTIONAL ###
# INCLUDES - fully formed -I paths, if you want extra, eg -I../shared
@@ -65,16 +71,14 @@ OBJCOPY = $(PREFIX)objcopy
OBJDUMP = $(PREFIX)objdump
OOCD ?= openocd
-OPENCM3_INC = $(OPENCM3_DIR)/include
-
# Inclusion of library header files
-INCLUDES += $(patsubst %,-I%, . $(OPENCM3_INC) )
+include $(OPENCM3_DIR)/mk/genlink-config.mk
OBJS = $(CFILES:%.c=$(BUILD_DIR)/%.o)
TGT_CPPFLAGS += -MD
-TGT_CPPFLAGS += -Wall -Wundef $(INCLUDES)
-TGT_CPPFLAGS += $(INCLUDES) $(OPENCM3_DEFS)
+TGT_CPPFLAGS += -Wall -Wundef
+TGT_CPPFLAGS += $(INCLUDES)
TGT_CFLAGS += $(OPT) $(CSTD) -ggdb3
TGT_CFLAGS += $(ARCH_FLAGS)
@@ -100,7 +104,6 @@ ifeq ($(V),99)
TGT_LDFLAGS += -Wl,--print-gc-sections
endif
-LDLIBS += -l$(OPENCM3_LIB)
# nosys is only in newer gcc-arm-embedded...
LDLIBS += -specs=nosys.specs
#LDLIBS += -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group
@@ -119,11 +122,6 @@ LDLIBS += -specs=nosys.specs
all: $(PROJECT).elf $(PROJECT).bin
flash: $(PROJECT).flash
-$(LDSCRIPT):
-ifeq (,$(wildcard $(LDSCRIPT)))
- $(error Unable to find specified linker script: $(LDSCRIPT))
-endif
-
# Need a special rule to have a bin dir
$(BUILD_DIR)/%.o: %.c
@printf " CC\t$<\n"
@@ -165,7 +163,9 @@ else
endif
clean:
- rm -rf $(BUILD_DIR) $(PROJECT).{elf,bin} $(PROJECT).{list,lss,map}
+ rm -rf $(BUILD_DIR) $(PROJECT).{elf,bin} $(PROJECT).{list,lss,map} $(LDSCRIPT)
+
+include $(OPENCM3_DIR)/mk/genlink-rules.mk
.PHONY: all clean flash
-include $(OBJS:.o=.d)
diff --git a/rules.stm32f0.mk b/rules.stm32f0.mk
deleted file mode 100644
index 39dd2a4..0000000
--- a/rules.stm32f0.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-LDSCRIPT = $(OPENCM3_DIR)/lib/stm32/f0/stm32f07xzb.ld
-OPENCM3_LIB = opencm3_stm32f0
-OPENCM3_DEFS = -DSTM32F0
-#FP_FLAGS ?= -mfloat-abi=hard -mfpu=fpv4-sp-d16
-ARCH_FLAGS = -mthumb -mcpu=cortex-m0 $(FP_FLAGS)
-#OOCD_INTERFACE = stlink-v2
-#OOCD_TARGET = stm32f4x
-OOCD_FILE = ../../openocd/openocd.stm32f072-disco.cfg
-
diff --git a/tests/adc-power/Makefile.stm32f072-disco b/tests/adc-power/Makefile.stm32f072-disco
index 99eade8..63917f3 100644
--- a/tests/adc-power/Makefile.stm32f072-disco
+++ b/tests/adc-power/Makefile.stm32f072-disco
@@ -15,5 +15,9 @@ VPATH += $(SHARED_DIR)
INCLUDES += $(patsubst %,-I%, . $(SHARED_DIR))
OPENCM3_DIR=../../libopencm3
-include ../../rules.stm32f0.mk
+DEVICE=stm32f072rb
+#OOCD_INTERFACE = stlink-v2
+#OOCD_TARGET = stm32f0x
+OOCD_FILE = ../../openocd/openocd.stm32f072-disco.cfg
+
include ../../rules.mk
diff --git a/tests/adc-power/Makefile.stm32f3-disco b/tests/adc-power/Makefile.stm32f3-disco
index 98e06be..bdde640 100644
--- a/tests/adc-power/Makefile.stm32f3-disco
+++ b/tests/adc-power/Makefile.stm32f3-disco
@@ -14,13 +14,7 @@ VPATH += $(SHARED_DIR)
INCLUDES += $(patsubst %,-I%, . $(SHARED_DIR))
OPENCM3_DIR=../../libopencm3/
-
-### This section can go to an arch shared rules eventually...
-LDSCRIPT = $(OPENCM3_DIR)/lib/stm32/f3/stm32f303xc.ld
-OPENCM3_LIB = opencm3_stm32f3
-OPENCM3_DEFS = -DSTM32F3
-FP_FLAGS ?= -mfloat-abi=hard -mfpu=fpv4-sp-d16
-ARCH_FLAGS = -mthumb -mcpu=cortex-m4 $(FP_FLAGS)
+DEVICE=stm32f303vct6
#OOCD_INTERFACE = stlink-v2
#OOCD_TARGET = stm32f3x
OOCD_FILE = ../../openocd/openocd.stm32f3-disco.cfg
diff --git a/tests/adc-power/Makefile.stm32f4-disco b/tests/adc-power/Makefile.stm32f4-disco
index a990ec5..412ff52 100644
--- a/tests/adc-power/Makefile.stm32f4-disco
+++ b/tests/adc-power/Makefile.stm32f4-disco
@@ -32,11 +32,7 @@ INCLUDES += $(patsubst %,-I%, . $(SHARED_DIR))
OPENCM3_DIR=../../libopencm3/
### This section can go to an arch shared rules eventually...
-LDSCRIPT = $(OPENCM3_DIR)/lib/stm32/f4/stm32f405x6.ld
-OPENCM3_LIB = opencm3_stm32f4
-OPENCM3_DEFS = -DSTM32F4
-FP_FLAGS ?= -mfloat-abi=hard -mfpu=fpv4-sp-d16
-ARCH_FLAGS = -mthumb -mcpu=cortex-m4 $(FP_FLAGS)
+DEVICE=stm32f405xg
#OOCD_INTERFACE = stlink-v2
#OOCD_TARGET = stm32f4x
OOCD_FILE = ../../openocd/openocd.stm32f4-disco.cfg
diff --git a/tests/adc-power/Makefile.stm32l4-disco b/tests/adc-power/Makefile.stm32l4-disco
index 7957e9d..245d01a 100644
--- a/tests/adc-power/Makefile.stm32l4-disco
+++ b/tests/adc-power/Makefile.stm32l4-disco
@@ -16,17 +16,8 @@ INCLUDES += $(patsubst %,-I%, . $(SHARED_DIR))
OPENCM3_DIR=../../libopencm3/
### This section can go to an arch shared rules eventually...
-#DEVICE=stm32l476vgt6
-#SRCLIBDIR=$(OPENCM3_DIR)
-#include $(OPENCM3_DIR)/ld/Makefile.linker
-LDSCRIPT=$(OPENCM3_DIR)/lib/stm32/l4/stm32l4xxg.ld
-
-OPENCM3_LIB = opencm3_stm32l4
-OPENCM3_DEFS = -DSTM32L4
-FP_FLAGS ?= -mfloat-abi=hard -mfpu=fpv4-sp-d16
-ARCH_FLAGS = -mthumb -mcpu=cortex-m4 $(FP_FLAGS)
+DEVICE=stm32l476vgt6
#OOCD_INTERFACE = stlink-v2-1
#OOCD_TARGET = stm32l4x
OOCD_FILE = ../../openocd/openocd.stm32l4-disco.cfg
-
include ../../rules.mk