You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					70 lines
				
				2.8 KiB
			
		
		
			
		
	
	
					70 lines
				
				2.8 KiB
			| 
								 
											8 years ago
										 
									 | 
							
								#
							 | 
						||
| 
								 | 
							
								#             LUFA Library
							 | 
						||
| 
								 | 
							
								#     Copyright (C) Dean Camera, 2017.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								#  dean [at] fourwalledcubicle [dot] com
							 | 
						||
| 
								 | 
							
								#           www.lufa-lib.org
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Makefile for the board driver build test. This
							 | 
						||
| 
								 | 
							
								# test attempts to build a dummy project with all
							 | 
						||
| 
								 | 
							
								# possible board targets using their respective
							 | 
						||
| 
								 | 
							
								# compiler.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Path to the LUFA library core
							 | 
						||
| 
								 | 
							
								LUFA_PATH := ../../LUFA/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Build test cannot be run with multiple parallel jobs
							 | 
						||
| 
								 | 
							
								.NOTPARALLEL:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								all: begin makeboardlist testboards clean end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								begin:
							 | 
						||
| 
								 | 
							
									@echo Executing build test "BoardDriverTest".
							 | 
						||
| 
								 | 
							
									@echo
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								end:
							 | 
						||
| 
								 | 
							
									@echo Build test "BoardDriverTest" complete.
							 | 
						||
| 
								 | 
							
									@echo
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								makeboardlist:
							 | 
						||
| 
								 | 
							
									@grep "BOARD_" $(patsubst %/,%,$(LUFA_PATH))/Common/BoardTypes.h | cut -d'#' -f2 | cut -d' ' -f2 | grep "BOARD_" > BoardList.txt
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								testboards:
							 | 
						||
| 
								 | 
							
									@echo "buildtest:" > BuildMakefile
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@while read line;                                                                               \
							 | 
						||
| 
								 | 
							
									 do                                                                                             \
							 | 
						||
| 
								 | 
							
									   build_cfg=`grep "$$line " BoardDeviceMap.cfg | grep -v "#" | cut -d'=' -f2- | sed 's/ //g'`; \
							 | 
						||
| 
								 | 
							
									                                                                                                \
							 | 
						||
| 
								 | 
							
									   build_board=$$line;                                                                          \
							 | 
						||
| 
								 | 
							
									   build_arch=`echo $$build_cfg | cut -d':' -f1`;                                               \
							 | 
						||
| 
								 | 
							
									   build_mcu=`echo $$build_cfg | cut -d':' -f2`;                                                \
							 | 
						||
| 
								 | 
							
									                                                                                                \
							 | 
						||
| 
								 | 
							
									   if ( test -z "$$build_cfg" ); then                                                           \
							 | 
						||
| 
								 | 
							
									     echo "No matching information set for board $$build_board";                                \
							 | 
						||
| 
								 | 
							
									   else                                                                                         \
							 | 
						||
| 
								 | 
							
									     echo "Found board configuration for $$build_board - $$build_arch, $$build_mcu";            \
							 | 
						||
| 
								 | 
							
										                                                                                            \
							 | 
						||
| 
								 | 
							
										 printf "\t@echo Building dummy project for $$build_board...\n" >> BuildMakefile;           \
							 | 
						||
| 
								 | 
							
										 printf "\t$(MAKE) -f makefile.test clean elf MCU=%s ARCH=%s BOARD=%s\n\n" $$build_mcu $$build_arch $$build_board >> BuildMakefile; \
							 | 
						||
| 
								 | 
							
									   fi;                                                                                          \
							 | 
						||
| 
								 | 
							
									 done < BoardList.txt
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									 $(MAKE) -f BuildMakefile buildtest
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								clean:
							 | 
						||
| 
								 | 
							
									rm -f BuildMakefile
							 | 
						||
| 
								 | 
							
									rm -f BoardList.txt
							 | 
						||
| 
								 | 
							
									$(MAKE) -f makefile.test clean BOARD=NONE ARCH=AVR8 MCU=at90usb1287
							 | 
						||
| 
								 | 
							
									$(MAKE) -f makefile.test clean BOARD=NONE ARCH=XMEGA MCU=atxmega128a1u
							 | 
						||
| 
								 | 
							
									$(MAKE) -f makefile.test clean BOARD=NONE ARCH=UC3 MCU=uc3a0256
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								%:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								.PHONY: all begin end makeboardlist testboards clean
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Include common DMBS build system modules
							 | 
						||
| 
								 | 
							
								DMBS_PATH      ?= $(LUFA_PATH)/Build/DMBS/DMBS
							 | 
						||
| 
								 | 
							
								include $(DMBS_PATH)/core.mk
							 |