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

274 Commits

Author SHA1 Message Date
Glenn Morris
a210e783c4 lib-src/Makefile trivial simplifications
* lib-src/Makefile.in (blessmail): Depend on lisp/mail/blessmail.el.
Use $<, $@.
(regex.o, etags${EXEEXT}, ctags${EXEEXT}, ebrowse${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(pop.o, emacsclient${EXEEXT}, emacsclientw${EXEEXT}, ntlib.o)
(hexl${EXEEXT}, update-game-score${EXEEXT}, emacsclient.res): Use $<.
(ctags${EXEEXT}): Add $srcdir to dependency rather than using VPATH.
2014-06-25 23:18:53 -07:00
Glenn Morris
8c39c6685e Makefile comments 2014-06-15 15:42:31 -07:00
Glenn Morris
b24ffa815c Explicitly set LDFLAGS in some sub-Makefiles
* lib-src/Makefile.in (LDFLAGS): Explicitly set via configure.

* nt/Makefile.in (LDFLAGS): Explicitly set via configure.
2014-06-15 10:45:38 -07:00
Eli Zaretskii
9fae211dbf Fix MS-Windows build broken by latest Makefile.in changes.
nt/Makefile.in (CPPFLAGS): Define.

 lib-src/Makefile.in (CPPFLAGS): Define.
2014-06-15 20:36:04 +03:00
Glenn Morris
0d9f81376b Use make -C' rather than cd && make'
* Makefile.in: Use `make -C' rather than `cd && make' throughout.

* lib-src/Makefile.in (../lib/libgnu.a): Use `make -C' rather than `cd && make'.

* lisp/Makefile.in (leim, semantic): Use `make -C' rather than `cd && make'.

* lwlib/Makefile.in ($(globals_h)): Use `make -C' rather than `cd && make'.

* src/Makefile.in: Use `make -C' rather than `cd && make' throughout.
2014-06-14 17:34:22 -07:00
Glenn Morris
0e6929ecab Parallelize clean rules using GNU make features
* Makefile.in: (submake_template): New definition.
(mostlyclean_dirs, clean_dirs, distclean_dirs, maintainer_clean_dirs):
New variables.
(mostlyclean, clean, distclean, bootstrap-clean, maintainer-clean)
(extraclean): Define using each subdirectory as a prequisite.

* lib/Makefile.am (bootstrap-clean):
* doc/emacs/Makefile.in (bootstrap-clean):
* doc/lispintro/Makefile.in (bootstrap-clean):
* doc/lispref/Makefile.in (bootstrap-clean):
* doc/misc/Makefile.in (bootstrap-clean):
* lib-src/Makefile.in (bootstrap-clean):
* lwlib/Makefile.in (bootstrap-clean):
* nextstep/Makefile.in (bootstrap-clean):
* nt/Makefile.in (bootstrap-clean):
* oldXMenu/Makefile.in (bootstrap-clean):
New rules, for symmetry/simplicity.

* lwlib/Makefile.in (mostlyclean, clean, distclean, maintainer-clean):
* oldXMenu/Makefile.in (mostlyclean, clean, distclean, maintainer-clean, tags):
Declare as PHONY.
2014-06-14 17:17:21 -07:00
Glenn Morris
f9d80c5110 With GNU make, MFLAGS is not needed
* Makefile.in (CC, CFLAGS, LDFLAGS, CPPFLAGS, abs_top_srcdir):
Remove, no longer used.
(lib, lib-src, lisp, nt, src, blessmail, install-arch-dep)
(install-nt, install-strip, uninstall, uninstall-nt)
(mostlyclean, clean, distclean, bootstrap-clean)
(maintainer-clean, extraclean, TAGS, tags, check, $(DOCS)):
($(INSTALL_DOC), $(UNINSTALL_DOC), info, bootstrap, check-declare):
GNU make automatically passes command-line arguments to sub-makes.

* admin/unidata/Makefile.in (${DSTDIR}/charprop.el):
GNU make automatically passes command-line arguments to sub-makes.

* lib-src/Makefile.in (../lib/libgnu.a):
GNU make automatically passes command-line arguments to sub-makes.

* lisp/Makefile.in ($(lisp)/cus-load.el, $(lisp)/finder-inf.el)
(autoloads, $(lisp)/subdirs.el, compile-main, leim, semantic, compile)
(compile-always): GNU make automatically passes
command-line arguments to sub-makes.

* lwlib/Makefile.in ($(globals_h)):
GNU make automatically passes command-line arguments to sub-makes.

* src/Makefile.in ($(leimdir)/leim-list.el, $(srcdir)/macuvs.h)
($(lispsource)/international/charprop.el)
($(libsrc)/make-docfile$(EXEEXT), $(lwlibdir)/liblw.a)
($(oldXMenudir)/libXMenu11.a, ns-app, .el.elc)
($(lispsource)/loaddefs.el, bootstrap-emacs$(EXEEXT)):
GNU make automatically passes command-line arguments to sub-makes.

* test/automated/Makefile.in (compile-main):
GNU make automatically passes command-line arguments to sub-makes.
2014-06-13 19:05:00 -04:00
Paul Eggert
5eda3a7516 Port ctags+etags build to Sun C 5.12.
* .bzrignore: Remove lib-src/ctags.c.
* lib-src/Makefile.in (etags_args): Remove, replacing with ...
(etags_cflags, etags_libs): New macros.  All uses changed.
(ctags${EXEEXT}): Don't compile etags.c, as compiling etags.c in
parallel (once for ctags, once for etags) breaks parallel makes
with compilers that use the source file name to name temporaries,
such as Sun C 5.12.  Instead, compile ctags.c.
* lib-src/ctags.c: New file.
2014-05-18 11:57:04 -07:00
Juanma Barranquero
09b911adf4 Merge from emacs-24; up to 2014-05-01T10:21:17Z!rgm@gnu.org 2014-04-30 21:54:52 +02:00
Glenn Morris
7ac903abc8 * lib-src/Makefile.in ($(DESTDIR)${archlibdir}): Avoid non-portable "`\" nesting
Fixes: debbugs:17339
2014-04-29 07:54:58 -07:00
Glenn Morris
10211d43fa Reduce duplication in lib-src etags/ctags rules
* lib-src/Makefile.in (etags_deps, etags_args): New, to reduce duplication.
(etags${EXEEXT}, ctags${EXEEXT}): Use etags_deps, etags_args.
2014-03-22 16:08:41 -07:00
Glenn Morris
df199e5601 Use $@ more in lib-src/Makefile.in
* lib-src/Makefile.in (etags${EXEEXT}, ebrowse${EXEEXT}, ctags${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(emacsclient${EXEEXT}, emacsclientw${EXEEXT}, hexl${EXEEXT})
(update-game-score${EXEEXT}, emacsclient.res): Use $@.
2014-03-22 16:06:29 -07:00
Glenn Morris
01b0f2f4b1 * lib-src/Makefile.in (../lib/libgnu.a): Explicitly pass MFLAGS. 2014-03-22 16:02:13 -07:00
Glenn Morris
7cd431112c Remove lib-src/test-distrib.c and related
The class of problems that this was designed to detect, namely .elc
files getting corrupted by being passed around by email via uuencode
or somesuch, has not been a relevant concern for many years.

* lib-src/test-distrib.c, lib-src/testfile: Remove.

* lib-src/Makefile.in (DONT_INSTALL): Remove test-distrib.
(test-distrib${EXEEXT}): Remove rule.

* make-dist: Do not distribute lib-src/testfile.

* admin/quick-install-emacs (AVOID): Remove testfile and test-distrib.

* INSTALL, etc/PROBLEMS, admin/notes/unicode:
Remove references to test-distrib and testfile.
2014-03-22 15:52:47 -07:00
Paul Eggert
da5ecfa9b9 Spelling fixes.
* lib-src/Makefile.in (regex.o): Remove reference to no-longer-used macros
CONFIG_BROKETS and INHIBIT_STRING_HEADER.  "BROKETS" was a
misspelling anyway....
* src/nsterm.h (updateCollectionBehavior): Rename from
updateCollectionBehaviour.  All uses changed.
2014-01-04 18:56:08 -08:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Glenn Morris
357a508109 Avoid non-portable " ... \"...\" ... " nesting
* configure.ac:
* Makefile.in (install-arch-indep, install-etcdoc, install-info):
* lib-src/Makefile.in ($(DESTDIR)${archlibdir}):
* nt/Makefile.in ($(DESTDIR)${archlibdir}):
Avoid non-portable "`\" nesting.
2013-10-24 19:04:33 -04:00
Glenn Morris
11e5e2eba1 Fix whitespace in previous Makefile.in changes 2013-10-23 21:05:54 -07:00
Glenn Morris
eb9a36619e Attempt at a fix for mingw CPPFLAGS
* configure.ac (CPPFLAGS) [mingw32]: Use abs_top_srcdir.

* Makefile.in (abs_top_srcdir):
* lib-src/Makefile.in (abs_top_srcdir):
* lwlib/Makefile.in (abs_top_srcdir):
* nt/Makefile.in (abs_top_srcdir):
* oldXMenu/Makefile.in (abs_top_srcdir):
* src/Makefile.in (abs_top_srcdir):
New, set by configure.
2013-10-23 19:15:16 -07:00
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
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
Eli Zaretskii
d4166523bc Provide a Windows manifest for update-game-score.exe.
lib-src/update-game-score.exe.manifest: New file.
 lib-src/Makefile.in (UPDATE_MANIFEST): New variable.
 (SCRIPTS): Add $(UPDATE_MANIFEST).

 configure.ac: Define and substitute UPDATE_MANIFEST.
2013-08-10 10:43:41 +03: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
57f8c49045 Remove some unused macros from 'configure'.
* configure.ac (HAVE_SOUNDCARD_H, HAVE_LINUX_VERSION_H, HAVE_SPEED_T)
(HAVE_GNUTLS_CALLBACK_CERTIFICATE_VERIFY)
(HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION, HAVE_UTIMES)
(HAVE_LIBHESIOD, HAVE_LIBRESOLV, HAVE_LIBCOM_ERR, HAVE_LIBCRYPTO)
(HAVE_LIBK5CRYPTO, HAVE_LIBKRB5, HAVE_LIBDES425, HAVE_LIBDES)
(HAVE_LIBKRB4, HAVE_LIBKRB, HAVE_DES_H, HAVE_KERBEROSIV_DES_H)
(HAVE_DEV_PTMX, DEVICE_SEP, USG5):
Remove these macros, as they are not used.
(sys_siglist): Remove macro; src/sysdep.c now does this.
* src/sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]:
Define to __sys_siglist.
2013-07-02 09:56:29 -07:00
Eli Zaretskii
38b787fa72 Remove *.res files in mostlyclean, to avoid problems with out-of-tree builds.
src/Makefile.in (mostlyclean): Remove *.res files.

 lib-src/Makefile.in (mostlyclean): Remove *.res files.

 nt/Makefile.in (emacs.res): Include srcdir when preprocessing
 resources, for out-of-tree builds.
 (mostlyclean): Remove *.res files.
2013-05-29 19:48:42 +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
2b57bbc042 Fix a typo in NTINC value in lib-src/Makefile.in. 2013-04-06 17:03:08 +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
cbbb6bfd46 Fixed a typo in emacsclientw.exe's name. 2013-04-01 18:04:13 +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
f540ee868c Fixed -gdwarf-2 switch and added emacsclientw.exe to lib-src/Makefile.in. 2013-04-01 16:51:33 +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
Eli Zaretskii
a74b0e1bdf Added nt/gnulib.mk and removed kludges from ms-w32.h and ntlib.h. 2013-03-31 17:04:49 +03:00
Eli Zaretskii
7c4026b6ad Finished with lib-src compilation, except emacsclientw and emacsclient.res.
Next -- compilation in nt/, and then problems in src/.
2013-03-30 20:00:51 +03:00
Paul Eggert
47d7532e09 File synchronization fixes.
* admin/CPP-DEFINES (BSD_SYSTEM, HAVE_FSYNC): Remove.
* admin/merge-gnulib (GNULIB_MODULES): Add fsync, fdatasync.
* configure.ac (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
(fsync): Remove check; now done by gnulib.
* lib/fdatasync.c, lib/fsync.c, m4/fdatasync.m4, m4/fsync.m4:
New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib-src/Makefile.in (LIB_FDATASYNC): New macro.
(emacsclient${EXEEXT}): Use it.
* lib-src/emacsclient.c (main): Use fdatasync, not fsync, since we don't
care about metadata.  Keep trying if interrupted.
* lib-src/movemail.c (main, popmail): Don't worry about BSD_SYSTEM, since
fsync is available everywhere (or there is a substitute).  Don't
report an error if fsync returns EINVAL.
* nt/inc/ms-w32.h (fdatasync): New macro, suggested by Eli Zaretskii.
* src/Makefile.in (LIB_FDATASYNC): New macro.
(LIBES): Use it.
* src/conf_post.h (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
* src/fileio.c (Fwrite_region, write_region_inhibit_fsync):
Don't worry about HAVE_FSYNC, since a substitute fsync is
available if the system lacks one.
(Fwrite_regin): Retry fsync if interrupted.

Fixes: debbugs:13944
2013-03-13 11:42:22 -07:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Glenn Morris
b75897ba63 * Makefile.in (uninstall): No INSTALLABLES live in archlibdir. 2012-10-26 00:40:51 -07: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
de7de8723f Update lib-src config.h dependencies
* lib-src/Makefile.in (config_h): New variable.
Use throughout in place of ../src/config.h.
2012-08-01 13:54:06 -04:00
Paul Eggert
0aee69126f Update .PHONY listings in makefiles. 2012-07-30 09:20:35 -07:00
Paul Eggert
cf38a720e8 Clean out last vestiges of the old HAVE_CONFIG_H stuff. 2012-06-25 18:05:39 -07:00
Paul Eggert
d35af63cd6 Support higher-resolution time stamps.
Fixes: debbugs:9000
2012-06-22 14:17:42 -07:00
Glenn Morris
67163749cc Remove script stamping in lib-src/
rcs2log no longer needs it, and grep-changelog never really has
(nothing in Emacs runs that, I don't know why Emacs includes it, if you
are using an uninstalled out-of-tree build you can just as easily run
it from the source directory).

* lib-src/Makefile.in (STAMP_INST_SCRIPTS, STAMP_SCRIPTS, insrcdir)
(stamp-rcs2log, stamp-grep-changelog): Remove.
(all, clean): Remove references to stamps.

* .bzrignore: Do not ignore lib-src/stamp*.
2012-06-05 21:38:04 -04:00
Glenn Morris
276d5f5de5 Remove lib-src/vcdiff
* lib-src/vcdiff: Remove file.
* lib-src/Makefile.in (SCRIPTS, STAMP_SCRIPTS): Remove vcdiff.
(stamp-vcdiff): Remove.

* INSTALL, make-dist: Remove vcdiff.

* lisp/emacs-lisp/authors.el (authors-fixed-entries): Remove vcdiff
2012-06-05 21:06:54 -04:00
Glenn Morris
418cd7265a Remove lib-src/rcs-checkin
This script isn't used by Emacs, and I can't imagine anyone else is
using it any more either...  From the commentary:
"This script is intended to be used to convert files with an
old-Emacs-style version history for use with VC (the Emacs 19
version-control interface), which likes to use RCS as its back end."

* lib-src/rcs-checkin: Remove file.
* lib-src/Makefile.in (INSTALLABLE_SCRIPTS, STAMP_INST_SCRIPTS):
Remove rcs-checkin.
(stamp-rcs-checkin): Remove.

* INSTALL, make-dist: Remove rcs-checkin.

* admin/quick-install-emacs (PUBLIC_LIBSRC_SCRIPTS): Remove rcs-checkin.

* doc/man/rcs-checkin.1: Remove.
2012-06-03 16:49:12 -07:00
Glenn Morris
fe453991ea * lib-src/Makefile.in (INSTALL_DATA): Remove; unused. 2012-05-26 15:38:19 -07:00
Glenn Morris
32514cfe68 * lib-src/Makefile.in (install): Remove unneeded chmods.
INSTALL_PROGRAM and INSTALL_SCRIPT default to mode 755.
2012-05-21 20:58:17 -04:00
Glenn Morris
b847032c75 Command substitution already runs in a subshell
* Makefile.in (install-arch-indep, install-doc, install-info, uninstall):
* leim/Makefile.in (leim-list.el, install):
* lib-src/Makefile.in (insrcdir, $(DESTDIR)${archlibdir}):
* lisp/Makefile.in (setwins, setwins_almost, setwins_for_subdirs):
* test/automated/Makefile.in (setwins):
Scrap superfluous subshells.
2012-05-20 17:44:34 -07:00
Glenn Morris
ed4affe121 * lib-src/Makefile.in (install): Ensure $bindir exists. 2012-05-17 23:33:04 -07:00