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" "$@"
							 |