X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/7da02a6769e84cd0a9df8b1bc18ac78df1c0b058..HEAD:/Makefile.in diff --git a/Makefile.in b/Makefile.in index 852a13407b..0fd9f980ca 100644 --- a/Makefile.in +++ b/Makefile.in @@ -60,8 +60,8 @@ SHELL = @SHELL@ -# This may not work with certain non-GNU make's. It only matters when -# inheriting a CDPATH not starting with the current directory. +# This only matters when inheriting a CDPATH not starting with the +# current directory. CDPATH= # If Make doesn't predefine MAKE, set it here. @@ -76,10 +76,11 @@ QUIET_SUBMAKE = MAKELEVEL=0 cache_file = @cache_file@ CONFIGURE_FLAGS = --cache-file=$(cache_file) -CC=@CC@ -CFLAGS=@CFLAGS@ -LDFLAGS=@LDFLAGS@ -CPPFLAGS=@CPPFLAGS@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ +ACLOCAL = @ACLOCAL@ + EXEEXT=@EXEEXT@ ### These help us choose version- and architecture-specific directories @@ -146,8 +147,7 @@ man1dir=$(mandir)/man1 # Where to install and expect the info files describing Emacs. infodir=@infodir@ # Info files not in the doc/misc directory (we get those via make echo-info). -INFO_EXT=@INFO_EXT@ -INFO_NONMISC=emacs$(INFO_EXT) eintr$(INFO_EXT) elisp$(INFO_EXT) +INFO_NONMISC=emacs.info eintr.info elisp.info # If no makeinfo was found and configured --without-makeinfo, "no"; else "yes". HAVE_MAKEINFO=@HAVE_MAKEINFO@ @@ -166,8 +166,6 @@ bitmapdir=@bitmapdir@ # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. srcdir=@srcdir@ abs_srcdir=@abs_srcdir@ -# MinGW CPPFLAGS may use this. -abs_top_srcdir=@abs_top_srcdir@ # Where the manpage source files are kept. mansrcdir=$(srcdir)/doc/man @@ -288,9 +286,9 @@ SUBDIR_MAKEFILES = `echo $(SUBDIR_MAKEFILES_IN:.in=) | sed 's|$(srcdir)/||g'` COPYDIR = ${srcdir}/etc ${srcdir}/lisp COPYDESTS = "$(DESTDIR)${etcdir}" "$(DESTDIR)${lispdir}" -all: ${SUBDIR} +all: ${SUBDIR} info -.PHONY: all ${SUBDIR} blessmail epaths-force epaths-force-w32 FRC +.PHONY: all ${SUBDIR} blessmail epaths-force epaths-force-w32 removenullpaths=sed -e 's/^:*//' -e 's/:*$$//g' -e 's/::*/:/g' @@ -298,7 +296,15 @@ removenullpaths=sed -e 's/^:*//' -e 's/:*$$//g' -e 's/::*/:/g' # 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 +epaths-force: + @for dir in '$(abs_srcdir)' '$(lispdir)' '$(archlibdir)'; do \ + case $$dir in \ + *:*) \ + echo >&2 "Build or installation directory '$$dir'"; \ + echo >&2 "cannot contain ':'."; \ + exit 1;; \ + esac; \ + done @(standardlisppath=`echo "${standardlisppath}" | ${removenullpaths}` ; \ locallisppath=`echo "${locallisppath}" | ${removenullpaths}` ; \ buildlisppath=`echo "${buildlisppath}" | ${removenullpaths}` ; \ @@ -335,7 +341,7 @@ msys_sed_sh_escape=sed -e 's/[];$$*.^[]/\\\\&/g' # MS-Windows format (e.g. 'c:/foo/bar'), because temacs is a MinGW # program that doesn't support MSYS-style paths (e.g. '/c/foo/bar' or # '/foo/bar'). -epaths-force-w32: FRC +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}` ; \ @@ -359,41 +365,21 @@ src: lib-src lisp: src # These targets should be "${SUBDIR} without `src'". -lib lib-src lisp nt: Makefile FRC - cd $@ && $(MAKE) all $(MFLAGS) \ - CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \ - LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' - -# Pass to src/Makefile.in an additional BOOTSTRAPEMACS variable which -# is either set to bootstrap-emacs (in case bootstrap-emacs has not been -# constructed yet) or the empty string (otherwise). -# src/Makefile.in uses it to implement conditional dependencies, so that -# files that need bootstrap-emacs to be built do not additionally need -# to be kept fresher than bootstrap-emacs. Otherwise changing a single -# file src/foo.c forces dumping a new bootstrap-emacs, then re-byte-compiling -# all preloaded elisp files, and only then dump the actual src/emacs, which -# is not wrong, but is overkill in 99.99% of the cases. -# +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 # expands it using its own value of srcdir (which points to the # source directory of src/). -src: Makefile FRC +src: Makefile dirstate='.bzr/checkout/dirstate'; \ vcswitness='$$(srcdir)/../'$$dirstate; \ [ -r "$(srcdir)/$$dirstate" ] || vcswitness=''; \ - cd $@ || exit; \ - boot=bootstrap-emacs$(EXEEXT); \ - [ ! -x "$$boot" ] || boot=''; \ - echo "VCSWITNESS: $$vcswitness";\ - $(MAKE) all $(MFLAGS) \ - CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \ - LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS="$$boot" \ - VCSWITNESS="$$vcswitness" - -blessmail: Makefile src FRC - cd lib-src && $(MAKE) maybe-blessmail $(MFLAGS) \ - MAKE='${MAKE}' archlibdir='$(archlibdir)' + $(MAKE) -C $@ all VCSWITNESS="$$vcswitness" + +blessmail: Makefile src + $(MAKE) -C lib-src maybe-blessmail # 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 @@ -424,16 +410,17 @@ config.status: ${srcdir}/configure ${srcdir}/lisp/version.el AUTOCONF_INPUTS = $(srcdir)/configure.ac $(srcdir)/aclocal.m4 $(srcdir)/configure: $(AUTOCONF_INPUTS) - cd ${srcdir} && autoconf + cd ${srcdir} && ${AUTOCONF} +ACLOCAL_PATH = @ACLOCAL_PATH@ ACLOCAL_INPUTS = $(srcdir)/configure.ac $(srcdir)/m4/gnulib-comp.m4 $(srcdir)/aclocal.m4: $(ACLOCAL_INPUTS) - cd $(srcdir) && aclocal -I m4 + cd $(srcdir) && ACLOCAL_PATH='$(ACLOCAL_PATH)' $(ACLOCAL) -I m4 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 + 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 @@ -446,9 +433,9 @@ $(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 ) + [ -r "$@" ] || ( cd ${srcdir} && ${AUTOHEADER} ) $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS) - cd ${srcdir} && autoheader + cd ${srcdir} && ${AUTOHEADER} rm -f $(srcdir)/src/stamp-h.in echo timestamp > $(srcdir)/src/stamp-h.in @@ -485,11 +472,7 @@ write_subdir=if [ -f "$${subdir}/subdirs.el" ]; \ ### Lisp files and DOC file to work properly. install-arch-dep: src install-arch-indep install-etcdoc install-$(NTDIR) umask 022; ${MKDIR_P} "$(DESTDIR)${bindir}" - cd lib-src && \ - $(MAKE) install $(MFLAGS) prefix="${prefix}" \ - exec_prefix="${exec_prefix}" bindir="${bindir}" \ - libexecdir="${libexecdir}" archlibdir="${archlibdir}" \ - INSTALL_STRIP=${INSTALL_STRIP} + $(MAKE) -C lib-src install if test "${ns_self_contained}" = "no"; then \ ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} "$(DESTDIR)${bindir}/$(EMACSFULL)" || exit 1 ; \ chmod 1755 "$(DESTDIR)${bindir}/$(EMACSFULL)" || true; \ @@ -507,11 +490,7 @@ install-arch-dep: src install-arch-indep install-etcdoc install-$(NTDIR) ### in nt/, and its Posix do-nothing shadow. install-: install-nt: - cd $(NTDIR) && \ - $(MAKE) install $(MFLAGS) prefix="${prefix}" \ - exec_prefix="${exec_prefix}" bindir="${bindir}" \ - libexecdir="${libexecdir}" archlibdir="${archlibdir}" \ - INSTALL_STRIP=${INSTALL_STRIP} + $(MAKE) -C $(NTDIR) install ## In the share directory, we are deleting: ## applications (with emacs.desktop, also found in etc/) @@ -612,18 +591,12 @@ install-arch-indep: lisp install-info install-man ${INSTALL_ARCH_INDEP_EXTRA} ${write_subdir} subdir="$(DESTDIR)${datadir}/emacs/site-lisp" ; \ ${write_subdir} || true - [ -z "${GZIP_PROG}" ] || \ - ( echo "Compressing *.el ..." ; \ - unset CDPATH; \ - thisdir=`/bin/pwd`; \ - for dir in "$(DESTDIR)${lispdir}"; do \ - cd "$${thisdir}" ; \ - cd "$${dir}" || exit 1 ; \ - for f in `find . -name "*.elc" -print`; do \ - f_el=`echo "$$f" | sed 's/.elc$$/.el/'`; \ - ${GZIP_PROG} -9n "$$f_el" ; \ - done ; \ - done ) + [ -z "${GZIP_PROG}" ] || { \ + echo "Compressing *.el ..." && \ + cd "$(DESTDIR)${lispdir}" && \ + find . -name '*.elc' -exec $(SHELL) -c \ + '${GZIP_PROG} -9n `expr "$$1" : "\\(.*\\)c"`' dummy '{}' ';'; \ + } -chmod -R a+r "$(DESTDIR)${datadir}/emacs/${version}" ${COPYDESTS} ## The above chmods are needed because "umask 022; tar ..." is not @@ -663,7 +636,7 @@ install-info: info [ -f "$(DESTDIR)${infodir}/dir" ] || \ [ ! -f ${srcdir}/info/dir ] || \ ${INSTALL_DATA} ${srcdir}/info/dir "$(DESTDIR)${infodir}/dir"; \ - info_misc=`cd doc/misc && $(QUIET_SUBMAKE) $(MAKE) -s echo-info`; \ + info_misc=`$(QUIET_SUBMAKE) $(MAKE) -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; \ @@ -730,19 +703,14 @@ install-etc: ### Build Emacs and install it, stripping binaries while installing them. install-strip: - $(MAKE) $(MFLAGS) INSTALL_STRIP=-s install + $(MAKE) INSTALL_STRIP=-s install ### Delete all the installed files that the `install' target would ### create (but not the noninstalled files such as `make all' would create). ### ### Don't delete the lisp and etc directories if they're in the source tree. uninstall: uninstall-$(NTDIR) uninstall-doc - cd lib-src && \ - $(MAKE) $(MFLAGS) uninstall \ - prefix="${prefix}" exec_prefix="${exec_prefix}" \ - bindir="${bindir}" libexecdir="${libexecdir}" \ - archlibdir="${archlibdir}" - + $(MAKE) -C lib-src uninstall -unset CDPATH; \ for dir in "$(DESTDIR)${lispdir}" "$(DESTDIR)${etcdir}" ; do \ if [ -d "$${dir}" ]; then \ @@ -759,7 +727,7 @@ uninstall: uninstall-$(NTDIR) uninstall-doc done -rm -rf "$(DESTDIR)${libexecdir}/emacs/${version}" thisdir=`/bin/pwd`; \ - (info_misc=`cd doc/misc && $(QUIET_SUBMAKE) $(MAKE) -s echo-info`; \ + (info_misc=`$(QUIET_SUBMAKE) $(MAKE) -s -C doc/misc echo-info`; \ if cd "$(DESTDIR)${infodir}"; then \ for elt in ${INFO_NONMISC} $${info_misc}; do \ (cd "$${thisdir}"; \ @@ -791,34 +759,35 @@ uninstall: uninstall-$(NTDIR) uninstall-doc ### in nt/, and its Posix do-nothing shadow. uninstall-: uninstall-nt: - cd $(NTDIR) && \ - $(MAKE) $(MFLAGS) uninstall \ - prefix="${prefix}" exec_prefix="${exec_prefix}" \ - bindir="${bindir}" libexecdir="${libexecdir}" \ - archlibdir="${archlibdir}" - -FRC: + $(MAKE) -C $(NTDIR) uninstall # ==================== Cleaning up and miscellanea ==================== .PHONY: mostlyclean clean distclean bootstrap-clean maintainer-clean extraclean +## Eg: +## src_clean: +## make -C src clean +define submake_template +.PHONY: $(1)_$(2) +$(1)_$(2): + $$(MAKE) -C $(1) $(2) +endef + ### `mostlyclean' ### Like `clean', but may refrain from deleting a few files that people ### normally don't want to recompile. For example, the `mostlyclean' ### target for GCC does not delete `libgcc.a', because recompiling it ### is rarely necessary and takes a lot of time. -mostlyclean: FRC - cd src && $(MAKE) $(MFLAGS) mostlyclean - cd oldXMenu && $(MAKE) $(MFLAGS) mostlyclean - cd lwlib && $(MAKE) $(MFLAGS) mostlyclean - cd lib && $(MAKE) $(MFLAGS) mostlyclean - cd lib-src && $(MAKE) $(MFLAGS) mostlyclean - cd nt && $(MAKE) $(MFLAGS) mostlyclean - -cd doc/emacs && $(MAKE) $(MFLAGS) mostlyclean - -cd doc/misc && $(MAKE) $(MFLAGS) mostlyclean - -cd doc/lispref && $(MAKE) $(MFLAGS) mostlyclean - -cd doc/lispintro && $(MAKE) $(MFLAGS) mostlyclean +mostlyclean_dirs = src oldXMenu lwlib lib lib-src nt doc/emacs doc/misc \ + doc/lispref doc/lispintro + +$(foreach dir,$(mostlyclean_dirs),$(eval $(call submake_template,$(dir),mostlyclean))) + +mostlyclean: $(mostlyclean_dirs:=_mostlyclean) + for dir in test/automated; do \ + [ ! -d $$dir ] || $(MAKE) -C $$dir mostlyclean; \ + done ### `clean' ### Delete all files from the current directory that are normally @@ -828,24 +797,21 @@ mostlyclean: FRC ### with them. ### ### Delete `.dvi' files here if they are not part of the distribution. -clean: FRC +clean_dirs = $(mostlyclean_dirs) nextstep + +$(foreach dir,$(clean_dirs),$(eval $(call submake_template,$(dir),clean))) + +clean: $(clean_dirs:=_clean) + for dir in test/automated; do \ + [ ! -d $$dir ] || $(MAKE) -C $$dir clean; \ + done -rm -f etc/emacs.tmpdesktop - cd src && $(MAKE) $(MFLAGS) clean - cd oldXMenu && $(MAKE) $(MFLAGS) clean - cd lwlib && $(MAKE) $(MFLAGS) clean - cd lib && $(MAKE) $(MFLAGS) clean - cd lib-src && $(MAKE) $(MFLAGS) clean - cd nt && $(MAKE) $(MFLAGS) clean - -cd doc/emacs && $(MAKE) $(MFLAGS) clean - -cd doc/misc && $(MAKE) $(MFLAGS) clean - -cd doc/lispref && $(MAKE) $(MFLAGS) clean - -cd doc/lispintro && $(MAKE) $(MFLAGS) clean - cd nextstep && $(MAKE) $(MFLAGS) clean ### `bootclean' ### Delete all files that need to be remade for a clean bootstrap. top_bootclean=\ rm -f config.cache config.log + ### `distclean' ### Delete all files from the current directory that are created by ### configuring or building the program. If you have unpacked the @@ -855,44 +821,25 @@ top_bootclean=\ top_distclean=\ ${top_bootclean}; \ rm -f config.status config.log~ Makefile stamp-h1 ${SUBDIR_MAKEFILES} -distclean: FRC - cd src && $(MAKE) $(MFLAGS) distclean - cd oldXMenu && $(MAKE) $(MFLAGS) distclean - cd lwlib && $(MAKE) $(MFLAGS) distclean - cd lib && $(MAKE) $(MFLAGS) distclean - cd lib-src && $(MAKE) $(MFLAGS) distclean - cd nt && $(MAKE) $(MFLAGS) distclean - cd doc/emacs && $(MAKE) $(MFLAGS) distclean - cd doc/misc && $(MAKE) $(MFLAGS) distclean - cd doc/lispref && $(MAKE) $(MFLAGS) distclean - cd doc/lispintro && $(MAKE) $(MFLAGS) distclean - cd leim && $(MAKE) $(MFLAGS) distclean - cd lisp && $(MAKE) $(MFLAGS) distclean - cd nextstep && $(MAKE) $(MFLAGS) distclean + +distclean_dirs = $(clean_dirs) leim lisp + +$(foreach dir,$(distclean_dirs),$(eval $(call submake_template,$(dir),distclean))) + +distclean: $(distclean_dirs:=_distclean) for dir in test/automated admin/grammars admin/unidata; do \ - [ ! -d $$dir ] || (cd $$dir && $(MAKE) $(MFLAGS) distclean); \ + [ ! -d $$dir ] || $(MAKE) -C $$dir distclean; \ done ${top_distclean} ### `bootstrap-clean' ### Delete everything that can be reconstructed by `make' and that ### needs to be deleted in order to force a bootstrap from a clean state. -bootstrap-clean: FRC - cd src && $(MAKE) $(MFLAGS) bootstrap-clean - cd oldXMenu && $(MAKE) $(MFLAGS) maintainer-clean - cd lwlib && $(MAKE) $(MFLAGS) maintainer-clean - cd lib && $(MAKE) $(MFLAGS) maintainer-clean - cd lib-src && $(MAKE) $(MFLAGS) maintainer-clean - cd nt && $(MAKE) $(MFLAGS) maintainer-clean - -cd doc/emacs && $(MAKE) $(MFLAGS) maintainer-clean - -cd doc/misc && $(MAKE) $(MFLAGS) maintainer-clean - -cd doc/lispref && $(MAKE) $(MFLAGS) maintainer-clean - -cd doc/lispintro && $(MAKE) $(MFLAGS) maintainer-clean - cd leim && $(MAKE) $(MFLAGS) bootstrap-clean - cd lisp && $(MAKE) $(MFLAGS) bootstrap-clean - cd nextstep && $(MAKE) $(MFLAGS) maintainer-clean +$(foreach dir,$(distclean_dirs),$(eval $(call submake_template,$(dir),bootstrap-clean))) + +bootstrap-clean: $(distclean_dirs:=_bootstrap-clean) for dir in test/automated admin/grammars admin/unidata; do \ - [ ! -d $$dir ] || (cd $$dir && $(MAKE) $(MFLAGS) bootstrap-clean); \ + [ ! -d $$dir ] || $(MAKE) -C $$dir bootstrap-clean; \ done [ ! -f config.log ] || mv -f config.log config.log~ rm -rf ${srcdir}/info @@ -912,12 +859,14 @@ bootstrap-clean: FRC top_maintainer_clean=\ ${top_distclean}; \ rm -fr autom4te.cache -maintainer-clean: bootstrap-clean FRC - cd src && $(MAKE) $(MFLAGS) maintainer-clean - cd leim && $(MAKE) $(MFLAGS) maintainer-clean - cd lisp && $(MAKE) $(MFLAGS) maintainer-clean + +maintainer_clean_dirs = src leim lisp + +$(foreach dir,$(maintainer_clean_dirs),$(eval $(call submake_template,$(dir),maintainer-clean))) + +maintainer-clean: bootstrap-clean $(maintainer_clean_dirs:=_maintainer-clean) for dir in test/automated admin/grammars admin/unidata; do \ - [ ! -d $$dir ] || (cd $$dir && $(MAKE) $(MFLAGS) maintainer-clean); \ + [ ! -d $$dir ] || $(MAKE) -C $$dir maintainer-clean; \ done ${top_maintainer_clean} @@ -925,8 +874,12 @@ maintainer-clean: bootstrap-clean FRC ### says GCC supports it, and that's where the configuration part of ### the coding standards seem to come from. It's like distclean, but ### it deletes backup and autosave files too. -extraclean: - for i in ${SUBDIR}; do (cd $$i; $(MAKE) $(MFLAGS) extraclean); done +### Note that we abuse this in some subdirectories (eg leim), +### to delete some generated files that are slow to rebuild. +$(foreach dir,$(SUBDIR),$(eval $(call submake_template,$(dir),extraclean))) + +## FIXME this is busted because most of these do not have extraclean rules. +extraclean: $(SUBDIR:=_extraclean) ${top_maintainer_clean} -rm -f config-tmp-* -rm -f *~ \#* @@ -935,14 +888,14 @@ extraclean: # even when the build directory and source dir are different. .PHONY: TAGS tags TAGS tags: lib lib-src src - cd src; $(MAKE) $(MFLAGS) tags + $(MAKE) -C src tags check: all @if test ! -d test/automated; then \ echo "You do not seem to have the test/ directory."; \ echo "Maybe you are using a release tarfile, rather than a repository checkout."; \ else \ - cd test/automated && $(MAKE) $(MFLAGS) check; \ + $(MAKE) -C test/automated check; \ fi dist: @@ -956,10 +909,10 @@ PSS = lispref-ps lispintro-ps emacs-ps misc-ps DOCS = $(DVIS) $(HTMLS) $(INFOS) $(PDFS) $(PSS) $(DOCS): - t=$@; IFS=-; set $$t; IFS=; cd doc/$$1 && $(MAKE) $(MFLAGS) $$2 + t=$@; IFS=-; set $$t; IFS=; $(MAKE) -C doc/$$1 $$2 .PHONY: $(DOCS) docs pdf ps -.PHONY: info dvi dist check html info-real info-dir force-info check-info +.PHONY: info dvi dist check html info-real info-dir check-info ## TODO add etc/refcards. docs: $(DOCS) @@ -1005,7 +958,7 @@ INSTALL_DOC = $(INSTALL_DVI) $(INSTALL_HTML) $(INSTALL_PDF) $(INSTALL_PS) ## Install non .info forms of the documentation. ## TODO add etc/refcards. $(INSTALL_DOC): - t=$@; IFS=-; set $$t; IFS=; cd doc/$$2 && $(MAKE) $(MFLAGS) $$1-$$3 + t=$@; IFS=-; set $$t; IFS=; $(MAKE) -C doc/$$2 $$1-$$3 .PHONY: $(INSTALL_DOC) install-doc .PHONY: install-dvi install-html install-pdf install-ps @@ -1028,7 +981,7 @@ UNINSTALL_PS = uninstall-emacs-ps uninstall-lispref-ps \ UNINSTALL_DOC = $(UNINSTALL_DVI) $(UNINSTALL_HTML) $(UNINSTALL_PDF) $(UNINSTALL_PS) $(UNINSTALL_DOC): - t=$@; IFS=-; set $$t; IFS=; cd doc/$$2 && $(MAKE) $(MFLAGS) $$1-$$3 + t=$@; IFS=-; set $$t; IFS=; $(MAKE) -C doc/$$2 $$1-$$3 .PHONY: $(UNINSTALL_DOC) uninstall-doc .PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps @@ -1040,7 +993,6 @@ uninstall-pdf: $(UNINSTALL_PDF) uninstall-ps: $(UNINSTALL_PS) -force-info: # Note that man/Makefile knows how to put the info files in $(srcdir), # so we can do ok running make in the build dir. # This used to have a clause that exited with an error if MAKEINFO = no. @@ -1052,11 +1004,11 @@ force-info: # would require changing every rule in doc/ that builds an info file, # and it's not worth it. This case is only relevant if you download a # release, then change the .texi files. -info: force-info +info: @if test "$(HAVE_MAKEINFO)" = "no"; then \ echo "Configured --without-makeinfo, not building manuals" ; \ else \ - $(MAKE) $(MFLAGS) info-real info-dir; \ + $(MAKE) info-real info-dir; \ fi ## build-aux/make-info-dir expects only certain dircategories. @@ -1094,10 +1046,10 @@ check-info: info # * Run autogen.sh. # * Rebuild Makefile, to update the build procedure itself. # * Do the actual build. -bootstrap: bootstrap-clean FRC +bootstrap: bootstrap-clean cd $(srcdir) && ./autogen.sh - $(MAKE) $(MFLAGS) MAKEFILE_NAME=force-Makefile force-Makefile - $(MAKE) $(MFLAGS) info all + $(MAKE) MAKEFILE_NAME=force-Makefile force-Makefile + $(MAKE) all .PHONY: check-declare @@ -1106,4 +1058,4 @@ check-declare: echo "You must build Emacs to use this command"; \ exit 1; \ fi - cd lisp && $(MAKE) $(MFLAGS) $@ + $(MAKE) -C lisp $@