From 94683b40016c6011809ce9b88eb35f180aada647 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 2 Jul 2023 00:37:38 +0200 Subject: Fix icon listing and make Makefile portable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- Makefile | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 2071ccf..66c7369 100644 --- a/Makefile +++ b/Makefile @@ -1,28 +1,39 @@ .POSIX: +DEVCHECK = @: + CONFIGFILE = config.mk include $(CONFIGFILE) all: -generated-rules.mk: $(CONFIGFILE) +generated.mk: $(CONFIGFILE) icons.mk Makefile + $(DEVCHECK) ./check-icons-listing @test ! -e $@ || chmod -- u+w $@ - printf '# %s\n' 'This file is generated from Makefile' > $@ - printf '\n%1i$$(DIR_SUFFIX)/%%.png: scalable$$(DIR_SUFFIX)/%%.svg conv\n\t./conv $$@\n' $(SIZES) | \ + printf '\043 %s\n' 'This file is generated from Makefile' > $@ + printf '\n%1i$$(DIR_SUFFIX)/%%.png: scalable$$(DIR_SUFFIX)/%%.svg conv\n\t./conv $$@\n' $(SIZES) |\ sed 's/^[0-9]\+/&x&/' >> $@ + set -e; \ + for size in $(SIZES); do\ + printf '\nALL_SIZE_%i_PNG_ICONS =\\\n' $$size >> $@;\ + sed '/^\s*\('"$$(printf '\043')"'.*\|\)$$/d' < icons.mk | sed 1d | sed 's/\\\?$$/\.png&/' |\ + sed 's/^\s*/&'"$${size}x$${size}"'\$$(DIR_SUFFIX)\//' >> $@;\ + done + printf '\nALL_PNG_ICONS =' >> $@ + printf ' $$(ALL_SIZE_%i_PNG_ICONS)' $(SIZES) >> $@ + printf '\n' >> $@ @chmod -- a-w $@ clean: - -rm -f -- index.theme *.o *.su conv generated-rules.mk - -if test -n "$(DIR_SUFFIX)"; then rm -rf -- scalable$(DIR_SUFFIX); fi + -rm -rf -- index.theme *.o *.su conv generated.mk scalable-"$(DIR_SUFFIX_)" -for s in $(SIZES); do printf "$${s}x$${s}$(DIR_SUFFIX)\n"; done | xargs rm -rf -- # These are just added so autocompletion works with them -all all-fast all-fast-icons install uninstall index.theme conv: generated-rules.mk +all all-fast all-fast-icons install uninstall index.theme conv: generated.mk +@$(MAKE) -f make-stage-2.mk $@ .DEFAULT: - +@$(MAKE) generated-rules.mk + +@$(MAKE) generated.mk +@$(MAKE) -f make-stage-2.mk $@ .PHONY: all all-fast all-fast-icons install uninstall clean -- cgit v1.2.3-70-g09d2