aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Build
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2013-01-03 13:44:00 +0000
committerDean Camera <dean@fourwalledcubicle.com>2013-01-03 13:44:00 +0000
commit4167f3aa6b1b7b8814142617dcec6f340cabbb6e (patch)
tree27083a4ee058e6a8f192073ccd95be68b8351b59 /LUFA/Build
parent5724b281511af7a03639b5c74ee7be69a0ba7fd6 (diff)
downloadlufa-4167f3aa6b1b7b8814142617dcec6f340cabbb6e.tar.gz
lufa-4167f3aa6b1b7b8814142617dcec6f340cabbb6e.tar.bz2
lufa-4167f3aa6b1b7b8814142617dcec6f340cabbb6e.zip
Split up USB source files in lufa_sources.mk build system module so that applications can pull in mode-specific USB support rather than having to compile all files even if it is known they will not be used.
Diffstat (limited to 'LUFA/Build')
-rw-r--r--LUFA/Build/lufa_sources.mk109
1 files changed, 68 insertions, 41 deletions
diff --git a/LUFA/Build/lufa_sources.mk b/LUFA/Build/lufa_sources.mk
index 0136ff1e8..93c8ab2d4 100644
--- a/LUFA/Build/lufa_sources.mk
+++ b/LUFA/Build/lufa_sources.mk
@@ -7,11 +7,15 @@
#
LUFA_BUILD_MODULES += SOURCES
-LUFA_BUILD_TARGETS +=
+LUFA_BUILD_TARGETS +=
LUFA_BUILD_MANDATORY_VARS += LUFA_PATH ARCH
-LUFA_BUILD_OPTIONAL_VARS +=
-LUFA_BUILD_PROVIDED_VARS += LUFA_SRC_USB LUFA_SRC_USBCLASS LUFA_SRC_TEMPERATURE LUFA_SRC_SERIAL LUFA_SRC_TWI LUFA_SRC_PLATFORM
-LUFA_BUILD_PROVIDED_MACROS +=
+LUFA_BUILD_OPTIONAL_VARS +=
+LUFA_BUILD_PROVIDED_VARS += LUFA_SRC_USB_DEVICE LUFA_SRC_USB_HOST \
+ LUFA_SRC_USB LUFA_SRC_USBCLASS_DEVICE \
+ LUFA_SRC_USBCLASS_HOST LUFA_SRC_USBCLASS \
+ LUFA_SRC_TEMPERATURE LUFA_SRC_SERIAL \
+ LUFA_SRC_TWI LUFA_SRC_PLATFORM
+LUFA_BUILD_PROVIDED_MACROS +=
# -----------------------------------------------------------------------------
# LUFA Sources Buildsystem Makefile Module.
@@ -37,8 +41,18 @@ LUFA_BUILD_PROVIDED_MACROS +=
#
# PROVIDED VARIABLES:
#
-# LUFA_SRC_USB - List of LUFA USB driver source files
-# LUFA_SRC_USBCLASS - List of LUFA USB Class driver source files
+# LUFA_SRC_USB_DEVICE - List of LUFA USB driver source files required
+# for USB Device mode only
+# LUFA_SRC_USB_HOST - List of LUFA USB driver source files required
+# for USB Host mode only
+# LUFA_SRC_USB - List of LUFA USB driver source files for all
+# USB modes
+# LUFA_SRC_USBCLASS_DEVICE - List of LUFA USB Class driver source files for
+# USB Device mode only
+# LUFA_SRC_USBCLASS_HOST - List of LUFA USB Class driver source files for
+# USB Host mode only
+# LUFA_SRC_USBCLASS - List of LUFA USB Class driver source files for
+# all USB modes
# LUFA_SRC_TEMPERATURE - List of LUFA temperature sensor driver source
# files
# LUFA_SRC_SERIAL - List of LUFA Serial U(S)ART driver source files
@@ -67,44 +81,57 @@ $(call ERROR_IF_EMPTY, ARCH)
LUFA_ROOT_PATH ?= $(patsubst %/,%,$(LUFA_PATH))
# Construct LUFA module source variables
-LUFA_SRC_USB := $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Device_$(ARCH).c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Endpoint_$(ARCH).c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Host_$(ARCH).c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Pipe_$(ARCH).c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/USBController_$(ARCH).c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/USBInterrupt_$(ARCH).c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/EndpointStream_$(ARCH).c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/PipeStream_$(ARCH).c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/ConfigDescriptors.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/DeviceStandardReq.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/Events.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/HostStandardReq.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/USBTask.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Common/HIDParser.c
-LUFA_SRC_USBCLASS := $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/AudioClassDevice.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDCClassDevice.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/HIDClassDevice.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MassStorageClassDevice.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MIDIClassDevice.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/RNDISClassDevice.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/AudioClassHost.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/CDCClassHost.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/HIDClassHost.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MassStorageClassHost.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MIDIClassHost.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/PrinterClassHost.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/RNDISClassHost.c \
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/StillImageClassHost.c
-LUFA_SRC_TEMPERATURE := $(LUFA_ROOT_PATH)/Drivers/Board/Temperature.c
-LUFA_SRC_SERIAL := $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/Serial_$(ARCH).c
-LUFA_SRC_TWI := $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/TWI_$(ARCH).c
+LUFA_SRC_USB_COMMON := $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/USBController_$(ARCH).c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/USBInterrupt_$(ARCH).c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/ConfigDescriptors.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/Events.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/USBTask.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Common/HIDParser.c \
+
+LUFA_SRC_USB_HOST := $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Host_$(ARCH).c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Pipe_$(ARCH).c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/PipeStream_$(ARCH).c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/HostStandardReq.c \
+ $(LUFA_SRC_USB_COMMON)
+
+LUFA_SRC_USB_DEVICE := $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Device_$(ARCH).c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Endpoint_$(ARCH).c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/EndpointStream_$(ARCH).c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/DeviceStandardReq.c \
+ $(LUFA_SRC_USB_COMMON)
+
+LUFA_SRC_USBCLASS_DEVICE := $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/AudioClassDevice.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDCClassDevice.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/HIDClassDevice.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MassStorageClassDevice.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MIDIClassDevice.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/RNDISClassDevice.c \
+
+LUFA_SRC_USBCLASS_HOST := $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/AudioClassHost.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/CDCClassHost.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/HIDClassHost.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MassStorageClassHost.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MIDIClassHost.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/PrinterClassHost.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/RNDISClassHost.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/StillImageClassHost.c
+
+LUFA_SRC_USB := $(LUFA_SRC_USB_COMMON) $(LUFA_SRC_USB_HOST) $(LUFA_SRC_USB_DEVICE)
+
+LUFA_SRC_USBCLASS := $(LUFA_SRC_USBCLASS_DEVICE) $(LUFA_SRC_USBCLASS_HOST)
+
+LUFA_SRC_TEMPERATURE := $(LUFA_ROOT_PATH)/Drivers/Board/Temperature.c
+
+LUFA_SRC_SERIAL := $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/Serial_$(ARCH).c
+
+LUFA_SRC_TWI := $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/TWI_$(ARCH).c
ifeq ($(ARCH), UC3)
- LUFA_SRC_PLATFORM := $(LUFA_ROOT_PATH)/Platform/UC3/Exception.S \
- $(LUFA_ROOT_PATH)/Platform/UC3/InterruptManagement.c
+ LUFA_SRC_PLATFORM := $(LUFA_ROOT_PATH)/Platform/UC3/Exception.S \
+ $(LUFA_ROOT_PATH)/Platform/UC3/InterruptManagement.c
else
- LUFA_SRC_PLATFORM :=
+ LUFA_SRC_PLATFORM :=
endif
# Build a list of all available module sources