41 lines
552 B
Bash
41 lines
552 B
Bash
#!/usr/bin/env sh
|
|
|
|
set -xe
|
|
|
|
CFLAGS="-Wall -Wextra -std=c11 -ggdb -fsanitize=address -fsanitize=undefined -Wswitch -Wswitch-enum"
|
|
LDFLAGS="-lc"
|
|
|
|
LIB=$(find "./runtime" -type 'f')
|
|
OUT="build/alisp.out"
|
|
|
|
build() {
|
|
mkdir -p build;
|
|
cc $CFLAGS -o $OUT $LIB main.c $LDFLAGS;
|
|
cc $CFLAGS -o build/test.out $LIB test/test.c $LDFLAGS;
|
|
}
|
|
|
|
clean() {
|
|
rm -v $OUT test.out;
|
|
}
|
|
|
|
run() {
|
|
./$OUT;
|
|
}
|
|
|
|
test() {
|
|
./build/test.out
|
|
}
|
|
|
|
build
|
|
|
|
if [ "$1" = "run" ]
|
|
then
|
|
run
|
|
elif [ "$1" = "test" ]
|
|
then
|
|
test
|
|
elif [ "$1" = "clean" ]
|
|
then
|
|
clean
|
|
fi
|