Add symbol-sizes target to the BUILD build system module to print a size-sorted list...
[pub/lufa.git] / LUFA / Build / lufa.sources.in
index 37263b6..47cda0c 100644 (file)
@@ -35,54 +35,61 @@ LUFA_BUILD_OPTIONAL_VARS  +=
 #\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