]> git.donarmstrong.com Git - qmk_firmware.git/blob - tmk_core/protocol/lufa/LUFA-git/BuildTests/BoardDriverTest/makefile
Merge commit '60b30c036397cb5627fa374bb930794b225daa29' as 'lib/lufa'
[qmk_firmware.git] / tmk_core / protocol / lufa / LUFA-git / BuildTests / BoardDriverTest / makefile
1 #
2 #             LUFA Library
3 #     Copyright (C) Dean Camera, 2014.
4 #
5 #  dean [at] fourwalledcubicle [dot] com
6 #           www.lufa-lib.org
7 #
8
9 # Makefile for the board driver build test. This
10 # test attempts to build a dummy project with all
11 # possible board targets using their respective
12 # compiler.
13
14 # Path to the LUFA library core
15 LUFA_PATH := ../../LUFA/
16
17 # Build test cannot be run with multiple parallel jobs
18 .NOTPARALLEL:
19
20 all: begin makeboardlist testboards clean end
21
22 begin:
23         @echo Executing build test "BoardDriverTest".
24         @echo
25
26 end:
27         @echo Build test "BoardDriverTest" complete.
28         @echo
29
30 makeboardlist:
31         @grep "BOARD_" $(patsubst %/,%,$(LUFA_PATH))/Common/BoardTypes.h | cut -d'#' -f2 | cut -d' ' -f2 | grep "BOARD_" > BoardList.txt
32
33 testboards:
34         @echo "buildtest:" > BuildMakefile
35
36         @while read line;                                                                               \
37          do                                                                                             \
38            build_cfg=`grep "$$line " BoardDeviceMap.cfg | grep -v "#" | cut -d'=' -f2- | sed 's/ //g'`; \
39                                                                                                         \
40            build_board=$$line;                                                                          \
41            build_arch=`echo $$build_cfg | cut -d':' -f1`;                                               \
42            build_mcu=`echo $$build_cfg | cut -d':' -f2`;                                                \
43                                                                                                         \
44            if ( test -z "$$build_cfg" ); then                                                           \
45              echo "No matching information set for board $$build_board";                                \
46            else                                                                                         \
47              echo "Found board configuration for $$build_board - $$build_arch, $$build_mcu";            \
48                                                                                                             \
49                  printf "\t@echo Building dummy project for $$build_board...\n" >> BuildMakefile;           \
50                  printf "\t$(MAKE) -f makefile.test clean elf MCU=%s ARCH=%s BOARD=%s\n\n" $$build_mcu $$build_arch $$build_board >> BuildMakefile; \
51            fi;                                                                                          \
52          done < BoardList.txt
53
54          $(MAKE) -f BuildMakefile buildtest
55
56 clean:
57         rm -f BuildMakefile
58         rm -f BoardList.txt
59         $(MAKE) -f makefile.test clean BOARD=NONE ARCH=AVR8 MCU=at90usb1287
60         $(MAKE) -f makefile.test clean BOARD=NONE ARCH=XMEGA MCU=atxmega128a1u
61         $(MAKE) -f makefile.test clean BOARD=NONE ARCH=UC3 MCU=uc3a0256
62
63 %:
64
65 .PHONY: all begin end makeboardlist testboards clean
66
67 # Include LUFA build script makefiles
68 include $(LUFA_PATH)/Build/lufa_core.mk