1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-24 07:20:37 +00:00
Commit Graph

605 Commits

Author SHA1 Message Date
Glenn Morris
48f73cfbf3 Progress towards allowing installation in directories with whitespace
* Makefile.in (COPYDESTS, write_subdir, install-arch-dep)
(install-arch-indep, install-etcdoc, install-info, install-man)
(install-etc, uninstall): Quote entities that might contain whitespace.

* build-aux/update-subdirs: Handle whitespace in argument.
Check cd return value.

* doc/emacs/Makefile.in (install-dvi, install-html, install-pdf)
(install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
(uninstall-pdf): Quote entities that might contain whitespace.

* doc/lispintro/Makefile.in (install-dvi, install-html, install-pdf)
(install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
(uninstall-pdf): Quote entities that might contain whitespace.

* doc/lispref/Makefile.in (install-dvi, install-html, install-pdf)
(install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
(uninstall-pdf): Quote entities that might contain whitespace.

* doc/misc/Makefile.in (install-dvi, install-html, install-pdf)
(install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
(uninstall-pdf): Quote entities that might contain whitespace.

* lib-src/Makefile.in ($(DESTDIR)${archlibdir}, need-blessmail, install)
(uninstall): Quote entities that might contain whitespace.

* nt/Makefile.in ($(DESTDIR)${archlibdir}, install, uninstall):
Quote entities that might contain whitespace.
2013-10-23 00:20:57 -07:00
Glenn Morris
b8e3b0a9ec Make building in directories with whitespace possible
Make has trouble with targets containing whitespace, 
http://savannah.gnu.org/bugs/?712, so the general approach is
to use relative paths where possible.  It's generally only Emacs
itself that needs absolute paths, eg in src/epaths.h.

* configure.ac (srcdir): Don't make it absolute - abs_srcdir exists.

* Makefile.in (abs_srcdir): New, set by configure.
(buildlisppath): Use abs_srcdir.
(install-arch-indep, install-etcdoc, install-info, install-man)
(install-etc): Quote entities that might contain whitespace.

* admin/unidata/Makefile.in (emacs, ${DSTDIR}/charprop.el):
Quote entities that might contain whitespace.

* leim/Makefile.in (abs_srcdir): New, set by configure.
(buildlisppath): Use abs_srcdir.
(RUN_EMACS, .el.elc, changed.tit, changed.misc, leim-list.el)
($(srcdir)/ja-dic/ja-dic.el, setwins, distclean, check-declare):
Quote entities that might contain whitespace.

* lib-src/Makefile.in ($(DESTDIR)${archlibdir}):
Quote entities that might contain whitespace.

* lisp/Makefile.in (abs_srcdir, abs_lisp): New, set by configure.
(emacs, compile, compile-always):
Quote entities that might contain whitespace.
(custom-deps, finder-data, autoloads): Use abs_lisp.
($(MH_E_DIR)/mh-loaddefs.el, $(TRAMP_DIR)/tramp-loaddefs.el)
($(CAL_DIR)/cal-loaddefs.el, $(CAL_DIR)/diary-loaddefs.el)
($(CAL_DIR)/hol-loaddefs.el): Manually expand target file name.

* nextstep/Makefile.in (${ns_check_file} ${ns_appdir}):
Quote entities that might contain whitespace.

* nt/Makefile.in ($(DESTDIR)${archlibdir}):
Quote entities that might contain whitespace.

* src/Makefile.in (RUN_TEMACS): Make relative (again).
($(leimdir)/leim-list.el, .el.elc, $(lispsource)/loaddefs.el)
(bootstrap-emacs$(EXEEXT)):
Quote entities that might contain whitespace.

* test/automated/Makefile.in (abs_top_srcdir, top_builddir):
New, set by configure.
(top_srcdir): Remove.
(abs_test, abs_lispsrc): New.
(lisp): No longer absolute.
(emacs, lisp-compile, compile, compile-always):
Quote entities that might contain whitespace.

Fixes: debbugs:15675
2013-10-22 23:22:54 -07:00
Glenn Morris
335142f9f3 Rename configure's --without-compress-info to --without-compress-install
* configure.ac (--without-compress-install):
Rename from --without-compress-info. 

(GZIP_INFO): Remove.
(GZIP_PROG): Allow --without-compress-install to disable it.
* Makefile.in (GZIP_INFO): Remove all references.

* etc/NEWS: Mention this.

Fixes: debbugs:9789
2013-09-08 16:50:23 -07:00
Paul Eggert
224e313d3b Makefile improvements.
* Makefile.in (lib): Depend on am--refresh, to avoid a race.
(src): Remove duplicate dependency on FRC.
Invoke just one submake, not two.  Avoid the need for 'pwd'.
* lwlib/Makefile.in (all): Put this first.  Don't use double-colon
rules, as they are not portable according to POSIX.  Mark as phony.
* oldXMenu/Makefile.in (all, tags): Don't use double-colon rules, as they
are not portable according to POSIX.  Mark as phony.
* src/Makefile.in (config.status): Don't use double-colon rules, as
they are not portable according to POSIX.  Fix shell typo with `;
I guess this rule has never been tested?
(VCSWITNESS): New macro, to override any environment var.
2013-09-03 23:45:44 -07:00
Paul Eggert
50b13cdedb * Makefile.in (SHELL): Now @SHELL@, not /bin/sh,
for portability to hosts where /bin/sh has problems.
2013-08-27 23:01:52 -07:00
Glenn Morris
1857cd3f9e Move source for Emacs on MS Windows FAQ here from Emacs webpages repository
* Makefile.in (mostlyclean, clean, distclean, bootstrap-clean)
(maintainer-clean, check-declare): Remove pointless subshells.
Check cd return value.

* configure.ac (DOCMISC_DVI_W32, DOCMISC_HTML_W32, DOCMISC_INFO_W32)
(DOCMISC_PDF_W32, DOCMISC_PS_W32): New output variables.
* Makefile.in (check-info-dir): Ignore efaq-w32.

* admin/admin.el (manual-misc-manuals): Use INFO_COMMON rather than
INFO_TARGETS.

* doc/misc/efaq-w32.texi: Move here from the web-pages repository.

* doc/misc/Makefile.in (DOCMISC_DVI_W32, DOCMISC_HTML_W32, DOCMISC_INFO_W32)
(DOCMISC_PDF_W32, DOCMISC_PS_W32): New configure output variables.
(INFO_COMMON, INFO_INSTALL): New derivations of INFO_TARGETS.
(DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
Add DOCMISC_*_W32 variables.
(echo-info): Use INFO_INSTALL rather than INFO_TARGETS.
(efaq_w32_deps): New variable.
(efaq-w32, $(buildinfodir)/efaq-w32$(INFO_EXT), efaq-w32.dvi)
(efaq-w32.pdf, efaq-w32.html): New rules.
(clean): Remove efaq-w32 products.
2013-08-27 00:57:39 -07:00
Glenn Morris
61ac6b9f82 * Makefile.in (mostlyclean, clean, distclean, bootstrap-clean)
(maintainer-clean, check-declare): Remove pointless subshells.
Check cd return value.
2013-08-26 23:58:08 -07:00
Paul Eggert
236beba0c2 * Makefile.in (distclean, bootstrap-clean, maintainer-clean):
Fix shell-operator precedence problem in previous change.
2013-08-20 01:30:24 -07:00
Glenn Morris
f67dce44d5 * Makefile.in (distclean, bootstrap-clean, maintainer-clean):
Clean test/automated if present.
2013-08-19 23:36:10 -07:00
Glenn Morris
4fa4485689 Cleanup for etc/refcards/Makefile and related items
* .bzrignore: Unignore etc/refcards/Makefile.

* make-dist: Do not distribute etc/refcards TeX intermediate files.

* Makefile.in (install-arch-indep):
Do not install etc/refcards TeX intermediate files.

* etc/refcards/Makefile: Rewrite to use portable Makefile syntax.
Add language-specific targets.
(distclean, extraclean): New rules.

*  etc/refcards/README: Add copyright and license.  Add Makefile details.
Mention http and FSF store versions.
2013-08-14 23:31:14 -07:00
Glenn Morris
8496d8d706 Add build, install, uninstall rules for all dvi, html, pdf, ps manuals
* configure.ac (etcdocdir): Rename from docdir, to avoid confusion
with configure's standard --docdir argument.  All uses updated.

* Makefile.in (etcdocdir): Rename from docdir.  All uses updated.
(install-etcdoc): Rename from install-doc.  All uses updated.
(uninstall): Run uninstall-doc.
(PSS): Add misc-ps.
(INSTALL_DVI, INSTALL_HTML, INSTALL_PDF, INSTALL_PS)
(INSTALL_DOC, UNINSTALL_DVI, UNINSTALL_HTML, UNINSTALL_PDF)
(UNINSTALL_PS, UNINSTALL_DOC): New variables.
($(INSTALL_DOC), install-doc, install-dvi, install-html, install-pdf)
(install-ps, $(UNINSTALL_DOC), uninstall-doc, uninstall-dvi)
(uninstall-html, uninstall-pdf, uninstall-ps): New .PHONY rules.

* doc/emacs/Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
(docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
(INSTALL_DATA): New, set by configure.
(HTML_OPTS, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
New variables.
(.SUFFIXES): Add .ps and .dvi.
(.dvi.ps): New suffix rule.
(dvi, html, pdf, ps): Use *_TARGETS variables.
(emacs.ps, emacs-xtra.ps): Remove explicit rules.
(emacs.html): Use HTML_OPTS.
(clean): Use DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS.
(.PHONY): install-dvi, install-html, install-pdf, install-ps
,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
uninstall-ps, and uninstall-doc.
(install-dvi, install-html, install-pdf, install-ps, install-doc)
(uninstall-dvi, uninstall-html, uninstall-ps, uninstall-pdf)
(uninstall-doc): New rules.

* doc/lispintro/Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
(docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
(INSTALL_DATA): New, set by configure.
(HTML_OPTS, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
New variables.
(.SUFFIXES): Add .ps and .dvi.
(.dvi.ps): New suffix rule.
(dvi, html, pdf, ps): Use *_TARGETS variables.
(emacs-lisp-intro.ps): Remove explicit rule.
(emacs-lisp-intro.html): Use HTML_OPTS.
(clean): Use DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS.
(.PHONY): install-dvi, install-html, install-pdf, install-ps
,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
uninstall-ps, and uninstall-doc.
(install-dvi, install-html, install-pdf, install-ps, install-doc)
(uninstall-dvi, uninstall-html, uninstall-ps, uninstall-pdf)
(uninstall-doc): New rules.

* doc/lispref/Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
(docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
(INSTALL_DATA): New, set by configure.
(HTML_OPTS, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
New variables.
(.SUFFIXES): Add .ps and .dvi.
(.dvi.ps): New suffix rule.
(dvi, html, pdf, ps): Use *_TARGETS variables.
(elisp.html): Use HTML_OPTS.
(elisp.ps): Remove explicit rule.
(.PHONY): install-dvi, install-html, install-pdf, install-ps
,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
uninstall-ps, and uninstall-doc.
(install-dvi, install-html, install-pdf, install-ps, install-doc)
(uninstall-dvi, uninstall-html, uninstall-ps, uninstall-pdf)
(uninstall-doc): New rules.
(clean): Use DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS.

* doc/misc/Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
(docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
(INSTALL_DATA): New, set by configure.
(HTML_OPTS, HTML_TARGETS, PS_TARGETS, DVIPS): New variables.
(.PHONY): Add html, ps, install-dvi, install-html, install-pdf,
install-ps ,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
uninstall-ps, and uninstall-doc.
(.SUFFIXES): Add .ps and .dvi.
(.dvi.ps): New suffix rule.
(html, ps, ada-mode.html, auth.html, autotype.html, bovine.html)
(calc.html, cc-mode.html, cl.html, dbus.html, dired-x.html)
(ebrowse.html, ede.html, ediff.html, edt.html, eieio.html)
(emacs-gnutls.html, emacs-mime.html, epa.html, erc.html)
(ert.html, eshell.html, eudc.html, faq.html, flymake.html)
(forms.html, gnus.html, htmlfontify.html, idlwave.html)
(ido.html, mairix-el.html, message.html, mh-e.html)
(newsticker.html, nxml-mode.html, org.html, pgg.html)
(rcirc.html, reftex.html, remember.html, sasl.html, sc.html)
(semantic.html, sieve.html, smtpmail.html, speedbar.html)
(srecode.html, todo-mode.html, tramp.html, url.html, vip.html)
(viper.html, widget.html, wisent.html, woman.html, install-dvi)
(install-html, install-pdf, install-ps, install-doc, uninstall-dvi)
(uninstall-html, uninstall-ps, uninstall-pdf, uninstall-doc):
New rules.
(clean): Remove HTML_TARGETS and PS_TARGETS.
2013-08-11 17:04:15 -07:00
Glenn Morris
bbece175c9 Use a @configure_input@ comment at the start of generated Makefiles 2013-07-23 18:57:17 -04:00
Paul Eggert
c6e7fc0ea7 * Makefile.in (removenullpaths): Remove adjacent null paths.
Fixes: debbugs:14835
2013-07-09 23:41:37 -07:00
Juanma Barranquero
ae7bfbf5a4 Do not create locallisppath directories.
* Makefile.in (install-arch-indep): Do not create directories passed
with --enable-locallisppath.

* etc/NEWS: Mention policy change with respect to locallisppath dirs.
2013-06-27 03:40:46 +02:00
Richard Copley
6c0a9ed1b1 Fix bug #14513 with --enable-locallisppath not working on MS-Windows.
Makefile.in (msys_to_w32): Modify to support d:\foo file names.
 (msys_lisppath_to_w32, msys_prefix_subst, msys_sed_sh_escape): New
 variables.
 (epaths-force-w32): Use them.

 epaths.nt (PATH_SITELOADSEARCH): Fix commentary.

 epaths.in: Fix commentary to PATH_SITELOADSEARCH.
2013-06-07 11:08:29 +03:00
Eli Zaretskii
a9519e2685 Merge from trunk. 2013-05-16 12:58:56 +03:00
Stefan Monnier
6e911150d0 Use just DOC instead of DOC-nn.mm.
* lisp/loadup.el: Just use unversioned DOC.
* Makefile.in (install-doc): DOC file is not version specific any more.
* .bzrignore: Don't ignore DOC-* any more.
* admin/quick-install-emacs: Don't prune DOC-* files a any more.
* doc/lispref/loading.texi (Autoload):
* doc/lispref/help.texi (Documentation Basics, Accessing Documentation)
(Accessing Documentation, Accessing Documentation): DOC-* is now DOC.
* etc/.gitignore: Don't ignore DOC-* any more.
* lib-src/makefile.w32-in ($(DOC)): Use DOC rather than DOC-X.
* msdos/sed1x.inp: Don't rewrite DOC any more.
* nt/makefile.w32-in (clean, top-distclean): DOC-X doesn't exist any more.
* src/Makefile.in (bootstrap-clean): DOC-* doesn't exist any more.
* src/makefile.w32-in (DOC): Use just "DOC".
2013-05-15 16:12:53 -04:00
Eli Zaretskii
da53c452e5 Separated Windows specific install and uninstall targets as suggested by Paul Eggert. 2013-04-18 19:49:58 +03:00
Eli Zaretskii
4f0e6095fc Merge from trunk. 2013-04-18 19:20:48 +03:00
Glenn Morris
4f8902cd02 Replace AC_PROG_LN_S by a less strict configure test
* configure.ac (AC_PROG_LN_S): Remove, too restrictive.
(LN_S_FILEONLY): New output variable.
* Makefile.in (LN_S): Remove.
(LN_S_FILEONLY): New, set by configure.
(install-arch-dep): Use LN_S_FILEONLY rather than LN_S.
2013-04-17 22:03:53 -07:00
Eli Zaretskii
224e1caae1 Teach 'make' how to re-configure for MinGW. 2013-04-17 22:42:10 +03:00
Eli Zaretskii
f576f7fb04 Fixed the LN_S and LN_EMACS issue. 2013-04-17 20:51:31 +03:00
Eli Zaretskii
6454498502 Avoid building blessmail and use hard links when installing emacs.exe. 2013-04-14 19:36:49 +03:00
Eli Zaretskii
d6db9fd60a Fixed src/epaths.h generation and lib-src dependencies and libraries. 2013-04-06 16:25:17 +03:00
Eli Zaretskii
030a1c5ea6 Fixed nt/Makefile.in and top-level Makefile.in.
Programs in nt/ and lib-src/ compile and link.
Warnings and errors in src/.
2013-04-01 17:35:26 +03:00
Eli Zaretskii
095bf25383 Added nt/Makefile.in and appropriate tweaks to configure.ac.
Added emacsclient.res support to lib-src/.
Fixed temacs and dumping commands in src/Makefile.in.
Miscellaneous fixes all over the place.

Not tried to build yet.
2013-04-01 16:18:20 +03:00
Paul Eggert
4c9a137782 Fix bug when building Emacs with a GNU Make submake.
* Makefile.in (QUIET_SUBMAKE): New macro.
(install-info, uninstall): Use it.

Fixes: debbugs:13962
2013-03-18 14:02:34 -07:00
Glenn Morris
28b6b84d4e Merge from emacs-24; up to 2012-12-24T15:56:17Z!eliz@gnu.org 2013-03-04 19:59:35 -08:00
Glenn Morris
b3cdfd9e06 * Makefile.in (install-man): Ignore gzip exit status. 2013-03-04 19:43:52 -08:00
Paul Eggert
b59a2e9edb Parallelize documentation builds.
This speeds up building of documentation on multiprocessor
platforms, and is motivated by Texinfo 5.0, which is much slower.
Add a toplevel rule 'make docs' to make all the documentation.
* .bzrignore: Add .dvi, .html, .ps.
* Makefile.in (DVIS, HTMLS, INFOS, PSS, DOCS): New macros.
($(DOCS), docs, vi, html, pdf, ps): New rules.
(info-real): Depend on $(INFOS) rather than doing it sequentially.
(dvi): Depend on $(DVIS) rather than doing it sequentially.
* doc/misc/Makefile.in (html): New rule.
2013-02-21 14:42:56 -08:00
Glenn Morris
795e7a5b32 Merge from emacs-24; up to 2012-12-11T09:51:12Z!dmantipov@yandex.ru 2013-01-19 12:38:13 -08:00
Glenn Morris
94898d72a3 * Makefile.in (install-arch-indep): Put back a chmod
that was removed 2012-05-19.  (Bug#13430)
2013-01-15 20:41:31 -05:00
Paul Eggert
0877d0dc24 Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca 2013-01-02 08:13:04 -08:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Glenn Morris
a4b0cca119 Merge from emacs-24; up to 2012-12-01T13:25:13Z!cyd@gnu.org 2012-12-21 11:32:43 -08:00
Akinori MUSHA
018246572c * Makefile.in (install-arch-dep): Ignore chmod errors (tiny change)
Fixes: debbugs:13233
2012-12-19 23:56:56 -08:00
Glenn Morris
727f973937 Merge from emacs-24; up to 2012-11-30T04:44:52Z!cyd@gnu.org 2012-12-12 21:29:15 -08:00
Andreas Schwab
0f59daafb7 * Makefile.in (install-info): Use `${MAKE} -s' for echo-info.
(uninstall): Likewise.
2012-12-12 18:52:01 +01:00
Nicolas Avrutin
02925206eb Fix for install-info in non-English locales (tiny change)
* Makefile.in (install-info, uninstall):
Ensure make's messages about changing directories are in English.

Fixes: debbugs:13142
2012-12-11 13:37:53 -05:00
Glenn Morris
d036bcdffe Allow choice of icon style at install time
This feature is intentionally not advertised
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12536#40

* Makefile.in (EMACS_ICON): New variable.
(install-etc): Use EMACS_ICON to allow choice of icon.
2012-11-02 18:22:11 -04:00
Glenn Morris
59696ae01c * Makefile.in (EMACS_NAME): New variable.
(EMACS, install-etc, uninstall): Use $EMACS_NAME.
2012-10-26 14:35:36 -04:00
Glenn Morris
eeced60b6c Program name transformations should not be applied to $EXEEXT.
* Makefile.in (EMACS, EMACSFULL):
* lib-src/Makefile.in (install, uninstall):
Transformations should not be applied to $EXEEXT.
2012-10-26 00:39:47 -07:00
Glenn Morris
25ca458727 Misc fixes for make uninstall
* Makefile.in (uninstall): Don't abort if some directories are missing.
Apply transformation rules to manual pages, desktop and icon files.
No more emacs22 icons to uninstall.
2012-10-26 00:32:40 -07:00
Glenn Morris
8bfcb8a6a8 * Makefile.in (install-etc): Don't apply program transform to file suffixes. 2012-10-24 13:25:24 -04:00
Glenn Morris
a6c2cc07fc * Makefile.in (install-man): Don't apply transform to suffix. 2012-10-24 09:41:59 -07:00
Glenn Morris
ed68379ea9 Revert 2012-10-21 Makefile.in change (bug#12713)
* Makefile.in (emacs_transform): Remove.
(install-man): Revert 2012-10-21 change.
2012-10-23 13:33:22 -04:00
Glenn Morris
ad483434e5 Put back old Emacs 22 icons, just don't install them
Some people prefer them to the newer icon

* Makefile.in (install-etc): Don't install emacs22 icons.

* etc/images/icons/hicolor/32x32/apps/emacs22.png:
* etc/images/icons/hicolor/16x16/apps/emacs22.png:
* etc/images/icons/hicolor/48x48/apps/emacs22.png:
* etc/images/icons/hicolor/24x24/apps/emacs22.png: Restore old icons.

* etc/images/icons/README: Restore info about emacs22 icons
2012-10-20 18:35:46 -07:00
Glenn Morris
8dc2a723eb In Makefile.in, use a make variable rather than a shell variable.
* Makefile.in (emacs_transform): New variable.
(install-etc): Prefer a make variable to a shell variable.
2012-10-20 18:27:09 -07:00
Stefan Monnier
90eacf9920 * lisp/emacs-lisp/gv.el (cond): Same fix as before for `if'.
* Makefile.in ($(MAKEFILE_NAME)): Depend on src/lisp.mk as well.
2012-10-18 08:56:10 -04:00
Glenn Morris
293902c8b2 (install-etc): Fix previous change 2012-10-15 17:57:20 -04:00