-#\r
-# LUFA Library\r
-# Copyright (C) Dean Camera, 2009.\r
-# \r
-# dean [at] fourwalledcubicle [dot] com\r
-# www.fourwalledcubicle.com\r
-#\r
-\r
-# Makefile for the LUFA library itself.\r
-\r
-LUFA_SRC_FILES = ./Drivers/USB/LowLevel/LowLevel.c \\r
- ./Drivers/USB/LowLevel/Endpoint.c \\r
- ./Drivers/USB/LowLevel/Pipe.c \\r
- ./Drivers/USB/LowLevel/DevChapter9.c \\r
- ./Drivers/USB/LowLevel/HostChapter9.c \\r
- ./Drivers/USB/LowLevel/Host.c \\r
- ./Drivers/USB/HighLevel/USBTask.c \\r
- ./Drivers/USB/HighLevel/USBInterrupt.c \\r
- ./Drivers/USB/HighLevel/Events.c \\r
- ./Drivers/USB/HighLevel/StdDescriptors.c \\r
- ./Drivers/USB/Class/HIDParser.c \\r
- ./Drivers/USB/Class/ConfigDescriptor.c \\r
- ./Scheduler/Scheduler.c \\r
- ./MemoryAllocator/DynAlloc.c \\r
- ./Drivers/Board/Temperature.c \\r
- ./Drivers/Peripheral/Serial.c \\r
- ./Drivers/Peripheral/Serial_Stream.c \\r
-\r
-all:\r
- \r
-clean:\r
- rm -f $(LUFA_SRC_FILES:%.c=%.o)\r
- \r
-clean_list:\r
-\r
-doxygen:\r
- @echo Generating Library Documentation...\r
- @doxygen Doxygen.conf\r
- @echo Documentation Generation Complete.\r
-\r
-clean_doxygen:\r
- rm -rf Documentation\r
+#
+# LUFA Library
+# Copyright (C) Dean Camera, 2013.
+#
+# dean [at] fourwalledcubicle [dot] com
+# www.lufa-lib.org
+#
+# ---------------------------------------
+# Makefile for the LUFA library itself.
+# ---------------------------------------
+
+LUFA_VERSION_NUM := $(shell grep LUFA_VERSION_STRING Version.h | cut -d'"' -f2)
+EXCLUDE_FROM_EXPORT := Documentation DoxygenPages CodeTemplates Build StudioIntegration *.conf *.tar *.o *.d *.lss *.lst *.hex *.elf *.hex *.eep *.map *.bin
+
+# Default target - no default action when attempting to build the core directly
+all:
+
+# Export the library core as a TAR archive for importing into an IDE
+export_tar:
+ @echo Exporting LUFA library to a TAR archive...
+ @tar -cf LUFA_$(LUFA_VERSION_NUM).tar --directory=. $(EXCLUDE_FROM_EXPORT:%=--exclude=%) *
+ @tar -cf LUFA_$(LUFA_VERSION_NUM)_Code_Templates.tar CodeTemplates
+ @echo Export LUFA_$(LUFA_VERSION_NUM).tar complete.
+
+# Display the LUFA version of this library copy
+version:
+ @echo "LUFA $(LUFA_VERSION_NUM)"
+
+# Check if this is being included from a legacy or non LUFA build system makefile
+ifneq ($(LUFA_PATH),)
+ LUFA_ROOT_PATH = $(patsubst %/,%,$(LUFA_PATH))/LUFA/
+
+ include $(patsubst %/,%,$(LUFA_PATH))/LUFA/Build/lufa_sources.mk
+else
+ LUFA_BUILD_MODULES += MASTER
+ LUFA_BUILD_TARGETS += export_tar version
+
+ LUFA_PATH = .
+ ARCH = {AVR8,UC3,XMEGA}
+ DOXYGEN_OVERRIDE_PARAMS = QUIET=YES PROJECT_NUMBER=$(LUFA_VERSION_NUM)
+
+ # Remove all object and associated files from the LUFA library core
+ clean:
+ rm -f $(LUFA_SRC_ALL_FILES:%.c=%.o)
+ rm -f $(LUFA_SRC_ALL_FILES:%.c=%.d)
+ rm -f $(LUFA_SRC_ALL_FILES:%.c=%.lst)
+
+ include Build/lufa_core.mk
+ include Build/lufa_sources.mk
+ include Build/lufa_doxygen.mk
+endif
+
+.PHONY: all export_tar version clean