diff --git a/Makefile b/Makefile index 9d6399a..e9e4410 100644 --- a/Makefile +++ b/Makefile @@ -1,48 +1,51 @@ ############################################################################### # Simple-Tiling – Makefile # -# make build → Erzeugt beide Versionen als Archivdatei -# make build-legacy → Erzeugt Legacy-ZIP (Shell 3.38-44) -# make build-modern → Erzeugt Modern-ZIP (Shell 45-48) -# make install-legacy → Installiert Legacy Extension -# make install-modern → Installiert Modern Extension -# make clean → Bereinigt das Ausgangsverzeichnis +# make build → Erzeugt alle drei Versionen als Archivdatei +# make build-legacy → Erzeugt Legacy-ZIP (Shell 3.38) +# make build-interim → Erzeugt Interim-ZIP (Shell 40-44) +# make build-modern → Erzeugt Modern-ZIP (Shell 45+) +# make install-legacy → Installiert Legacy Extension +# make install-interim → Installiert Interim Extension +# make install-modern → Installiert Modern Extension +# make clean → Bereinigt das Ausgangsverzeichnis ############################################################################### UUID := simple-tiling@domoel -VERSION := 6 +VERSION := 7 EXTDIR := $(HOME)/.local/share/gnome-shell/extensions -COMMON_FILES := schemas exceptions.txt locale *.css README.md LICENSE -LEGACY_PREFS := prefs_legacy.js -MODERN_PREFS := prefs_modern.js +COMMON_FILES := prefs.js schemas exceptions.txt locale *.css README.md LICENSE +LEGACY_PREFS := prefs_legacy.js +INTERIM_PREFS := prefs_interim.js +MODERN_PREFS := prefs_modern.js ############################################################################### # Helper: copies ############################################################################### define copies - @for f in $(1) ; do \ - if [ -e $$f ] ; then \ - cp -r $$f $(2)/ ; \ - fi ; \ - done + @for f in $(1) ; do \ + if [ -e $$f ] ; then \ + cp -r $$f $(2)/ ; \ + fi ; \ + done endef -.PHONY: build build-legacy build-modern \ - install-legacy install-modern clean +.PHONY: build build-legacy build-interim build-modern \ + install-legacy install-interim install-modern clean -build: build-legacy build-modern +build: build-legacy build-interim build-modern ############################################################################### -# Erzeugt Legacy-ZIP (Shell 3.38-44) +# Erzeugt Legacy-ZIP (Shell 3.38) ############################################################################### build-legacy: - @echo "==> Building LEGACY zip …" + @echo "==> Building LEGACY zip (for GNOME 3.38)..." @rm -rf build && mkdir -p build/$(UUID) $(call copies,$(COMMON_FILES),build/$(UUID)) @glib-compile-schemas build/$(UUID)/schemas @cp legacy.js build/$(UUID)/extension.js - @cp $(LEGACY_PREFS) build/$(UUID)/prefs.js + @cp $(LEGACY_PREFS) build/$(UUID)/prefs.js @sed -e "s/__UUID__/$(UUID)/g" \ -e "s/__VERSION__/$(VERSION)/g" \ metadata_legacy.json.in > build/$(UUID)/metadata.json @@ -51,15 +54,32 @@ build-legacy: @echo "✓ $(UUID)-legacy-v$(VERSION).zip created" ############################################################################### -# Erzeugt Modern-ZIP (Shell 45-48) +# Erzeugt Interim-ZIP (Shell 40-44) +############################################################################### +build-interim: + @echo "==> Building INTERIM zip (for GNOME 40-44)..." + @rm -rf build && mkdir -p build/$(UUID) + $(call copies,$(COMMON_FILES),build/$(UUID)) + @glib-compile-schemas build/$(UUID)/schemas + @cp interim.js build/$(UUID)/extension.js + @cp $(INTERIM_PREFS) build/$(UUID)/prefs.js + @sed -e "s/__UUID__/$(UUID)/g" \ + -e "s/__VERSION__/$(VERSION)/g" \ + metadata_interim.json.in > build/$(UUID)/metadata.json + @cd build && zip -qr ../$(UUID)-interim-v$(VERSION).zip . + @rm -rf build + @echo "✓ $(UUID)-interim-v$(VERSION).zip created" + +############################################################################### +# Erzeugt Modern-ZIP (Shell 45+) ############################################################################### build-modern: - @echo "==> Building MODERN zip …" + @echo "==> Building MODERN zip (for GNOME 45+)..." @rm -rf build && mkdir -p build/$(UUID) $(call copies,$(COMMON_FILES),build/$(UUID)) @glib-compile-schemas build/$(UUID)/schemas @cp modern.js build/$(UUID)/extension.js - @cp $(MODERN_PREFS) build/$(UUID)/prefs.js + @cp $(MODERN_PREFS) build/$(UUID)/prefs.js @sed -e "s/__UUID__/$(UUID)/g" \ -e "s/__VERSION__/$(VERSION)/g" \ metadata_modern.json.in > build/$(UUID)/metadata.json @@ -68,43 +88,32 @@ build-modern: @echo "✓ $(UUID)-modern-v$(VERSION).zip created" ############################################################################### -# Installiert Legacy Extension bzw. Modern Extension +# Installiert die verschiedenen Versionen ############################################################################### -install-legacy: - @echo "==> Building & installing LEGACY Extension …" - @rm -rf build && mkdir -p build/$(UUID) - $(call copies,$(COMMON_FILES),build/$(UUID)) - @glib-compile-schemas build/$(UUID)/schemas - @cp legacy.js build/$(UUID)/extension.js - @cp $(LEGACY_PREFS) build/$(UUID)/prefs.js - @sed -e "s/__UUID__/$(UUID)/g" \ - -e "s/__VERSION__/$(VERSION)/g" \ - metadata_legacy.json.in > build/$(UUID)/metadata.json +install-legacy: build-legacy + @echo "==> Installing LEGACY Extension..." @rm -rf $(EXTDIR)/$(UUID) - @mkdir -p $(EXTDIR) - @mv build/$(UUID) $(EXTDIR)/ - @rm -rf build - @echo "✓ Extension installed to $(EXTDIR)/$(UUID)" + @unzip -q $(UUID)-legacy-v$(VERSION).zip -d $(EXTDIR) + @rm -f $(UUID)-legacy-v$(VERSION).zip + @echo "✓ Legacy Extension installed to $(EXTDIR)/$(UUID). Restart GNOME Shell to apply." -install-modern: - @echo "==> Building & installing MODERN Extension …" - @rm -rf build && mkdir -p build/$(UUID) - $(call copies,$(COMMON_FILES),build/$(UUID)) - @glib-compile-schemas build/$(UUID)/schemas - @cp modern.js build/$(UUID)/extension.js - @cp $(MODERN_PREFS) build/$(UUID)/prefs.js - @sed -e "s/__UUID__/$(UUID)/g" \ - -e "s/__VERSION__/$(VERSION)/g" \ - metadata_modern.json.in > build/$(UUID)/metadata.json +install-interim: build-interim + @echo "==> Installing INTERIM Extension..." @rm -rf $(EXTDIR)/$(UUID) - @mkdir -p $(EXTDIR) - @mv build/$(UUID) $(EXTDIR)/ - @rm -rf build - @echo "✓ Extension installed to $(EXTDIR)/$(UUID)" + @unzip -q $(UUID)-interim-v$(VERSION).zip -d $(EXTDIR) + @rm -f $(UUID)-interim-v$(VERSION).zip + @echo "✓ Interim Extension installed to $(EXTDIR)/$(UUID). Restart GNOME Shell to apply." + +install-modern: build-modern + @echo "==> Installing MODERN Extension..." + @rm -rf $(EXTDIR)/$(UUID) + @unzip -q $(UUID)-modern-v$(VERSION).zip -d $(EXTDIR) + @rm -f $(UUID)-modern-v$(VERSION).zip + @echo "✓ Modern Extension installed to $(EXTDIR)/$(UUID). Restart GNOME Shell to apply." ############################################################################### # Bereinigt das Ausgangsverzeichnis ############################################################################### clean: - @rm -rf build $(UUID)-legacy-v$(VERSION).zip $(UUID)-modern-v$(VERSION).zip + @rm -f $(UUID)-*.zip @echo "Build directory and ZIPs removed."