33 lines
680 B
Makefile
33 lines
680 B
Makefile
BUILD_DIR := build
|
|
BUILD_TYPE ?= Release
|
|
|
|
.PHONY: all clean run test benchmark configure build
|
|
|
|
all: build
|
|
|
|
configure:
|
|
cmake -B $(BUILD_DIR) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE)
|
|
|
|
build: configure
|
|
cmake --build $(BUILD_DIR) -j$(shell nproc)
|
|
|
|
run: build
|
|
./$(BUILD_DIR)/bin/sudoku_wfc_demo
|
|
|
|
test: build
|
|
@if [ -f ./$(BUILD_DIR)/bin/sudoku_tests ]; then \
|
|
./$(BUILD_DIR)/bin/sudoku_tests; \
|
|
else \
|
|
echo "Tests not available (Google Test not found)"; \
|
|
fi
|
|
|
|
benchmark: build
|
|
@if [ -f ./$(BUILD_DIR)/bin/sudoku_benchmarks ]; then \
|
|
./$(BUILD_DIR)/bin/sudoku_benchmarks; \
|
|
else \
|
|
echo "Benchmarks not available (Google Benchmark not found)"; \
|
|
fi
|
|
|
|
clean:
|
|
rm -rf $(BUILD_DIR)
|