8796a81efc
The good news is that <libmaple/usb.h> and <libmaple/usb_cdcacm.h> did turn out generic enough in what they specify to go on unchanged. However, we can't just go on assuming that there's USB just because we're on an F1. Now that there's value line in the tree, we need to be more careful (value line F1s don't have USB peripherals). To that end, make all the F1 board-includes/*.mk files specify what line their MCU is with an MCU_F1_LINE variable. Use that to hack libmaple/usb/rules.mk so we only try to build the USB module under appropriate circumstances. While we're at it, add a vector_symbols.inc for value line MCUs under support/ld/. We need this to get the target-config.mk modifications implied by the addition of MCU_F1_LINE. We'll fix up some other performance-line-isms under libmaple/stm32f1 in a separate commit. Also in libmaple/usb/: - Move everything into a new stm32f1 directory. Due to aforementioned rules.mk hacks, there is no immediate need for an stm32f2 directory (USB support doesn't exist there). - Update the README for style and content. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
46 lines
1.2 KiB
Makefile
46 lines
1.2 KiB
Makefile
# Standard things
|
|
sp := $(sp).x
|
|
dirstack_$(sp) := $(d)
|
|
d := $(dir)
|
|
BUILDDIRS += $(BUILD_PATH)/$(d)
|
|
|
|
# Local flags
|
|
CFLAGS_$(d) = -I$(d) -I$(d)/$(MCU_SERIES) -I$(d)/usb_lib $(LIBMAPLE_INCLUDES) $(LIBMAPLE_PRIVATE_INCLUDES) -Wall
|
|
|
|
# Add usblib and series subdirectory to BUILDDIRS.
|
|
BUILDDIRS += $(BUILD_PATH)/$(d)/$(MCU_SERIES)
|
|
BUILDDIRS += $(BUILD_PATH)/$(d)/usb_lib
|
|
|
|
# Local rules and targets
|
|
sSRCS_$(d) :=
|
|
cSRCS_$(d) :=
|
|
# We currently only have F1 performance line support. Sigh.
|
|
ifeq ($(MCU_SERIES), stm32f1)
|
|
ifeq ($(MCU_F1_LINE), performance)
|
|
cSRCS_$(d) += $(MCU_SERIES)/usb.c
|
|
cSRCS_$(d) += $(MCU_SERIES)/usb_reg_map.c
|
|
cSRCS_$(d) += $(MCU_SERIES)/usb_cdcacm.c
|
|
cSRCS_$(d) += usb_lib/usb_core.c
|
|
cSRCS_$(d) += usb_lib/usb_init.c
|
|
cSRCS_$(d) += usb_lib/usb_mem.c
|
|
cSRCS_$(d) += usb_lib/usb_regs.c
|
|
endif
|
|
endif
|
|
|
|
sFILES_$(d) := $(sSRCS_$(d):%=$(d)/%)
|
|
cFILES_$(d) := $(cSRCS_$(d):%=$(d)/%)
|
|
|
|
OBJS_$(d) := $(sFILES_$(d):%.S=$(BUILD_PATH)/%.o) \
|
|
$(cFILES_$(d):%.c=$(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))
|