unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#12011: Makefile.in: allow installation of $(FULLEMACS) without linking to $(EMACS)
@ 2012-07-21 17:42 Achim Gratz
  2012-08-19 16:29 ` Achim Gratz
  0 siblings, 1 reply; 5+ messages in thread
From: Achim Gratz @ 2012-07-21 17:42 UTC (permalink / raw)
  To: 12011

[-- Attachment #1: Type: text/plain, Size: 457 bytes --]


If you have several Emacsen installed in parallel, the step in 'make
install' that links $(FULLEMACS) to $(EMACS) is almost never wanted.  It
would be nice if there was a separate target that avoided removing the
previous link (which should be left alone) and then creating a new link.

Two patches to Makefile.in (one for trunk and the other for emacs-24)
are attached that implement the above suggestion.  Feel free to give
those targets better names.



[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: allow to install only the full emacs binary --]
[-- Type: text/x-patch, Size: 1861 bytes --]

From 043686d352f97657a537be95a53f8348aeb3c897 Mon Sep 17 00:00:00 2001
From: Achim Gratz <Stromeko@Stromeko.DE>
Date: Sat, 21 Jul 2012 09:23:05 +0200
Subject: [PATCH] allow to install only the full emacs binary

---
 Makefile.in |   18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 95b0931..7cd05a4 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -397,9 +397,12 @@ $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
 ## don't have to duplicate the list of utilities to install in
 ## this Makefile as well.
 
-.PHONY: install
+.PHONY: install install-full-only install-full-link
 
-install: all install-arch-indep install-doc install-arch-dep blessmail
+install-full-only: all install-arch-indep install-doc install-arch-dep blessmail
+	@true
+
+install: install-full-link
 	@true
 
 ## Ensure that $subdir contains a subdirs.el file.
@@ -430,15 +433,21 @@ install-arch-dep: install-arch-indep install-doc
 	if test "${ns_self_contained}" = "no"; then \
 	  ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} $(DESTDIR)${bindir}/$(EMACSFULL) || exit 1 ; \
 	  chmod 1755 $(DESTDIR)${bindir}/$(EMACSFULL) ; \
-	  rm -f $(DESTDIR)${bindir}/$(EMACS) ; \
-	  ln $(DESTDIR)${bindir}/$(EMACSFULL) $(DESTDIR)${bindir}/$(EMACS) || true ; \
+	  true ; \
 	else \
 	  subdir=${ns_appresdir}/site-lisp; \
 	  ${write_subdir} || exit 1; \
 	  rm -rf ${ns_appresdir}/share; \
 	fi
 
+install-full-link: install-full-only
+	if test "${ns_self_contained}" = "no"; then \
+	  rm -f $(DESTDIR)${bindir}/$(EMACS) ; \
+	  ln $(DESTDIR)${bindir}/$(EMACSFULL) $(DESTDIR)${bindir}/$(EMACS) || true ; \
+	else \
+	  true ; \
+	fi
+
 ## In the share directory, we are deleting:
 ## applications (with emacs.desktop, also found in etc/)
 ## emacs (basically empty except for unneeded site-lisp directories)
-- 
1.7.10.4


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: allow to install only the full emacs binary --]
[-- Type: text/x-patch, Size: 2203 bytes --]

From 469d3d20773c942219c268d48519f99419258930 Mon Sep 17 00:00:00 2001
From: Achim Gratz <Stromeko@Stromeko.DE>
Date: Sat, 21 Jul 2012 08:48:24 +0200
Subject: [PATCH] allow to install only the full emacs binary

---
 Makefile.in |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 9a9be4f..7c581b1 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -449,7 +449,7 @@ $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
 ## On AIX, use tar xBf.
 ## On Xenix, use tar xpf.
 
-.PHONY: install mkdir
+.PHONY: install install-full-only install-full-link mkdir
 
 ## We delete each directory in ${COPYDESTS} before we copy into it;
 ## that way, we can reinstall over directories that have been put in
@@ -458,7 +458,10 @@ $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
 ## source exists and is distinct from the destination.
 ### We do install-arch-indep first because
 ### the executable needs the Lisp files and DOC file to work properly.
-install: all install-arch-indep install-arch-dep install-leim blessmail
+install-fullonly: all install-arch-indep install-arch-dep install-leim blessmail
+	@true
+
+install: install-full-link
 	@true
 
 MV_DIRS = for i in $$dir; do rm -fr `basename "$$i"` ; mv "$$i" . ; done
@@ -474,8 +477,6 @@ install-arch-dep: mkdir
 	    INSTALL_STRIP=${INSTALL_STRIP})
 	${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} $(DESTDIR)${bindir}/$(EMACSFULL)
 	-chmod 1755 $(DESTDIR)${bindir}/$(EMACSFULL)
-	rm -f $(DESTDIR)${bindir}/$(EMACS)
-	-ln $(DESTDIR)${bindir}/$(EMACSFULL) $(DESTDIR)${bindir}/$(EMACS)
 	if test "${ns_appresdir}" != ""; then \
 	  ( cd ${ns_appresdir} ; \
 	    if test -d share/emacs ; then dir=share/emacs/*/*; $(MV_DIRS); fi;\
@@ -487,7 +488,10 @@ install-arch-dep: mkdir
 	    ln -sf ../libexec/* . ; fi ; fi ) ; \
 	else true ; fi
 
+install-full-link: install-full-only
+	rm -f $(DESTDIR)${bindir}/$(EMACS)
+	-ln $(DESTDIR)${bindir}/$(EMACSFULL) $(DESTDIR)${bindir}/$(EMACS)
+
 ## FIXME is the emacs-24* bit above really necessary and correct?
 ## What if I have 24.1 and 24.2 installed at the same time?
 ## In any case, it should use something like echo $version | sed 's/\..*//'
-- 
1.7.10.4


[-- Attachment #4: Type: text/plain, Size: 201 bytes --]



Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Waldorf MIDI Implementation & additional documentation:
http://Synth.Stromeko.net/Downloads.html#WaldorfDocs

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-08-22  6:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-21 17:42 bug#12011: Makefile.in: allow installation of $(FULLEMACS) without linking to $(EMACS) Achim Gratz
2012-08-19 16:29 ` Achim Gratz
2012-08-20 22:42   ` Glenn Morris
2012-08-21  4:51     ` Achim Gratz
2012-08-22  6:56       ` Glenn Morris

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).