From: Achim Gratz <Stromeko@nexgo.de>
To: 12011@debbugs.gnu.org
Subject: bug#12011: Makefile.in: allow installation of $(FULLEMACS) without linking to $(EMACS)
Date: Sat, 21 Jul 2012 19:42:44 +0200 [thread overview]
Message-ID: <87vchh3t9n.fsf@Rainer.invalid> (raw)
[-- 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
next reply other threads:[~2012-07-21 17:42 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-21 17:42 Achim Gratz [this message]
2012-08-19 16:29 ` bug#12011: Makefile.in: allow installation of $(FULLEMACS) without linking to $(EMACS) Achim Gratz
2012-08-20 22:42 ` Glenn Morris
2012-08-21 4:51 ` Achim Gratz
2012-08-22 6:56 ` Glenn Morris
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87vchh3t9n.fsf@Rainer.invalid \
--to=stromeko@nexgo.de \
--cc=12011@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).