view buildall.bash @ 303:f9c406854bc2

Set DFU bootloader name Fixes #22 Each (dfu) interface may have more than one a ltsetting each with their own index and name. According to the DFU_1.1 pdf section 4.2.3, "* Alternate settings can be used by an application to access additional memory segments. In this case, it is suggested that each alternate setting employ a string descriptor to indicate the target memory segment; e.g., 'EEPROM'." Whether or not we end up using multiple memory segments it is still good to have a descriptive name incase there are other dfu devices connected. Edit: Fixed previous indentation
author Rowan Decker <Smasher816@gmail.com>
date Sun, 08 Mar 2015 16:59:34 -0700
parents 0fdf103960c6
children ab4515606277
line wrap: on
line source

#!/bin/bash
###| Builder Script |###
# 
# Builds all permutations of modules
# This script is an attempt to maintain module sanity as new ones are added
#
# Fortunately, sweeping API changes don't happen much anymore...but just in case...
#
# Written by Jacob Alexander 2013 for the Kiibohd Controller
# Released into the Public Domain
#
###

## TODO List ##
# - Complete non-Scan module permutations (will take extra work)
# - Add command line arguments
# - Add help flag for usage
# - Make sure the script is being run from the correct directory


main() {
	ERROR="\e[5;1;31mERROR\e[0m:"
	failCount=0

	# Scan for list of Scan Modules
	scanModules=$(ls Scan)

	# Prune out "invalid" modules (parent modules)
	scanModules=${scanModules[@]//matrix/}

	# Create permutation directories
	# Then run cmake, and run each build permutation
	# Keeping track of how many builds failed/passed
	for module in $scanModules; do
		# Create directory, but do not error if it exists already
		mkdir -p build/$module
		cd build/$module

		# Make sure CMake has been run, and attempt to build
		cmake -DScanModuleOverride=$module ../.. && make || let failCount++

		# Cleanup, for the next build
		cd - > /dev/null
	done

	totalModules=$(echo $scanModules | wc -w)
	if (( failCount > 0 )); then
		echo -e "$ERROR $failCount/$totalModules failed"
	else
		echo -e "Build Success!"
	fi
}


#| Main Script Entry
main "$@"


exit 0