aboutsummaryrefslogtreecommitdiff
path: root/lazy.mk
diff options
context:
space:
mode:
Diffstat (limited to 'lazy.mk')
-rw-r--r--lazy.mk21
1 files changed, 16 insertions, 5 deletions
diff --git a/lazy.mk b/lazy.mk
index 2620961..236aef7 100644
--- a/lazy.mk
+++ b/lazy.mk
@@ -1,20 +1,31 @@
-# this file is for lazy people (loek)
+# NOTE: CMAKE IS THE PRIMARY BUILD SYSTEM FOR SUBFOLDERS/LIBRARIES IN THIS
+# REPOSITORY. THIS FILE IS PROVIDED PURELY FOR CONVENIENCE, AND SHOULD NOT
+# BECOME AN ESSENTIAL PART OF THE BUILD SYSTEM!
BUILD_DIR ?= build
TARGET ?= $(BUILD_DIR)/main
+CMFLAGS += --fresh
+CMFLAGS += --log-level WARNING
+CMFLAGS += -Wno-deprecated
+
.PHONY: FORCE
all: FORCE $(TARGET)
$(BUILD_DIR)/build.ninja: CMakeLists.txt
- mkdir -p $(BUILD_DIR)
- cmake -B $(BUILD_DIR) -G Ninja --fresh --log-level WARNING
+ @mkdir -p $(BUILD_DIR)
+ @cmake -B $(BUILD_DIR) -G Ninja $(CMFLAGS)
$(TARGET): $(BUILD_DIR)/build.ninja FORCE
- ninja -C $(BUILD_DIR)
-# ninja automatically builds in parallel, so is preferred
+ @ninja -C $(BUILD_DIR)
clean: FORCE
$(RM) -r $(BUILD_DIR)
+# Forward any unknown targets to Ninja
+ifneq ($(MAKECMDGOALS),)
+%::
+ @ninja -C $(BUILD_DIR) $@
+endif
+