X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/33017fafd17d722e82a268e9b272f27df261e09d..dee26dfa11ac3936c84f42b83a0e1ec7ae2b15f9:/Makefile.in diff --git a/Makefile.in b/Makefile.in index 699c4794d9..56a54403ef 100644 --- a/Makefile.in +++ b/Makefile.in @@ -66,10 +66,8 @@ CDPATH= # ==================== Things `configure' Might Edit ==================== -MAINTAINER_MODE_FLAG = --disable-maintainer-mode -@MAINT@MAINTAINER_MODE_FLAG = --enable-maintainer-mode cache_file = @cache_file@ -CONFIGURE_FLAGS = --cache-file=$(cache_file) $(MAINTAINER_MODE_FLAG) +CONFIGURE_FLAGS = --cache-file=$(cache_file) CC=@CC@ CFLAGS=@CFLAGS@ @@ -188,16 +186,20 @@ iconsrcdir=$(srcdir)/etc/images/icons lispdir=@lispdir@ leimdir=@leimdir@ -# Directories Emacs should search for lisp files specific -# to this site (i.e. customizations), before consulting -# ${lispdir}. This should be a colon-separated list of -# directories. +# Directories Emacs should search for standard lisp files. +# The default is ${lispdir}:${leimdir}. +standardlisppath=@standardlisppath@ + +# Directories Emacs should search for lisp files specific to this +# site (i.e. customizations), before consulting ${standardlisppath}. +# This should be a colon-separated list of directories. locallisppath=@locallisppath@ # Where Emacs will search to find its lisp files. Before # changing this, check to see if your purpose wouldn't # better be served by changing locallisppath. This # should be a colon-separated list of directories. +# The default is ${locallisppath}:${standardlisppath}. lisppath=@lisppath@ # Where Emacs will search for its lisp files while @@ -244,6 +246,7 @@ INSTALL_INFO = @INSTALL_INFO@ # By default, we uphold the dignity of our programs. INSTALL_STRIP = MKDIR_P = @MKDIR_P@ +LN_S = @LN_S@ # We use gzip to compress installed .el files. GZIP_PROG = @GZIP_PROG@ @@ -276,19 +279,23 @@ COPYDESTS = $(DESTDIR)${etcdir} $(DESTDIR)${lispdir} $(DESTDIR)${leimdir}/ja-dic all: ${SUBDIR} +.PHONY: all ${SUBDIR} blessmail epaths-force FRC + removenullpaths=sed -e 's/^://g' -e 's/:$$//g' -e 's/::/:/g' # Generate epaths.h from epaths.in. This target is invoked by `configure'. -# See comments in configure.in for why it is done this way, as opposed +# See comments in configure.ac for why it is done this way, as opposed # to just letting configure generate epaths.h from epaths.in in a # similar way to how Makefile is made from Makefile.in. epaths-force: FRC - @(lisppath=`echo ${lisppath} | ${removenullpaths}` ; \ - buildlisppath=`echo ${buildlisppath} | ${removenullpaths}` ; \ + @(standardlisppath=`echo "${standardlisppath}" | ${removenullpaths}` ; \ + locallisppath=`echo "${locallisppath}" | ${removenullpaths}` ; \ + buildlisppath=`echo "${buildlisppath}" | ${removenullpaths}` ; \ x_default_search_path=`echo ${x_default_search_path}`; \ gamedir=`echo ${gamedir}`; \ sed < ${srcdir}/src/epaths.in > epaths.h.$$$$ \ - -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'"$${lisppath}"'";' \ + -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'"$${standardlisppath}"'";' \ + -e 's;\(#.*PATH_SITELOADSEARCH\).*$$;\1 "'"$${locallisppath}"'";' \ -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'"$${buildlisppath}"'";' \ -e 's;\(#.*PATH_EXEC\).*$$;\1 "${archlibdir}";' \ -e 's;\(#.*PATH_INFO\).*$$;\1 "${infodir}";' \ @@ -303,8 +310,6 @@ lib-src src: lib src: lib-src FRC -.RECURSIVE: ${SUBDIR} - # We need to build `emacs' in `src' to compile the *.elc files in `lisp' # and `leim'. lisp leim: src @@ -346,12 +351,17 @@ blessmail: Makefile src FRC # We used to have one rule per */Makefile.in, but that leads to race # conditions with parallel makes, so let's assume that the time stamp on # ./Makefile is representative of the time stamp on all the other Makefiles. -Makefile: config.status $(srcdir)/src/config.in \ +# +# config.status overrides MAKEFILE_NAME with a bogus name when creating +# src/epaths.h, so that 'make epaths-force' does not recursively invoke +# config.status and overwrite config.status while executing it (Bug#11214). +MAKEFILE_NAME = Makefile +$(MAKEFILE_NAME): config.status $(srcdir)/src/config.in \ $(srcdir)/Makefile.in $(SUBDIR_MAKEFILES_IN) - ./config.status + MAKE='$(MAKE)' ./config.status -# Don't erase config.status if make is interrupted while refreshing it. -.PRECIOUS: config.status +# Don't erase these files if make is interrupted while refreshing them. +.PRECIOUS: Makefile config.status config.status: ${srcdir}/configure ${srcdir}/lisp/version.el if [ -x ./config.status ]; then \ @@ -360,18 +370,23 @@ config.status: ${srcdir}/configure ${srcdir}/lisp/version.el ./configure $(CONFIGURE_FLAGS); \ fi -AUTOCONF_INPUTS = @MAINT@ $(srcdir)/configure.in $(srcdir)/aclocal.m4 +AUTOCONF_INPUTS = $(srcdir)/configure.ac $(srcdir)/aclocal.m4 $(srcdir)/configure: $(AUTOCONF_INPUTS) cd ${srcdir} && autoconf -ACLOCAL_INPUTS = @MAINT@ $(srcdir)/m4/gnulib-comp.m4 +ACLOCAL_INPUTS = $(srcdir)/m4/gnulib-comp.m4 $(srcdir)/aclocal.m4: $(ACLOCAL_INPUTS) cd $(srcdir) && aclocal -I m4 -AUTOMAKE_INPUTS = @MAINT@ $(srcdir)/aclocal.m4 $(srcdir)/lib/Makefile.am $(srcdir)/lib/gnulib.mk +AUTOMAKE_INPUTS = $(srcdir)/aclocal.m4 $(srcdir)/lib/Makefile.am \ + $(srcdir)/lib/gnulib.mk $(srcdir)/lib/Makefile.in: $(AUTOMAKE_INPUTS) cd $(srcdir) && automake --gnu -a -c lib/Makefile + +# Regenerate files that this makefile would have made, if this makefile +# had been built by Automake. The name 'am--refresh' is for +# compatibility with subsidiary Automake-generated makefiles. am--refresh: $(srcdir)/aclocal.m4 $(srcdir)/configure $(srcdir)/src/config.in .PHONY: am--refresh @@ -388,12 +403,13 @@ $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS) # ==================== Installation ==================== +.PHONY: install install-arch-dep install-arch-indep install-doc install-info +.PHONY: install-man install-etc install-strip uninstall + ## If we let lib-src do its own installation, that means we ## don't have to duplicate the list of utilities to install in ## this Makefile as well. -.PHONY: install - install: all install-arch-indep install-doc install-arch-dep blessmail @true @@ -415,7 +431,7 @@ write_subdir=if [ -f $${subdir}/subdirs.el ]; \ ### Install the executables that were compiled specifically for this machine. ### We do install-arch-indep first because the executable needs the ### Lisp files and DOC file to work properly. -install-arch-dep: install-arch-indep install-doc +install-arch-dep: src install-arch-indep install-doc umask 022; ${MKDIR_P} $(DESTDIR)${bindir} cd lib-src && \ $(MAKE) install $(MFLAGS) prefix=${prefix} \ @@ -425,8 +441,10 @@ install-arch-dep: install-arch-indep install-doc if test "${ns_self_contained}" = "no"; then \ ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} $(DESTDIR)${bindir}/$(EMACSFULL) || exit 1 ; \ chmod 1755 $(DESTDIR)${bindir}/$(EMACSFULL) ; \ - rm -f $(DESTDIR)${bindir}/$(EMACS) ; \ - ln $(DESTDIR)${bindir}/$(EMACSFULL) $(DESTDIR)${bindir}/$(EMACS) || true ; \ + if test "x${NO_BIN_LINK}" = x; then \ + rm -f $(DESTDIR)${bindir}/$(EMACS) ; \ + cd $(DESTDIR)${bindir} && $(LN_S) $(EMACSFULL) $(EMACS); \ + fi; \ else \ subdir=${ns_appresdir}/site-lisp; \ ${write_subdir} || exit 1; \ @@ -482,9 +500,13 @@ set_installuser=for installuser in $${LOGNAME} $${USERNAME} $${USER} \ ## work correctly, and therefore no idea when tar can be replaced. ## See also these comments from 2004 about cp -r working fine: ## http://lists.gnu.org/archive/html/autoconf-patches/2004-11/msg00005.html -install-arch-indep: install-info install-man ${INSTALL_ARCH_INDEP_EXTRA} +install-arch-indep: lisp leim install-info install-man ${INSTALL_ARCH_INDEP_EXTRA} umask 022 ; \ - $(MKDIR_P) $(DESTDIR)`echo ${locallisppath} | sed 's,:, $(DESTDIR),g'` + locallisppath='${locallisppath}'; \ + IFS=:; \ + for d in $$locallisppath; do \ + ${MKDIR_P} "$(DESTDIR)$$d"; \ + done -set ${COPYDESTS} ; \ unset CDPATH; \ $(set_installuser); \ @@ -549,7 +571,7 @@ install-arch-indep: install-info install-man ${INSTALL_ARCH_INDEP_EXTRA} ## Note that install-arch-indep deletes and recreates the entire ## installed etc/ directory, so we need it to run before this does. -install-doc: install-arch-indep +install-doc: src install-arch-indep -unset CDPATH; \ umask 022; ${MKDIR_P} $(DESTDIR)${docdir} ; \ if [ `cd ./etc; /bin/pwd` != `cd $(DESTDIR)${docdir}; /bin/pwd` ]; \ @@ -675,7 +697,7 @@ FRC: # ==================== Cleaning up and miscellanea ==================== -.PHONY: mostlyclean clean distclean maintainer-clean extraclean +.PHONY: mostlyclean clean distclean bootstrap-clean maintainer-clean extraclean ### `mostlyclean' ### Like `clean', but may refrain from deleting a few files that people @@ -713,6 +735,7 @@ clean: FRC -(cd doc/lispref && $(MAKE) $(MFLAGS) clean) -(cd doc/lispintro && $(MAKE) $(MFLAGS) clean) (cd leim; $(MAKE) $(MFLAGS) clean) + (cd nextstep && $(MAKE) $(MFLAGS) clean) ### `bootclean' ### Delete all files that need to be remade for a clean bootstrap. @@ -739,6 +762,7 @@ distclean: FRC (cd doc/lispintro && $(MAKE) $(MFLAGS) distclean) (cd leim; $(MAKE) $(MFLAGS) distclean) (cd lisp; $(MAKE) $(MFLAGS) distclean) + (cd nextstep && $(MAKE) $(MFLAGS) distclean) ${top_distclean} ### `bootstrap-clean' @@ -756,10 +780,9 @@ bootstrap-clean: FRC -(cd doc/lispintro && $(MAKE) $(MFLAGS) maintainer-clean) (cd leim; $(MAKE) $(MFLAGS) maintainer-clean) (cd lisp; $(MAKE) $(MFLAGS) bootstrap-clean) + (cd nextstep && $(MAKE) $(MFLAGS) maintainer-clean) [ ! -f config.log ] || mv -f config.log config.log~ ${top_bootclean} -## configure; make bootstrap replaces the real config.log from configure -## with the truncated one from config.status. The former is more useful. ### `maintainer-clean' ### Delete everything from the current directory that can be @@ -792,6 +815,7 @@ extraclean: # The src subdir knows how to do the right thing # even when the build directory and source dir are different. +.PHONY: TAGS tags TAGS tags: lib lib-src src cd src; $(MAKE) $(MFLAGS) tags @@ -806,7 +830,7 @@ check: dist: cd ${srcdir}; ./make-dist -.PHONY: info dvi dist check html +.PHONY: info dvi dist check html info-real force-info check-info-dir info-real: (cd doc/emacs; $(MAKE) $(MFLAGS) info) @@ -864,14 +888,14 @@ dvi: .PHONY: bootstrap -## configure; make bootstrap replaces the real config.log from configure -## with the truncated one from config.status. The former is more useful. +# Bootstrapping does the following: +# * Remove files to start from a clean slate. +# * Run autogen.sh, falling back on copy_autogen if autogen.sh fails. +# * Build Makefile, to build the build procedure itself. +# * Do the actual build. bootstrap: bootstrap-clean FRC - if [ -x ./config.status ]; then \ - ./config.status; \ - else \ - ./configure $(CONFIGURE_FLAGS); \ - fi + cd $(srcdir) && { ./autogen.sh || autogen/copy_autogen; } + ./configure $(CONFIGURE_FLAGS) $(MAKE) $(MFLAGS) info all .PHONY: check-declare