|
| 1 | +BACKGROUNDS=$(wildcard backgrounds/*) |
| 2 | +SCALED=$(sort $(patsubst backgrounds/%, scaled/%, $(BACKGROUNDS))) |
| 3 | + |
| 4 | +prefix ?= /usr |
| 5 | +datarootdir = $(prefix)/share |
| 6 | +datadir = $(datarootdir) |
| 7 | + |
| 8 | +.PHONY: all clean install uninstall |
| 9 | + |
| 10 | +all: $(SCALED) scaled/info.xml |
| 11 | + |
| 12 | +clean: |
| 13 | + rm -rf build scaled |
| 14 | + |
| 15 | +install: all |
| 16 | + for file in $(SCALED); do \ |
| 17 | + install -D -m 0644 "$$file" "$(DESTDIR)$(datadir)/backgrounds/system76/$$(basename "$$file")"; \ |
| 18 | + done |
| 19 | + install -D -m 0644 "scaled/info.xml" "$(DESTDIR)$(datadir)/gnome-background-properties/system76-wallpapers.xml" |
| 20 | + |
| 21 | +uninstall: |
| 22 | + for file in $(SCALED); do \ |
| 23 | + rm -f "$(DESTDIR)$(datadir)/backgrounds/system76/$$(basename "$$file")"; \ |
| 24 | + done |
| 25 | + rmdir --ignore-fail-on-non-empty "$(DESTDIR)$(datadir)/backgrounds/system76/" |
| 26 | + rm -f "$(DESTDIR)$(datadir)/gnome-background-properties/system76-wallpapers.xml" |
| 27 | + rmdir --ignore-fail-on-non-empty "$(DESTDIR)$(datadir)/gnome-background-properties/" |
| 28 | + |
| 29 | +scaled/%: backgrounds/% |
| 30 | + @mkdir -p build scaled |
| 31 | + magick "$<" -resize "3840x2160^" "build/$*" |
| 32 | + mv "build/$*" "$@" |
| 33 | + |
| 34 | +scaled/info.xml: $(SCALED) |
| 35 | + @mkdir -p build scaled |
| 36 | + echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > "build/info.xml" |
| 37 | + echo "<!DOCTYPE wallpapers SYSTEM \"gnome-wp-list.dtd\">" >> "build/info.xml" |
| 38 | + echo "<wallpapers>" >> "build/info.xml" |
| 39 | + for file in $(SCALED); do \ |
| 40 | + filename="$$(basename "$$file")"; \ |
| 41 | + name="$${filename%.*}"; \ |
| 42 | + echo " <wallpaper>" >> "build/info.xml"; \ |
| 43 | + echo " <name>$$name</name>" >> "build/info.xml"; \ |
| 44 | + echo " <filename>/usr/share/backgrounds/system76/$$(basename "$$file")</filename>" >> "build/info.xml"; \ |
| 45 | + echo " <options>zoom</options>" >> "build/info.xml"; \ |
| 46 | + echo " <pcolor>#000000</pcolor>" >> "build/info.xml"; \ |
| 47 | + echo " <scolor>#000000</scolor>" >> "build/info.xml"; \ |
| 48 | + echo " <shade_type>solid</shade_type>" >> "build/info.xml"; \ |
| 49 | + echo " </wallpaper>" >> "build/info.xml"; \ |
| 50 | + done |
| 51 | + echo "</wallpapers>" >> "build/info.xml" |
| 52 | + mv "build/info.xml" "$@" |
0 commit comments