Skip to content

Commit 859b4f0

Browse files
authored
Merge pull request #2282 from GaloisInc/build-sh-targets
build.sh: Move to a model where build.sh takes an optional target arg
2 parents d7b9eb0 + 61a0382 commit 859b4f0

File tree

1 file changed

+62
-13
lines changed

1 file changed

+62
-13
lines changed

build.sh

Lines changed: 62 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,74 @@
11
#!/bin/sh
22
# build.sh: build SAW
3-
# usage: ./build.sh
3+
# usage: ./build.sh [target]
4+
#
5+
# Valid targets are:
6+
# build (the default)
7+
# submodules (included in build, at least for now)
8+
# clean
9+
410
set -e
511

6-
git submodule update --init
12+
##############################
13+
# submodules
14+
15+
tgt_submodules() {
16+
echo "git submodule update --init"
17+
git submodule update --init
18+
}
19+
20+
##############################
21+
# build
722

823
install() {
924
PROG=$(cabal list-bin -v0 exe:$1)
25+
echo "cp $PROG bin/"
1026
cp $PROG bin/
1127
}
1228

13-
cabal build exe:cryptol exe:saw exe:saw-remote-api \
14-
exe:crux-mir-comp exe:extcore-info exe:verif-viewer
29+
tgt_build() {
30+
tgt_submodules
31+
32+
echo "cabal build ..."
33+
cabal build exe:cryptol exe:saw exe:saw-remote-api \
34+
exe:crux-mir-comp exe:extcore-info exe:verif-viewer
35+
36+
echo "rm -rf bin && mkdir bin"
37+
rm -rf bin && mkdir bin
38+
39+
install cryptol
40+
install saw
41+
install saw-remote-api
42+
install crux-mir-comp
43+
install extcore-info
44+
install verif-viewer
45+
46+
echo
47+
echo "COPIED EXECUTABLES TO `pwd`/bin."
48+
}
49+
50+
##############################
51+
# clean
52+
53+
tgt_clean() {
54+
echo "cabal clean"
55+
cabal clean
56+
if [ -d bin ]; then
57+
echo "rm -rf bin"
58+
rm -rf bin
59+
fi
60+
}
1561

16-
rm -rf bin && mkdir bin
17-
install cryptol
18-
install saw
19-
install saw-remote-api
20-
install crux-mir-comp
21-
install extcore-info
22-
install verif-viewer
62+
##############################
63+
# top level
2364

24-
echo
25-
echo "COPIED EXECUTABLES TO `pwd`/bin."
65+
case "X$1" in
66+
Xsubmodules) tgt_submodules;;
67+
X|Xbuild) tgt_build;;
68+
Xclean) tgt_clean;;
69+
*)
70+
echo "$0: Don't know how to build $1" 1>&2
71+
exit 1
72+
;;
73+
esac
74+
exit 0

0 commit comments

Comments
 (0)