This predates the use of changed.misc etc to serialize the leim build.
The leim Makefile used to set .NO_PARALLEL/.NOTPARALLEL for the same
reason, but has not done so for many years.
This only affects in-tree builds where you have several versions
emacs-24.1.50.1, .2, etc lying around.
* Makefile.in: (install-arch-indep): Delete etc/DOC*.
(install-doc): No more need to delete etc/DOC.
* configure.in (INSTALL_ARCH_INDEP_EXTRA): New output variable.
* Makefile.in (INSTALL_ARCH_INDEP_EXTRA): New, set by configure.
(install-arch-indep): Don't install-etc for self-contained ns builds.
A separate mkdir rule is not needed, since MKDIR_P is thread-safe.
* Makefile.in (install-arch-dep): Ensure bindir exists.
Drop mkdir dependency.
(install-arch-indep): Ensure docdir, infodir, mandir exist.
(install-leim): Drop mkdir dependency.
(mkdir): Remove most directories, now made in relevant rules.
Remember to always call MKDIR_P and INSTALL_DATA from the top-level
directory, for the case in which we are falling back to build-aux/install-sh.
It would make life much easier if autoconf would use an absolute path
in this case.
* configure.in (etcdir): For a self-contained ns build,
set it to the appropriate values.
* Makefile.in (install-arch-dep): No need to move info/ any more.
* configure.in (ns_self_contained): New output variable.
* Makefile.in (ns_self_contained): New, set by configure.
(install-arch-dep): Use $ns_self_contained.
This is rather than installing it in one place then moving it.
* configure.in (archlibdir): Set it for self-contained ns builds.
(libexecdir): Don't expand it now (this is mainly cosmetic).
* Makefile.in (ns_appbindir, ns_appresdir):
Move them before things that may refer to them.
(install-arch-dep): No need to relocate self-contained ns libexec.
* lib-src/Makefile.in (ns_appbindir): New, set by configure.
* configure.in (AC_PROG_MKDIR_P): Call it, to set MKDIR_P.
(MKDEPDIR): Use $MKDIR_P.
* Makefile.in (MKDIR_P): New, set by configure.
(mkdir): Use $MKDIR_P.
* doc/emacs/Makefile.in (MKDIR_P): New, set by configure.
(mkinfodir): Use $MKDIR_P.
* doc/lispintro/Makefile.in (MKDIR_P): New, set by configure.
(mkinfodir): Use $MKDIR_P.
* doc/lispref/Makefile.in (MKDIR_P): New, set by configure.
(mkinfodir): Use $MKDIR_P.
* doc/misc/Makefile.in (MKDIR_P): New, set by configure.
(mkinfodir): Use $MKDIR_P.
* src/Makefile.in (MKDIR_P): New, set by configure.
* src/ns.mk (${ns_appdir}, ${ns_appbindir}Emacs): Use $MKDIR_P.
./lisp/simpl.ele never exists in the _build_ directory,
the Lisp files are always in the _source_ directory.
Even if they were not, it would be wrong to install just
*.el and *.elc, since there are subdirectories in lisp/.
Ref http://lists.gnu.org/archive/html/emacs-devel/2012-04/msg00354.html
* configure.in (INFO_EXT, INFO_OPTS): New output variables.
* doc/emacs/Makefile.in (INFO_EXT, INFO_OPTS): New, set by configure.
(info, infoclean): Use $INFO_EXT.
($(infodir)/emacs$(INFO_EXT)): Use $INFO_EXT and $INFO_OPT.
* doc/emacs/makefile.w32-in (INFO_EXT, INFO_OPTS): New.
(INFO_TARGETS): Use $INFO_EXT.
($(infodir)/emacs$(INFO_EXT)): Use $INFO_EXT and $INFO_OPT, and -o.
* doc/lispintro/Makefile.in (INFO_EXT, INFO_OPTS): New, set by configure.
(info, infoclean): Use $INFO_EXT.
(${infodir}/eintr$(INFO_EXT)): Use $INFO_EXT and $INFO_OPT.
* doc/lispintro/makefile.w32-in (INFO_EXT, INFO_OPTS): New.
(INFO_TARGETS, clean): Use $INFO_EXT.
($(infodir)/eintr$(INFO_EXT)): Use $INFO_EXT and $INFO_OPT.
* doc/lispref/Makefile.in (INFO_EXT, INFO_OPTS): New, set by configure.
(info, infoclean): Use $INFO_EXT.
($(infodir)/elisp$(INFO_EXT)): Use $INFO_EXT and $INFO_OPT.
* doc/lispref/makefile.w32-in (INFO_EXT, INFO_OPTS): New.
(info, maintainer-clean): Use $INFO_EXT.
($(infodir)/elisp$(INFO_EXT)): Use $INFO_EXT and $INFO_OPT.
* doc/misc/Makefile.in (INFO_EXT, INFO_OPTS): New, set by configure.
(INFO_TARGETS): Use $INFO_EXT.
Make all rules generating info files use $INFO_EXT, $INFO_OPT, and -o.
* doc/misc/makefile.w32-in (INFO_EXT, INFO_OPTS): New.
(INFO_TARGETS): Use $INFO_EXT.
Make all rules generating info files use $INFO_EXT, $INFO_OPT, and -o.
The sed '/ing directory/d' piece is to remove the annoying
"entering/leaving directory" messages that GNU make insists on
printing when called recursively. --no-print-directory isn't portable.
* Makefile.in (INFO_FILES): Remove variable.
(INFO_NONMISC): New variable.
(install-arch-indep, uninstall): Don't use $INFO_FILES.
* doc/misc/Makefile.in (echo-info): New phony target, used by top-level.
* info/dir (File):
* Makefile.in: Add emacs-gnutls to the info directory and the
INFO_FILES target.
* doc/misc/emacs-gnutls.texi: Add documentation for the GnuTLS integration.
* doc/misc/gnutls.texi: New file to explain the GnuTLS integration.
* doc/misc/Makefile.in: Add gnutls.texi to build.
I have been using this change for many months in my private copy
of Emacs, and have used it to find several bugs. It's mature
enough to publish now.
* Makefile.in (GNULIB_MODULES): Add warnings, manywarnings.
* configure.in: Support --enable-gcc-warnings, in the style of
other GNU packages such as coreutils.
(C_WARNINGS_SWITCH): Remove, replacing with...
(WARN_CFLAGS, GNULIB_WARN_CFLAGS): New variable.
(PKG_CHECK_MODULES, C_SWITCH_X_SITE): Use -isystem rather than -I,
when including system files with GCC.
* etc/NEWS: Mention --enable-gcc-warnings.
* lib/Makefile.am (AM_CFLAGS): New macro.
* m4/manywarnings.m4, m4/warnings.m4: New files, from gnulib.
* lib-src/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(BASE_CFLAGS): Use new macros rather than old.
* lwlib/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
* oldXMenu/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
* src/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
* src/process.c: Ignore -Wstrict-overflow to work around GCC bug 52904.
* src/regex.c: Ignore -Wstrict-overflow. If !emacs, also ignore
-Wunused-but-set-variable, -Wunused-function, -Wunused-macros,
-Wunused-result, -Wunused-variable. This should go away once
the Emacs and Gnulib regex code is merged.
(xmalloc, xrealloc): Now static.