### @configure_input@
-# Copyright (C) 1992-2014 Free Software Foundation, Inc.
+# Copyright (C) 1992-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
# If Make doesn't predefine MAKE, set it here.
@SET_MAKE@
-# Prevent submakes from outputting "Entering directory ..." and
-# "Leaving directory..." diagnostics that would mess up 'make echo-info'.
-QUIET_SUBMAKE = MAKELEVEL=0
-
# ==================== Things `configure' Might Edit ====================
cache_file = @cache_file@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
ACLOCAL = @ACLOCAL@
+AWK = @AWK@
EXEEXT=@EXEEXT@
### The nt/ subdirectory gets built only for MinGW
NTDIR=@NTDIR@
+# 'make' verbosity.
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+
# ==================== Where To Install Things ====================
# Location to install Emacs.app under GNUstep / Mac OS X.
# Create a link to a file in the same directory as the target.
LN_S_FILEONLY = @LN_S_FILEONLY@
-# We use gzip to compress installed .el files.
+# We use gzip to compress installed .el and some .txt files.
GZIP_PROG = @GZIP_PROG@
# ============================= Targets ==============================
all: ${SUBDIR} info
-.PHONY: all ${SUBDIR} blessmail epaths-force epaths-force-w32
+.PHONY: all ${SUBDIR} blessmail epaths-force epaths-force-w32 etc-emacsver
+
+# If configure were to just generate emacsver.tex from emacsver.tex.in
+# in the normal way, the timestamp of emacsver.tex would always be
+# newer than that of the pdf files, which are prebuilt in release tarfiles.
+# So we use this rule, and move-if-change, to avoid that.
+etc-emacsver:
+ majorversion=`echo ${version} | sed 's/\..*//'`; \
+ sed "s/[@]majorversion@/$${majorversion}/" \
+ ${srcdir}/etc/refcards/emacsver.tex.in > emacsver.tex.$$$$ && \
+ ${srcdir}/build-aux/move-if-change emacsver.tex.$$$$ \
+ ${srcdir}/etc/refcards/emacsver.tex
removenullpaths=sed -e 's/^:*//' -e 's/:*$$//g' -e 's/::*/:/g'
-e 's;\(#.*PATH_DOC\).*$$;\1 "${etcdocdir}";') && \
${srcdir}/build-aux/move-if-change epaths.h.$$$$ src/epaths.h
-# Replace "${w32prefix}" with '%emacs_dir%' (which expands to install
-# directory at runtime).
-msys_w32prefix_subst=sed -e 's!\(^\|;\)'"$${w32prefixpattern}"'\([;/]\|$$\)!\1%emacs_dir%\2!g'
-
-# Quote Sed special characters (except backslash and newline) with
-# a double backslash.
-msys_sed_sh_escape=sed -e 's/[];$$*.^[]/\\\\&/g'
-
# The w32 build needs a slightly different editing, and it uses
# nt/epaths.nt as the template.
#
# program that doesn't support MSYS-style paths (e.g. '/c/foo/bar' or
# '/foo/bar').
epaths-force-w32:
- @(w32srcdir=`${srcdir}/build-aux/msys-to-w32 "${srcdir}"`; \
- w32prefix=`${srcdir}/build-aux/msys-to-w32 "${prefix}" N`; \
- w32prefixpattern=`echo "$${w32prefix}" | ${msys_sed_sh_escape}` ; \
- w32locallisppath=`${srcdir}/build-aux/msys-to-w32 "${locallisppath}" N ":" "\\;" | ${msys_w32prefix_subst}` ; \
+ @(w32srcdir=`${srcdir}/build-aux/msys-to-w32 "${abs_srcdir}"`; \
+ w32prefix=`${srcdir}/build-aux/msys-to-w32 "${prefix}"`; \
+ w32locallisppath=`${srcdir}/build-aux/msys-to-w32 "${locallisppath}"` ; \
+ w32locallisppath=$${w32locallisppath//$${w32prefix}/"%emacs_dir%"} ; \
sed < ${srcdir}/nt/epaths.nt > epaths.h.$$$$ \
- -e 's;\(#.*PATH_SITELOADSEARCH\).*$$;\1 "'"$${w32locallisppath}"'";' \
+ -e 's;\(#.*PATH_SITELOADSEARCH\).*$$;\1 "'"$${w32locallisppath//;/\\;}"'";' \
-e '/^.*#/s/@VER@/${version}/g' \
-e '/^.*#/s/@CFG@/${configuration}/g' \
-e "/^.*#/s|@SRC@|$${w32srcdir}|g") && \
lib lib-src lisp nt: Makefile
$(MAKE) -C $@ all
-# Note the use of single quotes in the value of vcswitness.
-# This passes an unexpanded $srcdir to src's Makefile, which then
+# Ideally, VCSWITNESS should be a file that is modified whenever the
+# repository registers a commit from either a local checkin or a
+# repository pull. In git there is no single file that guarantees
+# this, but the local log for the current head should be close enough.
+#
+# Pass an unexpanded $srcdir to src's Makefile, which then
# expands it using its own value of srcdir (which points to the
# source directory of src/).
+dirstate = .git/logs/HEAD
+VCSWITNESS = $(if $(wildcard $(srcdir)/$(dirstate)),$$(srcdir)/../$(dirstate))
src: Makefile
- dirstate='.bzr/checkout/dirstate'; \
- vcswitness='$$(srcdir)/../'$$dirstate; \
- [ -r "$(srcdir)/$$dirstate" ] || vcswitness=''; \
- $(MAKE) -C $@ all VCSWITNESS="$$vcswitness"
+ $(MAKE) -C $@ VCSWITNESS='$(VCSWITNESS)' all
blessmail: Makefile src
$(MAKE) -C lib-src maybe-blessmail
# Don't erase these files if make is interrupted while refreshing them.
.PRECIOUS: Makefile config.status
-config.status: ${srcdir}/configure ${srcdir}/lisp/version.el
+config.status: ${srcdir}/configure
if [ -x ./config.status ]; then \
$(CFG) ./config.status --recheck; \
else \
cd ${srcdir} && ${AUTOCONF}
ACLOCAL_PATH = @ACLOCAL_PATH@
-ACLOCAL_INPUTS = $(srcdir)/configure.ac $(wildcard $(srcdir)/m4/*.m4)
+ACLOCAL_INPUTS = $(srcdir)/configure.ac $(srcdir)/m4/*.m4
$(srcdir)/aclocal.m4: $(ACLOCAL_INPUTS)
cd $(srcdir) && ACLOCAL_PATH='$(ACLOCAL_PATH)' $(ACLOCAL) -I m4
@ # because stamp-h.in has changed (since building stamp-h.in
@ # refreshes config.in as well), but if config.in is missing
@ # then we really need to do something more.
- [ -r "$@" ] || ( cd ${srcdir} && ${AUTOHEADER} )
+ $(if $(wildcard $@),,cd $(srcdir) && $(AUTOHEADER))
$(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
cd ${srcdir} && ${AUTOHEADER}
- rm -f $(srcdir)/src/stamp-h.in
- echo timestamp > $(srcdir)/src/stamp-h.in
+ rm -f $@
+ echo timestamp > $@
# ==================== Installation ====================
subdir="$(DESTDIR)${datadir}/emacs/site-lisp" ; \
${write_subdir} || true
[ -z "${GZIP_PROG}" ] || { \
- echo "Compressing *.el ..." && \
+ echo "Compressing *.el etc. ..." && \
cd "$(DESTDIR)${lispdir}" && \
for f in `find . -name "*.elc" -print | sed 's/.elc$$/.el/'`; do \
${GZIP_PROG} -9n "$$f"; \
done; \
+ ${GZIP_PROG} -9n "../etc/publicsuffix.txt"; \
}
-chmod -R a+r "$(DESTDIR)${datadir}/emacs/${version}" ${COPYDESTS}
[ -f "$(DESTDIR)${infodir}/dir" ] || \
[ ! -f ${srcdir}/info/dir ] || \
${INSTALL_DATA} ${srcdir}/info/dir "$(DESTDIR)${infodir}/dir"; \
- info_misc=`$(QUIET_SUBMAKE) $(MAKE) -s -C doc/misc echo-info`; \
+ info_misc=`$(MAKE) --no-print-directory -s -C doc/misc echo-info`; \
cd ${srcdir}/info ; \
for elt in ${INFO_NONMISC} $${info_misc}; do \
test "$(HAVE_MAKEINFO)" = "no" && test ! -f $$elt && continue; \
done
-rm -rf "$(DESTDIR)${libexecdir}/emacs/${version}"
thisdir=`/bin/pwd`; \
- (info_misc=`$(QUIET_SUBMAKE) $(MAKE) -s -C doc/misc echo-info`; \
+ (info_misc=`$(MAKE) --no-print-directory -s -C doc/misc echo-info`; \
if cd "$(DESTDIR)${infodir}"; then \
for elt in ${INFO_NONMISC} $${info_misc}; do \
(cd "$${thisdir}"; \
[ ! -d $$dir ] || $(MAKE) -C $$dir clean; \
done
-rm -f etc/emacs.tmpdesktop etc/emacs.tmpappdata
+ -rm -rf info-dir.*
### `bootclean'
### Delete all files that need to be remade for a clean bootstrap.
top_bootclean=\
- rm -f config.cache config.log
+ rm -f config.cache config.log ${srcdir}/doc/man/emacs.1
### `distclean'
### Delete all files from the current directory that are created by
done
[ ! -f config.log ] || mv -f config.log config.log~
rm -rf ${srcdir}/info
+ rm -f ${srcdir}/etc/refcards/emacsver.tex
${top_bootclean}
### `maintainer-clean'
info-dir: ${srcdir}/info/dir
-## Not strictly necessary, but speeds things up a bit by stopping
-## the info-dir rule from running when not needed.
## Hopefully doc/misc/*.texi is not too long for some systems?
-info_dir_deps = ${srcdir}/build-aux/dir_top \
- ${srcdir}/doc/emacs/emacs.texi \
- ${srcdir}/doc/lispintro/emacs-lisp-intro.texi \
- ${srcdir}/doc/lispref/elisp.texi ${srcdir}/doc/misc/*.texi
+srcdir_doc_info_dir_inputs = \
+ ${srcdir}/doc/emacs/emacs.texi \
+ ${srcdir}/doc/lispintro/emacs-lisp-intro.texi \
+ ${srcdir}/doc/lispref/elisp.texi \
+ $(sort $(wildcard ${srcdir}/doc/misc/*.texi))
+info_dir_inputs = \
+ ../build-aux/dir_top \
+ $(subst ${srcdir}/doc/,,${srcdir_doc_info_dir_inputs})
+info_dir_deps = \
+ ${srcdir}/build-aux/make-info-dir \
+ ${srcdir}/build-aux/dir_top \
+ ${srcdir_doc_info_dir_inputs}
## It would be much simpler if info/dir was only created in the
## installation location by the install-info rule, but we also
## but then we would need to depend on info-real, which would
## slow down parallelization.
${srcdir}/info/dir: ${info_dir_deps}
- tempfile=info-dir.$$$$; \
+ $(AM_V_at)${MKDIR_P} ${srcdir}/info
+ $(AM_V_GEN)tempfile=info-dir.$$$$; \
rm -f $${tempfile}; \
- thisdir=`pwd`; \
- (cd ${srcdir} && ./build-aux/make-info-dir $${thisdir}/$${tempfile}); \
+ (cd ${srcdir}/doc && \
+ AWK='${AWK}' ../build-aux/make-info-dir ${info_dir_inputs} \
+ ) >$$tempfile && \
${srcdir}/build-aux/move-if-change $${tempfile} ${srcdir}/info/dir
INSTALL_DVI = install-emacs-dvi install-lispref-dvi \
# and it's not worth it. This case is only relevant if you download a
# release, then change the .texi files.
info:
- @if test "$(HAVE_MAKEINFO)" = "no"; then \
- echo "Configured --without-makeinfo, not building manuals" ; \
- else \
- $(MAKE) info-real info-dir; \
- fi
+ ifneq ($(HAVE_MAKEINFO),no)
+ $(MAKE) info-real info-dir
+ endif
## build-aux/make-info-dir expects only certain dircategories.
check-info: info