Tag for the LUFA-120730-BETA release.
[pub/USBasp.git] / BuildTests / ModuleTest / makefile
index 6811e1a..738152e 100644 (file)
@@ -1,57 +1,66 @@
-#\r
-#             LUFA Library\r
-#     Copyright (C) Dean Camera, 2012.\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
-\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
-# 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.avr8 clean\r
-       $(MAKE) -s -f makefile.avr8 all MCU=$(@:%.avr8=%) elf\r
-\r
-%.xmega:\r
-       $(MAKE) -s -f makefile.xmega clean\r
-       $(MAKE) -s -f makefile.xmega all MCU=$(@:%.xmega=%) elf\r
-\r
-%.uc3:\r
-       $(MAKE) -s -f makefile.uc3 clean\r
-       $(MAKE) -s -f makefile.uc3 all MCU=$(@:%.uc3=%) elf\r
-\r
-clean:\r
-       $(MAKE) -s -f makefile.avr8 clean\r
-       $(MAKE) -s -f makefile.xmega clean\r
-       $(MAKE) -s -f makefile.uc3 clean\r
-\r
-%:\r
-       
\ No newline at end of file
+#
+#             LUFA Library
+#     Copyright (C) Dean Camera, 2012.
+#
+#  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