# Makefile

# Autostart module for EVBox G2/G3 chargers
# Written 2026 by Maarten Tromp <maarten@geekabit.nl>
# Website: https://www.geekabit.nl/projects/evbox-charger-autostart-module/
# License: Public Domain (CC0)
# For more info see README


BUILD_DIR			:= build

ZIP_FILE			:= $(BUILD_DIR)/src.zip
ZIP_CONTENTS		:= BUILDING Makefile src/ tests/
PUBLISH_FILES		:= $(ZIP_FILE) README

WEB_ROOT			:= $(HOME)/www/geekabit.nl/test/src/projects/evbox-charger-autostart-module
PUBLISH_DIR			:= $(WEB_ROOT)/downloads/software
ARTICLE				:= $(WEB_ROOT)/index.conf

MKDIR				:= mkdir
MKDIR_FLAGS			:= -p
ZIP					:= zip
ZIP_FLAGS			:= -r
RSYNC				:= rsync
RSYNC_FLAGS			:= --verbose --archive
TOUCH				:= touch


.PHONY: all clean firmware prog publish test

all: firmware

$(BUILD_DIR):
	$(MKDIR) $(MKDIR_FLAGS) $@

firmware:
	$(MAKE) -C src/hw

prog:
	$(MAKE) -C src/hw prog

test:
	$(MAKE) -C tests

clean:
	$(MAKE) -C src/hw clean
	$(MAKE) -C tests clean
	$(RM) $(ZIP_FILE)

$(ZIP_FILE): $(ZIP_CONTENTS) | $(BUILD_DIR)
	$(ZIP) $(ZIP_FLAGS) $@ $^

publish: $(PUBLISH_FILES) 
	$(RSYNC) $(RSYNC_FLAGS) $^ $(PUBLISH_DIR)/
	$(TOUCH) $(ARTICLE)
