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)
 
  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/Audio.c                  \
 
  41                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDC.c                    \
 
  42                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/HID.c                    \
 
  43                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MassStorage.c            \
 
  44                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MIDI.c                   \
 
  45                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/RNDIS.c                  \
 
  46                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/Audio.c                    \
 
  47                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/CDC.c                      \
 
  48                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/HID.c                      \
 
  49                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MassStorage.c              \
 
  50                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MIDI.c                     \
 
  51                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/Printer.c                  \
 
  52                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/RNDIS.c                    \
 
  53                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/StillImage.c
 
  54 LUFA_SRC_TEMPERATURE  = $(LUFA_ROOT_PATH)/Drivers/Board/Temperature.c
 
  55 LUFA_SRC_SERIAL       = $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/Serial_$(ARCH).c
 
  56 LUFA_SRC_TWI          = $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/TWI_$(ARCH).c
 
  57 LUFA_SRC_SCHEDULER    = $(LUFA_ROOT_PATH)/Scheduler/Scheduler.c
 
  60 # Check to see if the LUFA_PATH variable has not been set (the makefile is not being included from a project makefile)
 
  61 ifeq ($(origin LUFA_PATH), undefined)
 
  62    LUFA_SRC_ALL_FILES = $(LUFA_SRC_USB)            \
 
  63                         $(LUFA_SRC_USBCLASS)       \
 
  64                         $(LUFA_SRC_TEMPERATURE)    \
 
  72         rm -f $(LUFA_SRC_ALL_FILES:%.c=%.o)
 
  73         rm -f $(LUFA_SRC_ALL_FILES:%.c=%.lst)
 
  78         @echo Generating Library Documentation...
 
  79         ( cat Doxygen.conf ; echo "PROJECT_NUMBER=`grep LUFA_VERSION_STRING Version.h | cut -d'"' -f2`" ) | doxygen -
 
  80         @echo Documentation Generation Complete.
 
  86         @echo "LUFA `grep LUFA_VERSION_STRING Version.h | cut -d'"' -f2`"
 
  88    .PHONY: all clean clean_list doxygen clean_doxygen version