X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/b6e66a5cc78e353ff9ae6cdd0807eefcf55b4934..dfa676632dec19cef54afc977d063f0323e33f06:/Makefile.in diff --git a/Makefile.in b/Makefile.in index 0c11828deb..4cdd293ebd 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,6 +1,6 @@ ### @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. @@ -94,6 +94,19 @@ configuration=@configuration@ ### 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. @@ -259,7 +272,7 @@ MKDIR_P = @MKDIR_P@ # 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 ============================== @@ -288,7 +301,18 @@ COPYDESTS = "$(DESTDIR)${etcdir}" "$(DESTDIR)${lispdir}" 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' @@ -323,14 +347,6 @@ epaths-force: -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. # @@ -342,12 +358,12 @@ msys_sed_sh_escape=sed -e 's/[];$$*.^[]/\\\\&/g' # 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") && \ @@ -368,15 +384,18 @@ lisp: src 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 @@ -400,7 +419,7 @@ $(MAKEFILE_NAME): config.status $(srcdir)/src/config.in \ # 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 \ @@ -433,11 +452,11 @@ $(srcdir)/src/config.in: $(srcdir)/src/stamp-h.in @ # 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 ==================== @@ -592,11 +611,12 @@ install-arch-indep: lisp install-info install-man ${INSTALL_ARCH_INDEP_EXTRA} 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} @@ -819,7 +839,7 @@ clean: $(clean_dirs:=_clean) ### `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 @@ -852,6 +872,7 @@ bootstrap-clean: $(distclean_dirs:=_bootstrap-clean) 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' @@ -954,8 +975,8 @@ info_dir_deps = \ ## but then we would need to depend on info-real, which would ## slow down parallelization. ${srcdir}/info/dir: ${info_dir_deps} - ${MKDIR_P} ${srcdir}/info - tempfile=info-dir.$$$$; \ + $(AM_V_at)${MKDIR_P} ${srcdir}/info + $(AM_V_GEN)tempfile=info-dir.$$$$; \ rm -f $${tempfile}; \ (cd ${srcdir}/doc && \ AWK='${AWK}' ../build-aux/make-info-dir ${info_dir_inputs} \ @@ -1022,11 +1043,9 @@ uninstall-ps: $(UNINSTALL_PS) # 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