aboutsummaryrefslogtreecommitdiffstats
path: root/wirish/rules.mk
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2012-03-20 17:44:34 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2012-04-11 16:56:54 -0400
commit21468a69ca2e7ff9a5c7ffc03c608a24f1412d64 (patch)
tree30d2abf224ca9adbc07b0fcdd1eb1b5a7d0541dd /wirish/rules.mk
parentc122d16c71d2aa04baa8b4b5a5df7faed93240fb (diff)
downloadlibrambutan-21468a69ca2e7ff9a5c7ffc03c608a24f1412d64.tar.gz
librambutan-21468a69ca2e7ff9a5c7ffc03c608a24f1412d64.zip
[FIXME] Resurrect boards.cpp for F2 and F1.
FIXME: - F1 support currently appears to be failing in start_c.c, for some unknown reason. This will need to get sorted out later. Add a new wirish namespace, and a sub-namespace wirish::priv::. Put a bunch of board setup routines in this namespace, and declare them in new wirish/boards_private.h. boards.cpp uses this to perform initialization tasks in a portable way, with two new boards_setup.cpp files under wirish/stm32f1 and wirish/stm32f2 handling the series-specific details. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
Diffstat (limited to 'wirish/rules.mk')
-rw-r--r--wirish/rules.mk22
1 files changed, 14 insertions, 8 deletions
diff --git a/wirish/rules.mk b/wirish/rules.mk
index c72e60f..17c4d05 100644
--- a/wirish/rules.mk
+++ b/wirish/rules.mk
@@ -4,22 +4,26 @@ dirstack_$(sp) := $(d)
d := $(dir)
BUILDDIRS += $(BUILD_PATH)/$(d)
-# Board config -- TODO allow user override
-# WIRISH_BOARD_PATH := boards/$(BOARD)
-# BUILDDIRS += $(BUILD_PATH)/$(d)/$(WIRISH_BOARD_PATH)
+# Add board directory and MCU-specific directory to BUILDDIRS. These
+# are in subdirectories, but they're logically part of the Wirish
+# submodule.
+WIRISH_BOARD_PATH := boards/$(BOARD)
+BUILDDIRS += $(BUILD_PATH)/$(d)/$(WIRISH_BOARD_PATH)
+BUILDDIRS += $(BUILD_PATH)/$(d)/$(MCU_SERIES)
-# WIRISH_INCLUDES := -I$(d)/include -I$(d)/$(WIRISH_BOARD_PATH)/include
+# Safe includes for Wirish.
+WIRISH_INCLUDES := -I$(d)/include -I$(d)/$(WIRISH_BOARD_PATH)/include
-# Local flags
-CFLAGS_$(d) := $(LIBMAPLE_INCLUDES)
+# Local flags. Add -I$(d) to allow for private includes.
+CFLAGS_$(d) := $(LIBMAPLE_INCLUDES) $(WIRISH_INCLUDES) -I$(d)
# Local rules and targets
-
sSRCS_$(d) := start.S
cSRCS_$(d) := start_c.c
+cppSRCS_$(d) := boards.cpp
+# TODO: test these on F2 and put them back in:
# cppSRCS_$(d) := wirish_math.cpp \
# Print.cpp \
-# boards.cpp \
# HardwareSerial.cpp \
# HardwareSPI.cpp \
# HardwareTimer.cpp \
@@ -31,7 +35,9 @@ cSRCS_$(d) := start_c.c
# pwm.cpp \
# ext_interrupts.cpp \
# wirish_digital.cpp
+# TODO: Put this back in once we've got the necessary libmaple support back.
# cppSRCS_$(d) += $(WIRISH_BOARD_PATH)/board.cpp
+cppSRCS_$(d) += $(MCU_SERIES)/boards_setup.cpp
sFILES_$(d) := $(sSRCS_$(d):%=$(d)/%)
cFILES_$(d) := $(cSRCS_$(d):%=$(d)/%)