]> git.donarmstrong.com Git - qmk_firmware.git/blob - lib/lufa/BuildTests/ModuleTest/makefile
Merge commit '60b30c036397cb5627fa374bb930794b225daa29' as 'lib/lufa'
[qmk_firmware.git] / lib / lufa / BuildTests / ModuleTest / makefile
1 #
2 #             LUFA Library
3 #     Copyright (C) Dean Camera, 2017.
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 # Build test cannot be run with multiple parallel jobs
19 .NOTPARALLEL:
20
21 # List of device families per architecture, one device per architecture sub-family
22 AVR8_FAMILIES   := at90usb1287 at90usb1286 atmega16u4 atmega16u2 at90usb162
23 XMEGA_FAMILIES  := atxmega128a1u atxmega128a3u atxmega256a3bu atxmega128a4u atxmega128b1 atxmega128b3 atxmega128c3 atxmega32c4
24 UC3_FAMILIES    := uc3a0256 uc3a1256 uc3a3256 uc3a4256 uc3b0256 uc3b1256
25
26 # List of all device families, with a family postfix
27 DEVICE_FAMILIES := $(AVR8_FAMILIES:%=%.avr8) $(XMEGA_FAMILIES:%=%.xmega) $(UC3_FAMILIES:%=%.uc3)
28
29
30 all: begin $(DEVICE_FAMILIES) clean end
31
32 arch_avr8:  begin $(AVR8_FAMILIES:%=%.avr8) end
33 arch_xmega: begin $(XMEGA_FAMILIES:%=%.xmega) end
34 arch_uc3:   begin $(UC3_FAMILIES:%=%.uc3) end
35
36 begin:
37         @echo Executing build test "ModuleTest".
38         @echo
39
40 end:
41         @echo Build test "ModuleTest" complete.
42         @echo
43
44 %.avr8:
45         @echo Building ModuleTest for ARCH=AVR8 MCU=$(@:%.avr8=%)...
46         $(MAKE) -f makefile.test clean elf ARCH=AVR8 MCU=$(@:%.avr8=%)
47
48 %.xmega:
49         @echo Building ModuleTest for ARCH=XMEGA MCU=$(@:%.xmega=%)...
50         $(MAKE) -f makefile.test clean elf ARCH=XMEGA MCU=$(@:%.xmega=%)
51
52 %.uc3:
53         @echo Building ModuleTest for ARCH=UC3 MCU=$(@:%.uc3=%)...
54         $(MAKE) -f makefile.test clean elf ARCH=UC3 MCU=$(@:%.uc3=%)
55
56 clean:
57         $(MAKE) -f makefile.test clean ARCH=AVR8 MCU=$(firstword $(AVR8_FAMILIES))
58         $(MAKE) -f makefile.test clean ARCH=XMEGA MCU=$(firstword $(XMEGA_FAMILIES))
59         $(MAKE) -f makefile.test clean ARCH=UC3 MCU=$(firstword $(UC3_FAMILIES))
60
61 %:
62
63 .PHONY: all arch_avr8 arch_xmega arch_uc3 begin end
64
65 # Include common DMBS build system modules
66 DMBS_PATH      ?= $(LUFA_PATH)/Build/DMBS/DMBS
67 include $(DMBS_PATH)/core.mk