Blame view

lufa-master/BuildTests/ModuleTest/makefile 2.05 KB
142ecdaf   rguillom   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
  #
  #             LUFA Library
  #     Copyright (C) Dean Camera, 2019.
  #
  #  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 common DMBS build system modules
  DMBS_PATH      ?= $(LUFA_PATH)/Build/DMBS/DMBS
  include $(DMBS_PATH)/core.mk