Start Build LUFA USB Source. Warnings with compile flags pedantic and variadic macro
authorandre Ebersold <andre.ebersold@free.fr>
Mon, 13 May 2024 20:30:32 +0000 (22:30 +0200)
committerandre Ebersold <andre.ebersold@free.fr>
Mon, 13 May 2024 20:30:32 +0000 (22:30 +0200)
CMakeLists.txt
Externals/LUFA-210130/CMakeLists.txt [new file with mode: 0644]
rules/gcc-avr-common.cmake

index 46fba18c336590704ca1b7ab59abf050e30f8540..d82cb2cdf0e1e924664567336a907e7148443f34 100644 (file)
@@ -1,12 +1,14 @@
 cmake_minimum_required(VERSION 2.8)
 project(tinyapp)
 
-SET(BUILD_TARGET "stm32g030" CACHE STRING "Target [stm32g030, stm32F103, atmega328p,atmega32u4]")
+set(OPTSUBDIRS "")
+set(BUILD_TARGET "stm32g030" CACHE STRING "Target [stm32g030, stm32F103, atmega328p,atmega32u4]")
 
 if("${BUILD_TARGET}" STREQUAL "atmega328p")
   include(${CMAKE_CURRENT_SOURCE_DIR}/rules/target-atmega328p.cmake)
 elseif ("${BUILD_TARGET}" STREQUAL "atmega32u4")
   include(${CMAKE_CURRENT_SOURCE_DIR}/rules/target-atmega32u4.cmake)
+  list(APPEND OPTSUBDIRS Externals/LUFA-210130)
 elseif ("${BUILD_TARGET}" STREQUAL "stm32g030")
   include(${CMAKE_CURRENT_SOURCE_DIR}/rules/target-stm32g030.cmake)
 else()
@@ -14,12 +16,12 @@ else()
 endif()
 
 if (NOT CMAKE_BUILD_TYPE)
-  SET(CMAKE_BUILD_TYPE "Debug")
-ENDIF(NOT CMAKE_BUILD_TYPE)
+  set(CMAKE_BUILD_TYPE "Debug")
+endif(NOT CMAKE_BUILD_TYPE)
 
-SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")
+set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")
 
-SUBDIRS(HAL Application Platform Communication Metadata)
+SUBDIRS(HAL Application Platform Communication Metadata ${OPTSUBDIRS})
 
 INCLUDE_DIRECTORIES("${tinyapp_SOURCE_DIR}")
 INCLUDE_DIRECTORIES("${tinyapp_SOURCE_DIR}/HAL")
diff --git a/Externals/LUFA-210130/CMakeLists.txt b/Externals/LUFA-210130/CMakeLists.txt
new file mode 100644 (file)
index 0000000..0b3d062
--- /dev/null
@@ -0,0 +1,61 @@
+project(LUFA)
+
+set(LUFA_ROOT_PATH ${LUFA_SOURCE_DIR}/LUFA)
+set(ARCH AVR8)
+# Construct LUFA module source variables
+set(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
+)
+
+set(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}
+)
+
+set(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}
+)
+
+set(LUFA_SRC_USBCLASS_DEVICE
+                            ${LUFA_ROOT_PATH}/Drivers/USB/Class/Device/AudioClassDevice.c
+                            ${LUFA_ROOT_PATH}/Drivers/USB/Class/Device/CCIDClassDevice.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/PrinterClassDevice.c
+                            ${LUFA_ROOT_PATH}/Drivers/USB/Class/Device/RNDISClassDevice.c
+)
+
+set(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
+)
+
+set(LUFA_SRC_USB ${LUFA_SRC_USB_COMMON} ${LUFA_SRC_USB_HOST} ${LUFA_SRC_USB_DEVICE})
+
+set(LUFA_SRC_USBCLASS  ${LUFA_SRC_USBCLASS_DEVICE} ${LUFA_SRC_USBCLASS_HOST})
+
+
+
+add_avr_library(
+    avrUSB
+    ${LUFA_SRC_USB_COMMON}
+   )
+
+target_compile_definitions(avrUSB-${AVR_MCU} PUBLIC F_USB=${MCU_SPEED})
index fa2733573cdfe430ce1836b43d1382e67360a4fd..aee7bc54cc5e3a17d45a3f4d59f7a4dec2f24406 100644 (file)
@@ -64,8 +64,12 @@ add_definitions("-fpack-struct")
 add_definitions("-fshort-enums")
 add_definitions("-Wall")
 add_definitions("-Werror")
+if("${BUILD_TARGET}" STREQUAL "atmega32u4")
+else()
+# Causes problems with LUFA
 add_definitions("-pedantic")
 add_definitions("-pedantic-errors")
+endif()
 add_definitions("-funsigned-char")
 add_definitions("-funsigned-bitfields")
 add_definitions("-ffunction-sections")