#\r
# LUFA Library\r
-# Copyright (C) Dean Camera, 2011.\r
+# Copyright (C) Dean Camera, 2012.\r
#\r
# dean [at] fourwalledcubicle [dot] com\r
# www.lufa-lib.org\r
# all module headers in a simple C and C++\r
# application.\r
\r
-all:\r
- $(MAKE) -f makefile.avr8 clean\r
- $(MAKE) -f makefile.avr8\r
+# Path to the LUFA library core\r
+LUFA_PATH = ../../LUFA/\r
\r
- $(MAKE) -f makefile.xmega clean\r
- $(MAKE) -f makefile.xmega\r
+# List of device families per architecture, one device per architecture sub-family\r
+AVR8_FAMILIES = at90usb1287 at90usb1286 atmega16u4 atmega16u2 at90usb162\r
+XMEGA_FAMILIES = atxmega128a1u atxmega128a3u atxmega256a3bu atxmega128a4u atxmega128b1 atxmega128b3 atxmega128c3 atxmega32c4\r
+UC3_FAMILIES = uc3a0256 uc3a1256 uc3a3256 uc3a4256 uc3b0256 uc3b1256\r
\r
- $(MAKE) -f makefile.uc3 clean\r
- $(MAKE) -f makefile.uc3\r
+# List of all device families, with a family postfix\r
+DEVICE_FAMILIES = $(AVR8_FAMILIES:%=%.avr8) $(XMEGA_FAMILIES:%=%.xmega) $(UC3_FAMILIES:%=%.uc3)\r
+\r
+\r
+all: begin $(DEVICE_FAMILIES) clean end\r
+\r
+arch_avr8: begin $(AVR8_FAMILIES:%=%.avr8) end\r
+arch_xmega: begin $(XMEGA_FAMILIES:%=%.xmega) end\r
+arch_uc3: begin $(UC3_FAMILIES:%=%.uc3) end\r
+\r
+begin:\r
+ @echo Executing build test "ModuleTest".\r
+ @echo\r
+\r
+end:\r
+ @echo Build test "ModuleTest" complete.\r
+ @echo\r
+\r
+%.avr8:\r
+ $(MAKE) -s -f makefile.test clean elf ARCH=AVR8 MCU=$(@:%.avr8=%)\r
+\r
+%.xmega:\r
+ $(MAKE) -s -f makefile.test clean elf ARCH=XMEGA MCU=$(@:%.xmega=%)\r
+\r
+%.uc3:\r
+ $(MAKE) -s -f makefile.test clean elf ARCH=UC3 MCU=$(@:%.uc3=%)\r
\r
clean:\r
- $(MAKE) -f makefile.avr8 clean\r
- $(MAKE) -f makefile.xmega clean\r
- $(MAKE) -f makefile.uc3 clean\r
+ $(MAKE) -s -f makefile.test clean ARCH=AVR8\r
+ $(MAKE) -s -f makefile.test clean ARCH=XMEGA\r
+ $(MAKE) -s -f makefile.test clean ARCH=UC3\r
\r
%:\r
-
\ No newline at end of file
+\r
+.PHONY: all arch_avr8 arch_xmega arch_uc3 begin end\r
+\r
+# Include LUFA build script makefiles\r
+include $(LUFA_PATH)/Build/lufa.core.in\r