blob: afd78e29fc34fa4f563c0cb0d5502e681dca2ddb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# Standard things
sp := $(sp).x
dirstack_$(sp) := $(d)
d := $(dir)
BUILDDIRS += $(BUILD_PATH)/$(d)
# 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)
# Safe includes for Wirish.
WIRISH_INCLUDES := -I$(d)/include -I$(d)/$(WIRISH_BOARD_PATH)/include
# 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 \
# HardwareSerial.cpp \
# HardwareSPI.cpp \
# HardwareTimer.cpp \
# usb_serial.cpp \
# cxxabi-compat.cpp \
# wirish_shift.cpp \
# wirish_analog.cpp \
# wirish_time.cpp \
# 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)/%)
cppFILES_$(d) := $(cppSRCS_$(d):%=$(d)/%)
OBJS_$(d) := $(sFILES_$(d):%.S=$(BUILD_PATH)/%.o) \
$(cFILES_$(d):%.c=$(BUILD_PATH)/%.o) \
$(cppFILES_$(d):%.cpp=$(BUILD_PATH)/%.o)
DEPS_$(d) := $(OBJS_$(d):%.o=%.d)
$(OBJS_$(d)): TGT_CFLAGS := $(CFLAGS_$(d))
TGT_BIN += $(OBJS_$(d))
# Standard things
-include $(DEPS_$(d))
d := $(dirstack_$(sp))
sp := $(basename $(sp))
|