38 lines
935 B
Makefile
38 lines
935 B
Makefile
# 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)"
|