[chronojump] Fix makefile warning



commit 27755d163831f0a43382ad225294c5b7a71c5065
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date:   Mon Oct 14 16:48:26 2013 +0200

    Fix makefile warning

 build/build.rules.mk               |    4 +-
 build/icon-theme-installer         |  177 ++++++++++++++++++++++++++++++++++++
 build/private-icon-theme-installer |   23 +++++
 3 files changed, 201 insertions(+), 3 deletions(-)
---
diff --git a/build/build.rules.mk b/build/build.rules.mk
index 20a5f45..056a433 100644
--- a/build/build.rules.mk
+++ b/build/build.rules.mk
@@ -11,9 +11,7 @@ RESOURCES_EXPANDED = $(addprefix $(srcdir)/, $(RESOURCES))
 RESOURCES_BUILD = $(foreach resource, $(RESOURCES_EXPANDED), \
        -resource:$(resource))
 
-#INSTALL_ICONS = $(top_srcdir)/build/private-icon-theme-installer "$(mkinstalldirs)" "$(INSTALL_DATA)"
-#THEME_ICONS_SOURCE = $(wildcard $(srcdir)/ThemeIcons/*/*/*.png) $(wildcard 
$(srcdir)/ThemeIcons/scalable/*/*.svg)
-#THEME_ICONS_RELATIVE = $(subst $(srcdir)/ThemeIcons/, , $(THEME_ICONS_SOURCE))
+INSTALL_ICONS = $(top_srcdir)/build/private-icon-theme-installer "$(mkinstalldirs)" "$(INSTALL_DATA)"
 
 ASSEMBLY_EXTENSION = $(strip $(patsubst library, dll, $(TARGET)))
 ASSEMBLY_FILE = $(top_builddir)/bin/$(ASSEMBLY).$(ASSEMBLY_EXTENSION)
diff --git a/build/icon-theme-installer b/build/icon-theme-installer
new file mode 100755
index 0000000..0260788
--- /dev/null
+++ b/build/icon-theme-installer
@@ -0,0 +1,177 @@
+#!/usr/bin/env bash
+
+# icon-theme-installer
+# Copyright (C) 2006 Novell, Inc.
+# Written by Aaron Bockover <abock gnome org>
+# Licensed under the MIT/X11 license
+#
+# This script is meant to be invoked from within a Makefile/Makefile.am
+# in the install-data-local and uninstall-data sections. It handles the
+# task of properly installing icons into the icon theme. It requires a
+# few arguments to set up its environment, and a list of files to be
+# installed. The format of the file list is critical:
+#
+# <category>,<local-src-file-name>
+#
+#   apps,music-player-banshee.svg
+#   apps,music-player-banshee-16.png
+#   apps,music-player-banshee-22.png
+#
+# <category> is the icon theme category, for instance, apps, devices,
+# actions, emblems...
+#
+# <local-src-file-name> must have a basename in the form of:
+#
+#   proper-theme-name[-<SIZE>].<EXTENSION>
+#
+# Where <SIZE> should be either nothing, which will default to scalable
+# or \-[0-9]{2}, which will expand to <SIZE>x<SIZE>. For example:
+#
+#   music-player-banshee-16.png
+#
+# The <SIZE> here is -16 and will expand to 16x16 per the icon theme spec
+#
+# What follows is an example Makefile.am for icon theme installation:
+#
+# ---------------
+# theme=hicolor
+# themedir=$(datadir)/icons/$(theme)
+# theme_icons = \
+#      apps,music-player-banshee.svg \
+#      apps,music-player-banshee-16.png \
+#      apps,music-player-banshee-22.png \
+#      apps,music-player-banshee-24.png \
+#      apps,music-player-banshee-32.png
+#
+# install_icon_exec = $(top_srcdir)/build/icon-theme-installer -t $(theme) -s $(srcdir) -d "x$(DESTDIR)" -b 
$(themedir) -m "$(mkinstalldirs)" -x "$(INSTALL_DATA)"
+# install-data-local:
+#      $(install_icon_exec) -i $(theme_icons)
+#
+#      uninstall-hook:
+#              $(install_icon_exec) -u $(theme_icons)
+#
+#      MAINTAINERCLEANFILES = Makefile.in
+#      EXTRA_DIST = $(wildcard *.svg *.png)
+# ---------------
+#
+# Arguments to this program:
+#
+# -i         : Install
+# -u         : Uninstall
+# -t <theme> : Theme name (hicolor)
+# -d <dir>   : Theme installation dest directory [x$(DESTDIR)] - Always prefix
+#              this argument with x; it will be stripped but will act as a
+#              placeholder for zero $DESTDIRs (only set by packagers)
+# -b <dir>   : Theme installation directory [$(hicolordir)]
+# -s <dir>   : Source directory [$(srcdir)]
+# -m <exec>  : Command to exec for directory creation [$(mkinstalldirs)]
+# -x <exec>  : Command to exec for single file installation [$(INSTALL_DATA)]
+# <remainging> : All remainging should be category,filename pairs
+
+while getopts "iut:b:d:s:m:x:" flag; do
+       case "$flag" in
+               i) INSTALL=yes ;;
+               u) UNINSTALL=yes ;;
+               t) THEME_NAME=$OPTARG ;;
+               d) INSTALL_DEST_DIR=${OPTARG##x} ;;
+               b) INSTALL_BASE_DIR=$OPTARG ;;
+               s) SRC_DIR=$OPTARG ;;
+               m) MKINSTALLDIRS_EXEC=$OPTARG ;;
+               x) INSTALL_DATA_EXEC=$OPTARG ;;
+       esac
+done
+
+shift $(($OPTIND - 1))
+
+if test "x$INSTALL" = "xyes" -a "x$UNINSTALL" = "xyes"; then
+       echo "Cannot pass both -i and -u"
+       exit 1
+elif test "x$INSTALL" = "x" -a "x$UNINSTALL" = "x"; then
+       echo "Must path either -i or -u"
+       exit 1
+fi
+
+if test -z "$THEME_NAME"; then
+       echo "Theme name required (-t hicolor)"
+       exit 1
+fi
+
+if test -z "$INSTALL_BASE_DIR"; then
+       echo "Base theme directory required [-b \$(hicolordir)]"
+       exit 1
+fi
+
+if test ! -x $(echo "$MKINSTALLDIRS_EXEC" | cut -f1 -d' '); then
+       echo "Cannot find '$MKINSTALLDIRS_EXEC'; You probably want to pass -m \$(mkinstalldirs)"
+       exit 1
+fi
+
+if test ! -x $(echo "$INSTALL_DATA_EXEC" | cut -f1 -d' '); then
+       echo "Cannot find '$INSTALL_DATA_EXEC'; You probably want to pass -x \$(INSTALL_DATA)"
+       exit 1
+fi
+
+if test -z "$SRC_DIR"; then
+       SRC_DIR=.
+fi
+
+for icon in $@; do
+       size=$(echo $icon | sed s/[^0-9]*//g)
+       category=$(echo $icon | cut -d, -f1)
+       build_name=$(echo $icon | cut -d, -f2)
+       install_name=$(echo $build_name | sed "s/[0-9]//g; s/-\././")
+       install_name=$(basename $install_name)
+
+       if test -z $size; then 
+               size=scalable;
+       else
+               size=${size}x${size};
+       fi
+       
+       install_dir=${INSTALL_DEST_DIR}${INSTALL_BASE_DIR}/$size/$category
+       install_path=$install_dir/$install_name
+       
+       if test "x$INSTALL" = "xyes"; then
+               echo "Installing $size $install_name into $THEME_NAME icon theme"
+               
+               $($MKINSTALLDIRS_EXEC $install_dir) || {
+                       echo "Failed to create directory $install_dir"
+                       exit 1
+               }
+               
+               $($INSTALL_DATA_EXEC $SRC_DIR/$build_name $install_path) || {
+                       echo "Failed to install $SRC_DIR/$build_name into $install_path"
+                       exit 1
+               }
+
+               if test ! -e $install_path; then
+                       echo "Failed to install $SRC_DIR/$build_name into $install_path"
+                       exit 1
+               fi
+       else
+               if test -e $install_path; then
+                       echo "Removing $size $install_name from $THEME_NAME icon theme"
+
+                       rm $install_path || { 
+                               echo "Failed to remove $install_path"
+                               exit 1
+                       }
+               fi
+       fi
+done
+
+gtk_update_icon_cache_bin="$((which gtk-update-icon-cache || echo 
/opt/gnome/bin/gtk-update-icon-cache)2>/dev/null)"
+gtk_update_icon_cache="$gtk_update_icon_cache_bin -f -t $INSTALL_BASE_DIR"
+
+if test -z "$INSTALL_DEST_DIR"; then 
+       if test -x $gtk_update_icon_cache_bin; then 
+               echo "Updating GTK icon cache"
+               $gtk_update_icon_cache
+       else
+               echo "*** Icon cache not updated. Could not execute $gtk_update_icon_cache_bin"
+       fi
+else
+       echo "*** Icon cache not updated. After (un)install, run this:"
+       echo "***   $gtk_update_icon_cache"
+fi
+
diff --git a/build/private-icon-theme-installer b/build/private-icon-theme-installer
new file mode 100755
index 0000000..00f0ffe
--- /dev/null
+++ b/build/private-icon-theme-installer
@@ -0,0 +1,23 @@
+#!/usr/bin/env bash
+
+mkinstalldirs=$1; shift
+install_data=$1; shift
+action=$1; shift
+dest_dir=$1; shift
+src_dir=$1; shift
+
+for icon in $@; do
+       dest_dir_build="${dest_dir}/icons/hicolor/$(dirname ${icon})"
+       if [[ ${action} == "-i" || ${action} == "-il" ]]; then
+               src_file="${src_dir}/ThemeIcons/${icon}"
+               $mkinstalldirs "${dest_dir_build}" &>/dev/null
+               if [[ ${action} == "-i" ]]; then 
+                       echo "Installing private icon theme icon: ${icon}"
+               fi
+               $install_data "${src_file}" "${dest_dir_build}"
+       else
+               echo "Uninstalling private icon theme icon: ${icon}"
+               rm -f "${dest_dir_build}/$(basename ${icon})"
+       fi
+done
+


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]