upload
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

lufa_sources.mk 7.4KB

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