diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-04-11 15:49:47 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2017-04-11 15:49:47 +0200 |
commit | a58d40b5ae336a54408201963b065ee049b43acd (patch) | |
tree | 9769e3d5b624e0238fe550df601e5382f259c52e /can-config-generator/build.sh | |
parent | 9e444ade872bc436cf12bc12d03c3a5d51ac0b9e (diff) | |
parent | b7591d16c2686214d5d8dcc0739a233f15aee5db (diff) |
Add 'can-config-generator/' from commit 'b7591d16c2686214d5d8dcc0739a233f15aee5db'
git-subtree-dir: can-config-generator
git-subtree-mainline: 9e444ade872bc436cf12bc12d03c3a5d51ac0b9e
git-subtree-split: b7591d16c2686214d5d8dcc0739a233f15aee5db
Diffstat (limited to 'can-config-generator/build.sh')
-rwxr-xr-x | can-config-generator/build.sh | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/can-config-generator/build.sh b/can-config-generator/build.sh new file mode 100755 index 0000000..b6d9216 --- /dev/null +++ b/can-config-generator/build.sh @@ -0,0 +1,81 @@ +#!/bin/bash + +function build { + echo "ACTION: build" + if [ ! -d "$1/$2" ]; then + echo "INFO: build dir ($1/$2) doesn't exist, created it!" + mkdir -p "$1/$2" + fi + pushd "$1/$2" + #cd "$1/$2" + cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=$3 $1 + make + popd +} + +function clean { + echo "ACTION: clean" + if [ -d "$1/$2" ]; then + rm -vrf "$1/$2" + fi +} + +function rebuild { + clean $1 $2 + build $1 $2 $3 +} + +function printhelp { + echo "Usage: build.sh <action> <subdir> [config]" + echo " action: can be one of the following" + echo " build: build this project." + echo " rebuild: rebuild this project." + echo " clean: clean the previous build." + echo " install: install the build result." + echo " subdir: the subdir into which the build is done." + echo " config: can be Debug or Release. Ignored if the action is 'clean'." +} + +function checkparams { + if [ "$#" -ne "$(($1+1))" ]; then + echo "ERROR: Wrong number of parameters, expected $1 but got $(($#-1))" + printhelp + exit 1 + fi +} + +function main { + CURRENT_DIR=$( dirname "$(readlink -f "$0")" ) + echo "Current script: $CURRENT_DIR" + + if [ "$#" -lt "1" ]; then + echo "ERROR: At least <action> must be specified!" + exit 1 + fi + + case "$1" in + "build") + checkparams 3 $* + build $CURRENT_DIR $2 $3 + ;; + "rebuild") + checkparams 3 $* + rebuild $CURRENT_DIR $2 $3 + ;; + "clean") + checkparams 2 $* + clean $CURRENT_DIR $2 + ;; + "install") + checkparams 3 $* + echo "ERROR: Not implemented yet!" + ;; + *) + echo "ERROR: Unknown action '$3'!" + exit 1 + ;; + esac +} + +main $* + |