-
Notifications
You must be signed in to change notification settings - Fork 0
/
run.sh
executable file
·70 lines (47 loc) · 896 Bytes
/
run.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/bash
# see: http://stackoverflow.com/a/17076258
function abs_path {
(cd "$(dirname '$1')" &>/dev/null && printf "%s/%s" "$(pwd)" "${1##*/}")
}
realpath() {
[[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}"
}
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
SAVE=$2
if [ "$SAVE" == "" ] ; then
TMP=`mktemp -t insomniac.XXXXXXXXXX`
else
TMP=$(abs_path $SAVE)
fi
SRC=$(realpath $1)
(
cd $DIR
echo "Temp :" $TMP
echo
echo "Compiling ..."
echo
build/src/insc-bootstrap --no-assemble $SRC $TMP
EXIT=$?
if [ "$EXIT" != "0" ] ; then
exit $EXIT
fi
echo
echo
echo "Running ..."
echo
build/src/insomniac $TMP
EXIT=$?
if [ "$EXIT" != "0" ] ; then
exit $EXIT
fi
)
EXIT=$?
echo
echo
if [ "$SAVE" == "" ] && [ "$TMP" != "" ] ; then
rm $TMP
fi
if [ "$EXIT" != "0" ] ; then
echo "Exit status:" $EXIT
exit $EXIT
fi