32 lines
1.1 KiB
Bash
32 lines
1.1 KiB
Bash
cd "$(git rev-parse --show-toplevel)"
|
|
|
|
CFLAGS="$CFLAGS -std=c11 -pedantic -Wall -Wextra"
|
|
CFLAGS="$CFLAGS -O0 -ggdb"
|
|
CFLAGS="$CFLAGS -Ilib/include"
|
|
|
|
mkdir -p build
|
|
|
|
# Build library
|
|
clang $CFLAGS -c -o build/evaluator.o lib/evaluator.c
|
|
clang $CFLAGS -c -o build/memory_pool.o lib/memory_pool.c
|
|
clang $CFLAGS -c -o build/reader.o lib/reader.c
|
|
clang $CFLAGS -c -o build/repl.o lib/repl.c
|
|
ar -crs build/lib.a \
|
|
build/evaluator.o build/memory_pool.o build/reader.o build/repl.o
|
|
|
|
# Build tests
|
|
clang $CFLAGS -Itests -c -o build/testing.o tests/testing.c
|
|
clang $CFLAGS -Itests -c -o build/evaluator_tests.o tests/evaluator_tests.c
|
|
clang $CFLAGS -o build/evaluator_tests \
|
|
build/evaluator_tests.o build/lib.a build/testing.o
|
|
clang $CFLAGS -Itests -c -o build/reader_tests.o tests/reader_tests.c
|
|
clang $CFLAGS -o build/reader_tests \
|
|
build/reader_tests.o build/lib.a build/testing.o
|
|
clang $CFLAGS -Itests -c -o build/repl_tests.o tests/repl_tests.c
|
|
clang $CFLAGS -o build/repl_tests \
|
|
build/repl_tests.o build/lib.a build/testing.o
|
|
|
|
# Build application
|
|
clang $CFLAGS -c -o build/main.o app/main.c
|
|
clang $CFLAGS -o build/infix-calculator build/main.o build/lib.a
|