.PHONY: all clean upload SRC = $(shell find src/) memory.x Cargo.toml build.rs CARGO_CONF = .cargo/config CARGO_FLAGS = --release BOSSA_FLAGS = -ewvRo 0x2000 TARGET_DIR = target TARGET_ARCH = $(shell grep -oP '^target\s+=\s+"\K[\w\-]+' $(CARGO_CONF)) CARGO_BIN = $(TARGET_DIR)/$(TARGET_ARCH)/release/onyx FLASH_IMG = $(TARGET_DIR)/onyx.bin all: $(FLASH_IMG) $(FLASH_IMG): $(CARGO_BIN) arm-none-eabi-objcopy -O binary $< $@ $(CARGO_BIN): $(SRC) cargo build $(CARGO_FLAGS) upload: $(FLASH_IMG) bossac $(BOSSA_FLAGS) $< clean: $(RM) -r $(TARGET_DIR)