Mercurial > louis > kiibohd-controller
annotate buildall.bash @ 353:c6613db89cbe
Adding capability to set default image on LCD
author | Jacob Alexander <haata@kiibohd.com> |
---|---|
date | Sat, 01 Aug 2015 23:13:19 -0700 |
parents | ab4515606277 |
children | 99f93dec8fea |
rev | line source |
---|---|
57
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
1 #!/bin/bash |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
2 ###| Builder Script |### |
308 | 3 # |
57
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
4 # Builds all permutations of modules |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
5 # This script is an attempt to maintain module sanity as new ones are added |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
6 # |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
7 # Fortunately, sweeping API changes don't happen much anymore...but just in case... |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
8 # |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
9 # Written by Jacob Alexander 2013 for the Kiibohd Controller |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
10 # Released into the Public Domain |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
11 # |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
12 ### |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
13 |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
14 ## TODO List ## |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
15 # - Complete non-Scan module permutations (will take extra work) |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
16 # - Add command line arguments |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
17 # - Add help flag for usage |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
18 # - Make sure the script is being run from the correct directory |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
19 |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
20 |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
21 main() { |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
22 ERROR="\e[5;1;31mERROR\e[0m:" |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
23 failCount=0 |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
24 |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
25 # Scan for list of Scan Modules |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
26 scanModules=$(ls Scan) |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
27 |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
28 # Prune out "invalid" modules (parent modules) |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
29 scanModules=${scanModules[@]//matrix/} |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
30 |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
31 # Create permutation directories |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
32 # Then run cmake, and run each build permutation |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
33 # Keeping track of how many builds failed/passed |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
34 for module in $scanModules; do |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
35 # Create directory, but do not error if it exists already |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
36 mkdir -p build/$module |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
37 cd build/$module |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
38 |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
39 # Make sure CMake has been run, and attempt to build |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
40 cmake -DScanModuleOverride=$module ../.. && make || let failCount++ |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
41 |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
42 # Cleanup, for the next build |
66
0fdf103960c6
Updating CMake build system to prepare for Teensy 3 integration.
Jacob Alexander <triplehaata@gmail.com>
parents:
57
diff
changeset
|
43 cd - > /dev/null |
57
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
44 done |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
45 |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
46 totalModules=$(echo $scanModules | wc -w) |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
47 if (( failCount > 0 )); then |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
48 echo -e "$ERROR $failCount/$totalModules failed" |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
49 else |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
50 echo -e "Build Success!" |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
51 fi |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
52 } |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
53 |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
54 |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
55 #| Main Script Entry |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
56 main "$@" |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
57 |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
58 |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
59 exit 0 |
a70deaf77afa
Adding initial FACOM template, and buildall.bash regression script.
Jacob Alexander <triplehaata@gmail.com>
parents:
diff
changeset
|
60 |