changeset 87588:32e91443c003

(desktopdir, icondir): New variables. (install-arch-indep): Also depend on `install-etc'. (install-etc): New target. (mkdir): Also create the `applications' and `icons' directories.
author Glenn Morris <rgm@gnu.org>
date Sat, 05 Jan 2008 04:14:59 +0000
parents 546180f9602b
children 56eec786981b
files Makefile.in
diffstat 1 files changed, 27 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.in	Sat Jan 05 04:14:40 2008 +0000
+++ b/Makefile.in	Sat Jan 05 04:14:59 2008 +0000
@@ -170,6 +170,12 @@
 # Location to install Emacs.app on Mac OS X
 carbon_appdir=@carbon_appdir@
 
+# Where the etc/emacs.desktop file is to be installed.
+desktopdir=$(datarootdir)/applications
+
+# Where the etc/images/icons/hicolor directory is to be installed.
+icondir=$(datarootdir)/icons
+
 # ==================== Emacs-specific directories ====================
 
 # These variables hold the values Emacs will actually use.  They are
@@ -429,7 +435,7 @@
 ## Nuisance because i) it needs to be the user running install, so
 ## configure can't set it; ii) can't (?) use the result of rule
 ## commands to set make variables.
-install-arch-indep: mkdir info
+install-arch-indep: mkdir info install-etc
 	-set ${COPYDESTS} ; \
 	unset CDPATH; \
 	for dir in ${COPYDIR} ; do \
@@ -571,6 +577,17 @@
 	   chmod a+r $(DESTDIR)${man1dir}/$${page}${manext}); \
 	done
 
+## Install those items from etc/ that need to end up elsewhere.
+install-etc: mkdir
+	${INSTALL_DATA} ${srcdir}/etc/emacs.desktop \
+	  $(DESTDIR)${desktopdir}/emacs.desktop
+	for icon in $(srcdir)/etc/images/icons/*/*x*/apps/*.*; do \
+	  if [ -r $${icon} ]; then \
+	    iicon=`echo "$${icon}" | sed 's,$(srcdir)/etc/images/icons,$(DESTDIR)${icondir},'` ; \
+	    ${INSTALL_DATA} $${icon} $${iicon} ; \
+	  fi ; \
+	done
+
 ### Install LEIM files.  Although they are machine-independent, we
 ### have separate target here instead of including it in
 ### `install-arch-indep'.  People who extracted LEIM files after they
@@ -591,11 +608,19 @@
 	  $(srcdir)/mkinstalldirs $(DESTDIR)${datadir}; \
 	  chmod a+r $(DESTDIR)${datadir};\
 	fi
+	icondirs= ; \
+	for dir in $(srcdir)/etc/images/icons/*/*x*/apps; do \
+	  if [ -d $${dir} ]; then \
+	    icondirs="$${icondirs} $${dir}" ; \
+	  fi ; \
+	done ; \
+	icondirs=`echo "$${icondirs}" | sed 's,$(srcdir)/etc/images/icons,$(DESTDIR)${icondir},g'` ; \
 	$(srcdir)/mkinstalldirs ${COPYDESTS} $(DESTDIR)${infodir} $(DESTDIR)${man1dir} \
 	  $(DESTDIR)${bindir} $(DESTDIR)${docdir} $(DESTDIR)${libexecdir} \
 	  $(DESTDIR)${datadir}/emacs/site-lisp \
 	  $(DESTDIR)${datadir}/emacs/${version}/site-lisp \
-	  $(DESTDIR)`echo ${locallisppath} | sed 's,:, $(DESTDIR),g'`
+	  $(DESTDIR)`echo ${locallisppath} | sed 's,:, $(DESTDIR),g'` \
+	  $(DESTDIR)${desktopdir} $${icondirs}
 
 ### Delete all the installed files that the `install' target would
 ### create (but not the noninstalled files such as `make all' would