#\r
# -----------------------------------------------------------------------------\r
\r
-# Sanity check the user LUFA_PATH and ARCH makefile options\r
-ifeq ($(LUFA_PATH),)\r
- $(error Makefile LUFA_PATH value not set.)\r
-endif\r
+# Sanity-check values of mandatory user-supplied variables\r
+ARCH ?= $(error Makefile ARCH value not set)\r
+LUFA_PATH ?= $(error Makefile LUFA_PATH value not set)\r
+\r
ifeq ($(ARCH),)\r
- $(error Makefile ARCH value not set.)\r
+ $(error Makefile ARCH option cannot be blank)\r
endif\r
\r
# Allow LUFA_ROOT_PATH to be overridden elsewhere to support legacy LUFA makefiles\r
-LUFA_ROOT_PATH ?= $(LUFA_PATH)\r
+LUFA_ROOT_PATH ?= $(patsubst %/,%,$(LUFA_PATH))\r
\r
# Construct LUFA module source variables\r
-LUFA_SRC_USB = $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Device_$(ARCH).c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Endpoint_$(ARCH).c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Host_$(ARCH).c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Pipe_$(ARCH).c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/USBController_$(ARCH).c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/USBInterrupt_$(ARCH).c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/EndpointStream_$(ARCH).c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/PipeStream_$(ARCH).c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/ConfigDescriptor.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/DeviceStandardReq.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/Events.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/HostStandardReq.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Core/USBTask.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Common/HIDParser.c\r
-LUFA_SRC_USBCLASS = $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/AudioClassDevice.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDCClassDevice.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/HIDClassDevice.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MassStorageClassDevice.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MIDIClassDevice.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/RNDISClassDevice.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/AudioClassHost.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/CDCClassHost.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/HIDClassHost.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MassStorageClassHost.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MIDIClassHost.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/PrinterClassHost.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/RNDISClassHost.c \\r
- $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/StillImageClassHost.c\r
-LUFA_SRC_TEMPERATURE = $(LUFA_ROOT_PATH)/Drivers/Board/Temperature.c\r
-LUFA_SRC_SERIAL = $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/Serial_$(ARCH).c\r
-LUFA_SRC_TWI = $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/TWI_$(ARCH).c\r
+LUFA_SRC_USB = $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Device_$(ARCH).c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Endpoint_$(ARCH).c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Host_$(ARCH).c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Pipe_$(ARCH).c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/USBController_$(ARCH).c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/USBInterrupt_$(ARCH).c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/EndpointStream_$(ARCH).c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/PipeStream_$(ARCH).c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/ConfigDescriptor.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/DeviceStandardReq.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/Events.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/HostStandardReq.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Core/USBTask.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Common/HIDParser.c\r
+LUFA_SRC_USBCLASS = $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/AudioClassDevice.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDCClassDevice.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/HIDClassDevice.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MassStorageClassDevice.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MIDIClassDevice.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/RNDISClassDevice.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/AudioClassHost.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/CDCClassHost.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/HIDClassHost.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MassStorageClassHost.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MIDIClassHost.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/PrinterClassHost.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/RNDISClassHost.c \\r
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/StillImageClassHost.c\r
+LUFA_SRC_TEMPERATURE = $(LUFA_ROOT_PATH)/Drivers/Board/Temperature.c\r
+LUFA_SRC_SERIAL = $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/Serial_$(ARCH).c\r
+LUFA_SRC_TWI = $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/TWI_$(ARCH).c\r
+\r
+ifeq ($(ARCH), UC3)\r
+ LUFA_SRC_PLATFORM = $(LUFA_PATH)/Platform/UC3/Exception.S $(LUFA_PATH)/Platform/UC3/InterruptManagement.c\r
+else\r
+ LUFA_SRC_PLATFORM =\r
+endif\r
\r
# Build a list of all available module sources\r
-LUFA_SRC_ALL_FILES = $(LUFA_SRC_USB) \\r
- $(LUFA_SRC_USBCLASS) \\r
- $(LUFA_SRC_TEMPERATURE) \\r
- $(LUFA_SRC_SERIAL) \\r
- $(LUFA_SRC_TWI)
\ No newline at end of file
+LUFA_SRC_ALL_FILES = $(LUFA_SRC_USB) \\r
+ $(LUFA_SRC_USBCLASS) \\r
+ $(LUFA_SRC_TEMPERATURE) \\r
+ $(LUFA_SRC_SERIAL) \\r
+ $(LUFA_SRC_TWI) \\r
+ $(LUFA_SRC_PLATFORM)
\ No newline at end of file