# Targets:
#   make          - build the installable ZIP
#   make clean    - remove build artefacts
#   make version  - print current version read from addon.xml

ADDON_ID      := $(shell grep -oP '(?<=id=")[^"]+' addon.xml | head -1)
ADDON_VERSION := $(shell grep -oP '(?<=version=")[^"]+' addon.xml | head -1).0

ZIP_NAME      := $(ADDON_ID)-$(ADDON_VERSION).zip
DIST_DIR      := dist
STAGE_DIR     := $(DIST_DIR)/$(ADDON_ID)-$(ADDON_VERSION)

SRC_FILES     := addon.py addon.xml resources

.PHONY: all zip clean version

all: zip

zip: $(DIST_DIR)/$(ZIP_NAME)

stage:
	rm -rf $(STAGE_DIR)
	mkdir -p $(STAGE_DIR)
	cp -r $(SRC_FILES) $(STAGE_DIR)/
 
$(DIST_DIR)/$(ZIP_NAME): stage
	cd $(DIST_DIR) && \
	    zip -r $(ZIP_NAME) $(ADDON_ID)-$(ADDON_VERSION) \
	        --exclude "*.pyc" \
	        --exclude "*/__pycache__/*" \
	        --exclude "*.DS_Store"

clean:
	rm -rf $(DIST_DIR)

version:
	@echo "$(ADDON_ID) v$(ADDON_VERSION)"
