# Copyright 2023 Oliver Smith
# Copyright 2024-2025 Dylan Van Assche
# SPDX-License-Identifier: MPL-2.0

HEADER_FILE := src/common/header.css
USERCHROME_FILES := $(HEADER_FILE) $(sort $(wildcard src/userChrome/*.css))
USERCONTENT_FILES := $(HEADER_FILE) $(sort $(wildcard src/userContent/*.css))
VERSION := X.Y.Z
DESTDIR :=
THUNDERBIRD_DIR := /usr/lib/thunderbird
THUNDERBIRD_CONFIG_DIR := /etc/thunderbird

all: out/userChrome.files out/userContent.files out/extension

clean:
	rm -rf out
out:
	mkdir out

out/userChrome.files: $(USERCHROME_FILES) out
	for i in $(USERCHROME_FILES); do \
        echo "$$i" | cut -d/ -f 2-; \
    done > $@

out/userContent.files: $(USERCONTENT_FILES) out
	for i in $(USERCONTENT_FILES); do \
        echo "$$i" | cut -d/ -f 2-; \
    done > $@
    
out/extension:
	cp -R extension out/extension
	sed -i 's/VERSION/$(VERSION)/g' out/extension/manifest.json
	cd out/extension; zip -1 -r ../extension-v$(VERSION).xpi *
	cp src/policies.json out/policies.json
	sed -i 's/VERSION/$(VERSION)/g' out/policies.json

install: all
	src/prepare_install.sh "$(THUNDERBIRD_DIR)" "$(DESTDIR)"
	install -Dm644 out/policies.json \
		"$(DESTDIR)/$(THUNDERBIRD_CONFIG_DIR)/policies/policies.json"
	install -Dm644 src/mobile-config-prefs.js \
		"$(DESTDIR)/$(THUNDERBIRD_DIR)/defaults/pref/mobile-config-prefs.js"
	install -Dm644 src/mobile-config-autoconfig.js \
		"$(DESTDIR)/$(THUNDERBIRD_DIR)/mobile-config-autoconfig.js"
	install -Dm644 "out/userChrome.files" \
		-t "$(DESTDIR)/etc/mobile-config-thunderbird"
	install -Dm644 "out/userContent.files" \
		-t "$(DESTDIR)/etc/mobile-config-thunderbird"
	install -Dm644 "out/extension-v$(VERSION).xpi" \
		-t "$(DESTDIR)/etc/mobile-config-thunderbird"
	for dir in common userChrome userContent; do \
		for i in src/$$dir/*.css; do \
			install \
				-Dm644 \
				"$$i" \
				-t "$(DESTDIR)/etc/mobile-config-thunderbird/$$dir"; \
		done; \
	done
	install -Dm644 org.postmarketos.mobile_config_thunderbird.metainfo.xml \
		"$(DESTDIR)/usr/share/metainfo/org.postmarketos.mobile_config_thunderbird.metainfo.xml"

uninstall:
	src/prepare_uninstall.sh "$(THUNDERBIRD_DIR)" "$(DESTDIR)"
	rm -fv "$(DESTDIR)/$(THUNDERBIRD_CONFIG_DIR)/policies/policies.json"
	rm -fv "$(DESTDIR)/$(THUNDERBIRD_DIR)/defaults/pref/mobile-config-prefs.js"
	rm -fv "$(DESTDIR)/$(THUNDERBIRD_DIR)/mobile-config-autoconfig.js"
	rm -rfv "$(DESTDIR)/etc/mobile-config-thunderbird"
	rm -fv "$(DESTDIR)/usr/share/metainfo/org.postmarketos.mobile_config_thunderbird.metainfo.xml"


.PHONY: all clean install uninstall
