Clean up BuildTest and Maintenance makefiles - use non-recursively evaluated make...
[pub/USBasp.git] / BuildTests / ModuleTest / makefile
1 #
2 # LUFA Library
3 # Copyright (C) Dean Camera, 2012.
4 #
5 # dean [at] fourwalledcubicle [dot] com
6 # www.lufa-lib.org
7 #
8
9 # Makefile for the module build test. This test
10 # attempts to build as many modules as possible
11 # under all supported architectures, and include
12 # all module headers in a simple C and C++
13 # application.
14
15 # Path to the LUFA library core
16 LUFA_PATH := ../../LUFA/
17
18 # List of device families per architecture, one device per architecture sub-family
19 AVR8_FAMILIES := at90usb1287 at90usb1286 atmega16u4 atmega16u2 at90usb162
20 XMEGA_FAMILIES := atxmega128a1u atxmega128a3u atxmega256a3bu atxmega128a4u atxmega128b1 atxmega128b3 atxmega128c3 atxmega32c4
21 UC3_FAMILIES := uc3a0256 uc3a1256 uc3a3256 uc3a4256 uc3b0256 uc3b1256
22
23 # List of all device families, with a family postfix
24 DEVICE_FAMILIES := $(AVR8_FAMILIES:%=%.avr8) $(XMEGA_FAMILIES:%=%.xmega) $(UC3_FAMILIES:%=%.uc3)
25
26
27 all: begin $(DEVICE_FAMILIES) clean end
28
29 arch_avr8: begin $(AVR8_FAMILIES:%=%.avr8) end
30 arch_xmega: begin $(XMEGA_FAMILIES:%=%.xmega) end
31 arch_uc3: begin $(UC3_FAMILIES:%=%.uc3) end
32
33 begin:
34 @echo Executing build test "ModuleTest".
35 @echo
36
37 end:
38 @echo Build test "ModuleTest" complete.
39 @echo
40
41 %.avr8:
42 @echo Building ModuleTest for ARCH=AVR8 MCU=$(@:%.avr8=%)...
43 $(MAKE) -s -f makefile.test clean elf ARCH=AVR8 MCU=$(@:%.avr8=%)
44
45 %.xmega:
46 @echo Building ModuleTest for ARCH=XMEGA MCU=$(@:%.xmega=%)...
47 $(MAKE) -s -f makefile.test clean elf ARCH=XMEGA MCU=$(@:%.xmega=%)
48
49 %.uc3:
50 @echo Building ModuleTest for ARCH=UC3 MCU=$(@:%.uc3=%)...
51 $(MAKE) -s -f makefile.test clean elf ARCH=UC3 MCU=$(@:%.uc3=%)
52
53 clean:
54 $(MAKE) -s -f makefile.test clean ARCH=AVR8 MCU=$(firstword $(AVR8_FAMILIES))
55 $(MAKE) -s -f makefile.test clean ARCH=XMEGA MCU=$(firstword $(XMEGA_FAMILIES))
56 $(MAKE) -s -f makefile.test clean ARCH=UC3 MCU=$(firstword $(UC3_FAMILIES))
57
58 %:
59
60 .PHONY: all arch_avr8 arch_xmega arch_uc3 begin end
61
62 # Include LUFA build script makefiles
63 include $(LUFA_PATH)/Build/lufa.core.in