From: Ben Pfaff Date: Mon, 12 Jan 2015 00:05:44 +0000 (-0800) Subject: Smake: Factor output repetitive code into new script in build-aux. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp;a=commitdiff_plain;h=41a708b3aaf8e38cbf3bc38b1056c289c80b989f Smake: Factor output repetitive code into new script in build-aux. I planned to add another kind of icon but even without that change this makes the code more readable. --- diff --git a/Smake b/Smake index b27456bced..09f1c84e0a 100644 --- a/Smake +++ b/Smake @@ -303,39 +303,11 @@ all: prep_ph icons icons: $(ICONS) src/ui/gui/icons/icon-names.c src/ui/gui/icons/icon-names.c: $(MAKEFILE_LIST) - $(RM) $@ + $(RM) -f $@ printf '/* This is a generated file. Do not edit. */\n' >> $@ - printf '#include "icon-names.h"\n' >> $@ - echo >> $@ - printf 'static const char *action_icon_name[] =' >> $@ - printf '\n{\n' >> $@ - for i in $(ACTION_ICONS) ; do \ - echo $$i; \ - done | sed -e 's%[a-zA-Z/]*/[1-9]*x[1-9]*/\([^ ]*\)\.png%\1%g' | sort -u | while read f ; do \ - printf ' "%s", \n' $$f >> $@ ; \ - done ; \ - printf '};\n\n' >> $@ ; \ - printf 'const struct icon_context action_icon_context = {\n' >> $@ - printf ' action_icon_name,\n' >> $@ - printf " sizeof (action_icon_name) / sizeof (action_icon_name[0]),\n" >> $@ - printf " \"actions\"\n" >> $@ - printf '};\n' >> $@ ; \ - echo >> $@ - printf 'static const char *category_icon_name[] =' >> $@ - printf '\n{\n' >> $@ - for i in $(CATEGORY_ICONS) ; do \ - echo $$i; \ - done | sed -e 's%[a-zA-Z/]*/[1-9]*x[1-9]*/\([^ ]*\)\.png%\1%g' | sort -u | while read f ; do \ - printf ' "%s", \n' $$f >> $@ ; \ - done ; \ - printf '};\n\n' >> $@ ; \ - printf 'const struct icon_context category_icon_context = {\n' >> $@ - printf ' category_icon_name,\n' >> $@ - printf " sizeof (category_icon_name) / sizeof (category_icon_name[0]),\n" >> $@ - printf " \"categories\"\n" >> $@ - printf '};\n' >> $@ ; \ - echo >> $@ - + printf '#include "icon-names.h"\n\n' >> $@ + build-aux/icon-list action actions $(ACTION_ICONS) >> $@ + build-aux/icon-list category categories $(CATEGORY_ICONS) >> $@ src/ui/gui/icons/manifest: $(MAKEFILE_LIST) $(RM) $@ diff --git a/build-aux/automake.mk b/build-aux/automake.mk index 06410885ac..bfd8326ba3 100644 --- a/build-aux/automake.mk +++ b/build-aux/automake.mk @@ -1,3 +1,3 @@ ## Process this file with automake to produce Makefile.in -*- makefile -*- -EXTRA_DIST += build-aux/svg2png +EXTRA_DIST += build-aux/svg2png build-aux/icon-list diff --git a/build-aux/icon-list b/build-aux/icon-list new file mode 100644 index 0000000000..3abeaa1500 --- /dev/null +++ b/build-aux/icon-list @@ -0,0 +1,30 @@ +#! /bin/sh + +id=$1 +name=$2 +shift; shift + +cat <