blisp/Makefile
2025-02-04 23:13:26 +03:00

36 lines
981 B
Makefile

#!/usr/bin/env make -f
### global variables section
# static vars
BUILD_DIR:="build"
BUILD_BIN:="$(BUILD_DIR)/tools/blisp/blisp"
# dynamic vars
FILES_CMAKE:=$(shell find . -path ./$(BUILD_DIR) -prune -false -o -type f -name '*.cmake' -o -type f -name 'CMakeLists.txt')
FILES_SRC:=$(shell find . -path ./$(BUILD_DIR) -prune -false -o -type f -name '*.c' -o -type f -name '*.h')
### main targets section
# simplify build
build: $(FILES_CMAKE) $(FILES_SRC) Makefile
@echo "\n>>>> Generating build files in: $(BUILD_DIR) ...\n"
@cmake -S . -B $(BUILD_DIR) -DBLISP_BUILD_CLI=ON
@echo "\n>>>> Building...\n"
@cmake --build $(BUILD_DIR)
@echo "\n>>>> DONE: $(BUILD_BIN)\n"
# deleting output build directory with its content
clean:
-@rm -rf $(BUILD_DIR)/
# printf-like debug target
vars:
@echo "\n>>>> FILES_CMAKE:"
@echo "$(FILES_CMAKE)" | sed 's, ,\n,g'
@echo "\n>>>> FILES_SRC:"
@echo "$(FILES_SRC)" | sed 's, ,\n,g'
.PHONY: clean vars