From 0d997dfb1e01105bbb6d52062754d2af017e7d17 Mon Sep 17 00:00:00 2001 From: Ivan Zorin Date: Tue, 4 Feb 2025 23:13:26 +0300 Subject: [PATCH] Makefile: add file with basic targets --- Makefile | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..72730c5 --- /dev/null +++ b/Makefile @@ -0,0 +1,35 @@ +#!/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 +