53 lines
1.9 KiB
Makefile
53 lines
1.9 KiB
Makefile
BACKGROUNDS=$(wildcard backgrounds/*)
|
|
SCALED=$(sort $(patsubst backgrounds/%, scaled/%, $(BACKGROUNDS)))
|
|
|
|
prefix ?= /usr
|
|
datarootdir = $(prefix)/share
|
|
datadir = $(datarootdir)
|
|
|
|
.PHONY: all clean install uninstall
|
|
|
|
all: $(SCALED) scaled/info.xml
|
|
|
|
clean:
|
|
rm -rf build scaled
|
|
|
|
install: all
|
|
for file in $(SCALED); do \
|
|
install -D -m 0644 "$$file" "$(DESTDIR)$(datadir)/backgrounds/system76/$$(basename "$$file")"; \
|
|
done
|
|
install -D -m 0644 "scaled/info.xml" "$(DESTDIR)$(datadir)/gnome-background-properties/system76-wallpapers.xml"
|
|
|
|
uninstall:
|
|
for file in $(SCALED); do \
|
|
rm -f "$(DESTDIR)$(datadir)/backgrounds/system76/$$(basename "$$file")"; \
|
|
done
|
|
rmdir --ignore-fail-on-non-empty "$(DESTDIR)$(datadir)/backgrounds/system76/"
|
|
rm -f "$(DESTDIR)$(datadir)/gnome-background-properties/system76-wallpapers.xml"
|
|
rmdir --ignore-fail-on-non-empty "$(DESTDIR)$(datadir)/gnome-background-properties/"
|
|
|
|
scaled/%: backgrounds/%
|
|
@mkdir -p build scaled
|
|
magick "$<" -resize "3840x2160^" "build/$*"
|
|
mv "build/$*" "$@"
|
|
|
|
scaled/info.xml: $(SCALED)
|
|
@mkdir -p build scaled
|
|
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > "build/info.xml"
|
|
echo "<!DOCTYPE wallpapers SYSTEM \"gnome-wp-list.dtd\">" >> "build/info.xml"
|
|
echo "<wallpapers>" >> "build/info.xml"
|
|
for file in $(SCALED); do \
|
|
filename="$$(basename "$$file")"; \
|
|
name="$${filename%.*}"; \
|
|
echo " <wallpaper>" >> "build/info.xml"; \
|
|
echo " <name>$$name</name>" >> "build/info.xml"; \
|
|
echo " <filename>/usr/share/backgrounds/system76/$$(basename "$$file")</filename>" >> "build/info.xml"; \
|
|
echo " <options>zoom</options>" >> "build/info.xml"; \
|
|
echo " <pcolor>#000000</pcolor>" >> "build/info.xml"; \
|
|
echo " <scolor>#000000</scolor>" >> "build/info.xml"; \
|
|
echo " <shade_type>solid</shade_type>" >> "build/info.xml"; \
|
|
echo " </wallpaper>" >> "build/info.xml"; \
|
|
done
|
|
echo "</wallpapers>" >> "build/info.xml"
|
|
mv "build/info.xml" "$@"
|