Update Studio Integration DLL, to include package logging.
[pub/USBasp.git] / BuildTests / ModuleTest / makefile
index 7706ca6..b292e41 100644 (file)
@@ -1,37 +1,66 @@
-#\r
-#             LUFA Library\r
-#     Copyright (C) Dean Camera, 2011.\r
-#\r
-#  dean [at] fourwalledcubicle [dot] com\r
-#           www.lufa-lib.org\r
-#\r
-\r
-# Makefile for the module build test. This test\r
-# attempts to build as many modules as possible\r
-# under all supported architectures, and include\r
-# all module headers in a simple C and C++\r
-# application.\r
-\r
-all:\r
-       @echo Executing build test "ModuleTest".\r
-       @echo\r
-\r
-       $(MAKE) -f makefile.avr8 clean\r
-       $(MAKE) -f makefile.avr8\r
-\r
-       $(MAKE) -f makefile.xmega clean\r
-       $(MAKE) -f makefile.xmega\r
-\r
-       $(MAKE) -f makefile.uc3 clean\r
-       $(MAKE) -f makefile.uc3\r
-\r
-       @echo Build test "ModuleTest" complete.\r
-       @echo\r
-\r
-clean:\r
-       $(MAKE) -f makefile.avr8 clean\r
-       $(MAKE) -f makefile.xmega clean\r
-       $(MAKE) -f makefile.uc3 clean\r
-\r
-%:\r
-       
\ No newline at end of file
+#
+#             LUFA Library
+#     Copyright (C) Dean Camera, 2015.
+#
+#  dean [at] fourwalledcubicle [dot] com
+#           www.lufa-lib.org
+#
+
+# Makefile for the module build test. This test
+# attempts to build as many modules as possible
+# under all supported architectures, and include
+# all module headers in a simple C and C++
+# application.
+
+# Path to the LUFA library core
+LUFA_PATH := ../../LUFA/
+
+# Build test cannot be run with multiple parallel jobs
+.NOTPARALLEL:
+
+# List of device families per architecture, one device per architecture sub-family
+AVR8_FAMILIES   := at90usb1287 at90usb1286 atmega16u4 atmega16u2 at90usb162
+XMEGA_FAMILIES  := atxmega128a1u atxmega128a3u atxmega256a3bu atxmega128a4u atxmega128b1 atxmega128b3 atxmega128c3 atxmega32c4
+UC3_FAMILIES    := uc3a0256 uc3a1256 uc3a3256 uc3a4256 uc3b0256 uc3b1256
+
+# List of all device families, with a family postfix
+DEVICE_FAMILIES := $(AVR8_FAMILIES:%=%.avr8) $(XMEGA_FAMILIES:%=%.xmega) $(UC3_FAMILIES:%=%.uc3)
+
+
+all: begin $(DEVICE_FAMILIES) clean end
+
+arch_avr8:  begin $(AVR8_FAMILIES:%=%.avr8) end
+arch_xmega: begin $(XMEGA_FAMILIES:%=%.xmega) end
+arch_uc3:   begin $(UC3_FAMILIES:%=%.uc3) end
+
+begin:
+       @echo Executing build test "ModuleTest".
+       @echo
+
+end:
+       @echo Build test "ModuleTest" complete.
+       @echo
+
+%.avr8:
+       @echo Building ModuleTest for ARCH=AVR8 MCU=$(@:%.avr8=%)...
+       $(MAKE) -f makefile.test clean elf ARCH=AVR8 MCU=$(@:%.avr8=%)
+
+%.xmega:
+       @echo Building ModuleTest for ARCH=XMEGA MCU=$(@:%.xmega=%)...
+       $(MAKE) -f makefile.test clean elf ARCH=XMEGA MCU=$(@:%.xmega=%)
+
+%.uc3:
+       @echo Building ModuleTest for ARCH=UC3 MCU=$(@:%.uc3=%)...
+       $(MAKE) -f makefile.test clean elf ARCH=UC3 MCU=$(@:%.uc3=%)
+
+clean:
+       $(MAKE) -f makefile.test clean ARCH=AVR8 MCU=$(firstword $(AVR8_FAMILIES))
+       $(MAKE) -f makefile.test clean ARCH=XMEGA MCU=$(firstword $(XMEGA_FAMILIES))
+       $(MAKE) -f makefile.test clean ARCH=UC3 MCU=$(firstword $(UC3_FAMILIES))
+
+%:
+
+.PHONY: all arch_avr8 arch_xmega arch_uc3 begin end
+
+# Include LUFA build script makefiles
+include $(LUFA_PATH)/Build/lufa_core.mk