SRC_DIR := src
BUILD_DIR := build

MAIN_PY := src/main.py
SRC_FILES := $(filter-out $(MAIN_PY), $(wildcard $(SRC_DIR)/*.py) $(wildcard $(SRC_DIR)/**/*.py))
BUILD_FILES := $(patsubst $(SRC_DIR)/%.py,$(BUILD_DIR)/%.mpy, $(SRC_FILES))
	
$(BUILD_DIR)/%.mpy: $(SRC_DIR)/%.py
	@mkdir -p `dirname $@`
	mpy-cross $< -o $@

.PHONY: build
build: $(BUILD_FILES)

.PHONY: clean
clean:
	rm -rf $(BUILD_DIR)

.PHONY: deploy
deploy: $(BUILD_FILES)
	mpremote fs cp $(MAIN_PY) :
	mpremote fs cp -r $(BUILD_DIR)/* :
	
.PHONY: purge
purge:
	mpremote run purge.py

.PHONY: run
run: deploy
	mpremote exec "import main; main.main()"
