makefile 2.05 KB
Newer Older
1
2
#
#             LUFA Library
Dean Camera's avatar
Dean Camera committed
3
#     Copyright (C) Dean Camera, 2017.
4
5
6
7
8
9
10
11
12
13
14
15
#
#  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
16
LUFA_PATH := ../../LUFA/
17

18
19
20
# Build test cannot be run with multiple parallel jobs
.NOTPARALLEL:

21
# List of device families per architecture, one device per architecture sub-family
22
23
24
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
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44


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:
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
58
59
	$(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))
60
61
62
63
64

%:

.PHONY: all arch_avr8 arch_xmega arch_uc3 begin end

65
66
67
# Include common DMBS build system modules
DMBS_PATH      ?= $(LUFA_PATH)/Build/DMBS/DMBS
include $(DMBS_PATH)/core.mk