aboutsummaryrefslogtreecommitdiff
path: root/arduino/makefile
diff options
context:
space:
mode:
Diffstat (limited to 'arduino/makefile')
-rw-r--r--arduino/makefile31
1 files changed, 31 insertions, 0 deletions
diff --git a/arduino/makefile b/arduino/makefile
new file mode 100644
index 0000000..e712b62
--- /dev/null
+++ b/arduino/makefile
@@ -0,0 +1,31 @@
+BUILD_DIR ?= build
+TARGET = $(BUILD_DIR)/main.elf
+
+CMFLAGS += --fresh
+CMFLAGS += --log-level WARNING
+CMFLAGS += -Wno-deprecated
+
+export SERIAL_PORT ?= /dev/ttyACM0
+.PHONY: FORCE
+
+all: FORCE $(TARGET)
+
+flash: upload-main;
+upload-main: $(TARGET)
+
+$(BUILD_DIR)/build.ninja: CMakeLists.txt
+ @mkdir -p $(BUILD_DIR)
+ @cmake -B $(BUILD_DIR) -G Ninja $(CMFLAGS)
+
+$(TARGET): $(BUILD_DIR)/build.ninja FORCE
+ @ninja -C $(BUILD_DIR)
+
+clean: FORCE
+ $(RM) -r $(BUILD_DIR)
+
+# Forward any unknown targets to Ninja
+ifneq ($(MAKECMDGOALS),)
+%::
+ @ninja -C $(BUILD_DIR) $@
+endif
+