39 lines
534 B
Bash
39 lines
534 B
Bash
#!/usr/bin/env sh
|
|
|
|
set -xe
|
|
|
|
CFLAGS="-Wall -Wextra -std=c11 -ggdb -fsanitize=address -fsanitize=undefined -Wswitch -Wswitch-enum"
|
|
LINK="-I."
|
|
LIB=$(find "./" -name "*.c" -not -name "main.c" -not -name "test.c")
|
|
OUT="alisp.out"
|
|
|
|
build() {
|
|
cc $LINK $CFLAGS -o $OUT $LIB main.c;
|
|
cc $LINK $CFLAGS -o test.out $LIB test.c;
|
|
}
|
|
|
|
clean() {
|
|
rm -v $OUT test.out;
|
|
}
|
|
|
|
run() {
|
|
./$OUT;
|
|
}
|
|
|
|
test() {
|
|
./test.out
|
|
}
|
|
|
|
build
|
|
|
|
if [ "$1" = "run" ]
|
|
then
|
|
run
|
|
elif [ "$1" = "test" ]
|
|
then
|
|
test
|
|
elif [ "$1" = "clean" ]
|
|
then
|
|
clean
|
|
fi
|