42 lines
1.1 KiB
Makefile
42 lines
1.1 KiB
Makefile
|
|
# Whether to turn compiler warnings into errors
|
|
export WERROR ?= true
|
|
export BUILD_DIR ?= cmake-build
|
|
|
|
default: release
|
|
|
|
release:
|
|
mkdir -p ./$(BUILD_DIR) && cd ./$(BUILD_DIR) && cmake ../ -DCMAKE_BUILD_TYPE=Release -DWERROR=$(WERROR) && VERBOSE=1 cmake --build .
|
|
|
|
debug:
|
|
mkdir -p ./$(BUILD_DIR) && cd ./$(BUILD_DIR) && cmake ../ -DCMAKE_BUILD_TYPE=Debug -DWERROR=$(WERROR) && VERBOSE=1 cmake --build .
|
|
|
|
test:
|
|
@if [ -f ./$(BUILD_DIR)/unit-tests ]; then ./$(BUILD_DIR)/unit-tests; else echo "Please run 'make release' or 'make debug' first" && exit 1; fi
|
|
|
|
bench:
|
|
@if [ -f ./$(BUILD_DIR)/bench-tests ]; then ./$(BUILD_DIR)/bench-tests; else echo "Please run 'make release' or 'make debug' first" && exit 1; fi
|
|
|
|
tidy:
|
|
./scripts/clang-tidy.sh
|
|
|
|
coverage:
|
|
./scripts/coverage.sh
|
|
|
|
clean:
|
|
rm -rf ./$(BUILD_DIR)
|
|
rm -f *.profraw
|
|
rm -f *.profdata
|
|
@echo "run 'make distclean' to also clear mason_packages, .mason, and .toolchain directories"
|
|
|
|
distclean: clean
|
|
rm -rf mason_packages
|
|
rm -rf .mason
|
|
rm -rf .toolchain
|
|
rm -f local.env
|
|
|
|
format:
|
|
./scripts/format.sh
|
|
|
|
.PHONY: test bench
|