aboutsummaryrefslogtreecommitdiffstats
path: root/libmaple/rules.mk
blob: a6b330a7a1c711bb5063f6d07a9463bc2ea7cb7b (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
59
60
61
# Standard things
sp              := $(sp).x
dirstack_$(sp)  := $(d)
d               := $(dir)
BUILDDIRS       += $(BUILD_PATH)/$(d)
BUILDDIRS       += $(BUILD_PATH)/$(d)/usb
BUILDDIRS       += $(BUILD_PATH)/$(d)/usb/usb_lib

LIBMAPLE_INCLUDES := -I$(LIBMAPLE_PATH)/include
# FIXME: move public USB headers to include/libmaple/usb/ or something.
LIBMAPLE_INCLUDES += -I$(LIBMAPLE_PATH)/usb         \
                     -I$(LIBMAPLE_PATH)/usb/usb_lib

# Local flags
CFLAGS_$(d) = -I$(d) $(LIBMAPLE_INCLUDES) -Wall # -Werror

# Local rules and targets
cSRCS_$(d) := adc.c                    \
              bkp.c                    \
              dac.c                    \
              dma.c                    \
              exti.c                   \
              flash.c                  \
              fsmc.c                   \
              gpio.c                   \
              iwdg.c                   \
              nvic.c                   \
              pwr.c		       \
              i2c.c                    \
              rcc.c                    \
              spi.c                    \
              syscalls.c               \
              systick.c                \
              timer.c                  \
              usart.c                  \
              util.c                   \
              usb/usb.c                \
              usb/usb_reg_map.c        \
              usb/usb_cdcacm.c         \
              usb/usb_lib/usb_core.c   \
              usb/usb_lib/usb_init.c   \
              usb/usb_lib/usb_mem.c    \
              usb/usb_lib/usb_regs.c

sSRCS_$(d) := exc.S

cFILES_$(d) := $(cSRCS_$(d):%=$(d)/%)
sFILES_$(d) := $(sSRCS_$(d):%=$(d)/%)

OBJS_$(d) := $(cFILES_$(d):%.c=$(BUILD_PATH)/%.o) $(sFILES_$(d):%.S=$(BUILD_PATH)/%.o)
DEPS_$(d) := $(OBJS_$(d):%.o=%.d)

$(OBJS_$(d)): TGT_CFLAGS := $(CFLAGS_$(d))
$(OBJS_$(d)): TGT_ASFLAGS :=

TGT_BIN += $(OBJS_$(d))

# Standard things
-include        $(DEPS_$(d))
d               := $(dirstack_$(sp))
sp              := $(basename $(sp))