]> git.donarmstrong.com Git - qmk_firmware.git/blob - protocol/lufa/LUFA-120730/LUFA/Build/lufa_sources.mk
Squashed 'tmk_core/' content from commit 05caacc
[qmk_firmware.git] / protocol / lufa / LUFA-120730 / LUFA / Build / lufa_sources.mk
1 #\r
2 #             LUFA Library\r
3 #     Copyright (C) Dean Camera, 2012.\r
4 #\r
5 #  dean [at] fourwalledcubicle [dot] com\r
6 #           www.lufa-lib.org\r
7 #\r
8 \r
9 LUFA_BUILD_MODULES         += SOURCES\r
10 LUFA_BUILD_TARGETS         += \r
11 LUFA_BUILD_MANDATORY_VARS  += LUFA_PATH ARCH\r
12 LUFA_BUILD_OPTIONAL_VARS   += \r
13 LUFA_BUILD_PROVIDED_VARS   += LUFA_SRC_USB LUFA_SRC_USBCLASS LUFA_SRC_TEMPERATURE LUFA_SRC_SERIAL LUFA_SRC_TWI LUFA_SRC_PLATFORM\r
14 LUFA_BUILD_PROVIDED_MACROS += \r
15 \r
16 # -----------------------------------------------------------------------------\r
17 #               LUFA Sources Buildsystem Makefile Module.\r
18 # -----------------------------------------------------------------------------\r
19 # DESCRIPTION:\r
20 #   Provides a set of makefile variables for the various LUFA module sources.\r
21 #   Once included, the sources required to use a given LUFA module will become\r
22 #   available using the makefile variable names listed in the LUFA project\r
23 #   documentation.\r
24 # -----------------------------------------------------------------------------\r
25 # TARGETS:\r
26 #\r
27 #    (None)\r
28 #\r
29 # MANDATORY PARAMETERS:\r
30 #\r
31 #    LUFA_PATH                 - Path to the LUFA library core\r
32 #    ARCH                      - Device architecture name\r
33 #\r
34 # OPTIONAL PARAMETERS:\r
35 #\r
36 #    (None)\r
37 #\r
38 # PROVIDED VARIABLES:\r
39 #\r
40 #    LUFA_SRC_USB              - List of LUFA USB driver source files\r
41 #    LUFA_SRC_USBCLASS         - List of LUFA USB Class driver source files\r
42 #    LUFA_SRC_TEMPERATURE      - List of LUFA temperature sensor driver source\r
43 #                                files\r
44 #    LUFA_SRC_SERIAL           - List of LUFA Serial U(S)ART driver source files\r
45 #    LUFA_SRC_TWI              - List of LUFA TWI driver source files\r
46 #    LUFA_SRC_PLATFORM         - List of LUFA architecture specific platform\r
47 #                                management source files\r
48 #\r
49 # PROVIDED MACROS:\r
50 #\r
51 #    (None)\r
52 #\r
53 # -----------------------------------------------------------------------------\r
54 \r
55 SHELL = /bin/sh\r
56 \r
57 ERROR_IF_UNSET   ?= $(if $(filter undefined, $(origin $(strip $(1)))), $(error Makefile $(strip $(1)) value not set))\r
58 ERROR_IF_EMPTY   ?= $(if $(strip $($(strip $(1)))), , $(error Makefile $(strip $(1)) option cannot be blank))\r
59 ERROR_IF_NONBOOL ?= $(if $(filter Y N, $($(strip $(1)))), , $(error Makefile $(strip $(1)) option must be Y or N))\r
60 \r
61 # Sanity check user supplied values\r
62 $(foreach MANDATORY_VAR, $(LUFA_BUILD_MANDATORY_VARS), $(call ERROR_IF_UNSET, $(MANDATORY_VAR)))\r
63 $(call ERROR_IF_EMPTY, LUFA_PATH)\r
64 $(call ERROR_IF_EMPTY, ARCH)\r
65 \r
66 # Allow LUFA_ROOT_PATH to be overridden elsewhere to support legacy LUFA makefiles\r
67 LUFA_ROOT_PATH ?= $(patsubst %/,%,$(LUFA_PATH))\r
68 \r
69 # Construct LUFA module source variables\r
70 LUFA_SRC_USB         := $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Device_$(ARCH).c          \\r
71                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Endpoint_$(ARCH).c        \\r
72                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Host_$(ARCH).c            \\r
73                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Pipe_$(ARCH).c            \\r
74                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/USBController_$(ARCH).c   \\r
75                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/USBInterrupt_$(ARCH).c    \\r
76                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/EndpointStream_$(ARCH).c  \\r
77                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/PipeStream_$(ARCH).c      \\r
78                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/ConfigDescriptors.c               \\r
79                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/DeviceStandardReq.c               \\r
80                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/Events.c                          \\r
81                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/HostStandardReq.c                 \\r
82                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/USBTask.c                         \\r
83                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Common/HIDParser.c\r
84 LUFA_SRC_USBCLASS    := $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/AudioClassDevice.c        \\r
85                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDCClassDevice.c          \\r
86                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/HIDClassDevice.c          \\r
87                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MassStorageClassDevice.c  \\r
88                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MIDIClassDevice.c         \\r
89                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/RNDISClassDevice.c        \\r
90                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c \\r
91                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/AudioClassHost.c            \\r
92                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/CDCClassHost.c              \\r
93                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/HIDClassHost.c              \\r
94                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MassStorageClassHost.c      \\r
95                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MIDIClassHost.c             \\r
96                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/PrinterClassHost.c          \\r
97                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/RNDISClassHost.c            \\r
98                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/StillImageClassHost.c\r
99 LUFA_SRC_TEMPERATURE := $(LUFA_ROOT_PATH)/Drivers/Board/Temperature.c\r
100 LUFA_SRC_SERIAL      := $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/Serial_$(ARCH).c\r
101 LUFA_SRC_TWI         := $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/TWI_$(ARCH).c\r
102 \r
103 ifeq ($(ARCH), UC3)\r
104    LUFA_SRC_PLATFORM := $(LUFA_ROOT_PATH)/Platform/UC3/Exception.S   \\r
105                         $(LUFA_ROOT_PATH)/Platform/UC3/InterruptManagement.c\r
106 else\r
107    LUFA_SRC_PLATFORM :=\r
108 endif\r
109 \r
110 # Build a list of all available module sources\r
111 LUFA_SRC_ALL_FILES   := $(LUFA_SRC_USB)            \\r
112                         $(LUFA_SRC_USBCLASS)       \\r
113                         $(LUFA_SRC_TEMPERATURE)    \\r
114                         $(LUFA_SRC_SERIAL)         \\r
115                         $(LUFA_SRC_TWI)            \\r
116                                             $(LUFA_SRC_PLATFORM)\r