3 #     Copyright (C) Dean Camera, 2011.
 
   5 #  dean [at] fourwalledcubicle [dot] com
 
   9 # Makefile for the LUFA library itself. This can be used to generate the library documentation.
 
  12 # Check to see if the LUFA_PATH variable has not been set (the makefile is not being included from a project makefile)
 
  13 ifeq ($(origin LUFA_PATH), undefined)
 
  15    ARCH = {AVR8,UC3,XMEGA}
 
  17    LUFA_ROOT_PATH = $(LUFA_PATH)/LUFA
 
  20 # Check to see if the chip architecture has not been defined in the user makefile, set a default architecture if not
 
  21 ifeq ($(origin ARCH), undefined)
 
  25 # Define module source file lists
 
  26 LUFA_SRC_USB          = $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Device_$(ARCH).c          \
 
  27                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Endpoint_$(ARCH).c        \
 
  28                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Host_$(ARCH).c            \
 
  29                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Pipe_$(ARCH).c            \
 
  30                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/USBController_$(ARCH).c   \
 
  31                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/USBInterrupt_$(ARCH).c    \
 
  32                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/EndpointStream_$(ARCH).c  \
 
  33                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/PipeStream_$(ARCH).c      \
 
  34                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/ConfigDescriptor.c                \
 
  35                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/DeviceStandardReq.c               \
 
  36                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/Events.c                          \
 
  37                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/HostStandardReq.c                 \
 
  38                         $(LUFA_ROOT_PATH)/Drivers/USB/Core/USBTask.c                         \
 
  39                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Common/HIDParser.c
 
  40 LUFA_SRC_USBCLASS     = $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/AudioClassDevice.c        \
 
  41                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDCClassDevice.c          \
 
  42                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/HIDClassDevice.c          \
 
  43                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MassStorageClassDevice.c  \
 
  44                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MIDIClassDevice.c         \
 
  45                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/RNDISClassDevice.c        \
 
  46                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c \
 
  47                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/AudioClassHost.c            \
 
  48                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/CDCClassHost.c              \
 
  49                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/HIDClassHost.c              \
 
  50                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MassStorageClassHost.c      \
 
  51                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MIDIClassHost.c             \
 
  52                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/PrinterClassHost.c          \
 
  53                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/RNDISClassHost.c            \
 
  54                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/StillImageClassHost.c
 
  55 LUFA_SRC_TEMPERATURE  = $(LUFA_ROOT_PATH)/Drivers/Board/Temperature.c
 
  56 LUFA_SRC_SERIAL       = $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/Serial_$(ARCH).c
 
  57 LUFA_SRC_TWI          = $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/TWI_$(ARCH).c
 
  58 LUFA_SRC_SCHEDULER    = $(LUFA_ROOT_PATH)/Scheduler/Scheduler.c
 
  61 # Check to see if the LUFA_PATH variable has not been set (the makefile is not being included from a project makefile)
 
  62 ifeq ($(origin LUFA_PATH), undefined)
 
  63    LUFA_SRC_ALL_FILES = $(LUFA_SRC_USB)            \
 
  64                         $(LUFA_SRC_USBCLASS)       \
 
  65                         $(LUFA_SRC_TEMPERATURE)    \
 
  73         rm -f $(LUFA_SRC_ALL_FILES:%.c=%.o)
 
  74         rm -f $(LUFA_SRC_ALL_FILES:%.c=%.lst)
 
  79         @echo Generating LUFA Library Documentation...
 
  81         @if ( ( cat Doxygen.conf ; echo "PROJECT_NUMBER=`grep LUFA_VERSION_STRING Version.h | cut -d'"' -f2`" ) | doxygen - 2>&1 | grep ": warning:" ;); then \
 
  85         @echo Documentation Generation Complete.
 
  93         @echo "LUFA `grep LUFA_VERSION_STRING Version.h | cut -d'"' -f2`"
 
  95    .PHONY: all clean clean_list doxygen clean_doxygen version