summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonny Lamb <jonnylamb@gnome.org>2010-12-02 14:17:19 +0000
committerJonny Lamb <jonnylamb@gnome.org>2010-12-02 14:27:11 +0000
commitbf598a9a60da363a7d18fcd1e2fbf951f50c041c (patch)
treec81035a99ba0a1ad8bcb33c678ecce993f931348
parentd694cee6b174911a303270d3cce4365b1aa759e5 (diff)
icons: only install new icons if they've changedicons
Signed-off-by: Jonny Lamb <jonnylamb@gnome.org>
-rw-r--r--data/icons/Makefile.am20
1 files changed, 8 insertions, 12 deletions
diff --git a/data/icons/Makefile.am b/data/icons/Makefile.am
index f02abeb07..0d0ef6ca6 100644
--- a/data/icons/Makefile.am
+++ b/data/icons/Makefile.am
@@ -255,22 +255,18 @@ uninstall-local: uninstall-icons update-icon-cache
# from source (see bgo #616159)
local_icons_dir = $(top_builddir)/data/icons/local-copy
-install-icons-src: $(public_icons) $(private_icons)
- for icon in $(public_icons); do \
- THEME=`echo $$icon | cut -d_ -f1`; \
- CONTEXT=`echo $$icon | cut -d_ -f2`; \
- SIZE=`echo $$icon | cut -d_ -f3`; \
- ICONFILE=`echo $$icon | cut -d_ -f4`; \
- mkdir -p $(local_icons_dir)/icons/$$THEME/$$SIZE/$$CONTEXT; \
- $(INSTALL_DATA) $(srcdir)/$$icon $(local_icons_dir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \
- done; \
- for icon in $(private_icons); do \
+install-icons-src:
+ @for icon in $(public_icons) $(private_icons); do \
THEME=`echo $$icon | cut -d_ -f1`; \
CONTEXT=`echo $$icon | cut -d_ -f2`; \
SIZE=`echo $$icon | cut -d_ -f3`; \
ICONFILE=`echo $$icon | cut -d_ -f4`; \
- mkdir -p $(local_icons_dir)/icons/$$THEME/$$SIZE/$$CONTEXT; \
- $(INSTALL_DATA) $(srcdir)/$$icon $(local_icons_dir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \
+ PRETTY_FILENAME=$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \
+ FILENAME=$(local_icons_dir)/icons/$$PRETTY_FILENAME; \
+ if ! cmp -s $$icon $(local_icons_dir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; then \
+ mkdir -p $(local_icons_dir)/icons/$$THEME/$$SIZE/$$CONTEXT; \
+ $(INSTALL_DATA) $(srcdir)/$$icon $$FILENAME; \
+ fi; \
done
all: install-icons-src