1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-24 07:20:37 +00:00

Use make -C' rather than cd && make'

* Makefile.in: Use `make -C' rather than `cd && make' throughout.

* lib-src/Makefile.in (../lib/libgnu.a): Use `make -C' rather than `cd && make'.

* lisp/Makefile.in (leim, semantic): Use `make -C' rather than `cd && make'.

* lwlib/Makefile.in ($(globals_h)): Use `make -C' rather than `cd && make'.

* src/Makefile.in: Use `make -C' rather than `cd && make' throughout.
This commit is contained in:
Glenn Morris 2014-06-14 17:34:22 -07:00
parent 0e6929ecab
commit 0d9f81376b
10 changed files with 44 additions and 32 deletions

View File

@ -1,5 +1,7 @@
2014-06-15 Glenn Morris <rgm@gnu.org> 2014-06-15 Glenn Morris <rgm@gnu.org>
* Makefile.in: Use `make -C' rather than `cd && make' throughout.
* Makefile.in: Parallelize clean rules using GNU make features. * Makefile.in: Parallelize clean rules using GNU make features.
(submake_template): New definition. (submake_template): New definition.
(mostlyclean_dirs, clean_dirs, distclean_dirs, maintainer_clean_dirs): (mostlyclean_dirs, clean_dirs, distclean_dirs, maintainer_clean_dirs):

View File

@ -358,7 +358,7 @@ lisp: src
# These targets should be "${SUBDIR} without `src'". # These targets should be "${SUBDIR} without `src'".
lib lib-src lisp nt: Makefile lib lib-src lisp nt: Makefile
cd $@ && $(MAKE) all $(MAKE) -C $@ all
# Pass to src/Makefile.in an additional BOOTSTRAPEMACS variable which # Pass to src/Makefile.in an additional BOOTSTRAPEMACS variable which
# is either set to bootstrap-emacs (in case bootstrap-emacs has not been # is either set to bootstrap-emacs (in case bootstrap-emacs has not been
@ -384,7 +384,7 @@ src: Makefile
$(MAKE) all BOOTSTRAPEMACS="$$boot" VCSWITNESS="$$vcswitness" $(MAKE) all BOOTSTRAPEMACS="$$boot" VCSWITNESS="$$vcswitness"
blessmail: Makefile src blessmail: Makefile src
cd lib-src && $(MAKE) maybe-blessmail $(MAKE) -C lib-src maybe-blessmail
# We used to have one rule per */Makefile.in, but that leads to race # 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 # conditions with parallel makes, so let's assume that the time stamp on
@ -477,7 +477,7 @@ write_subdir=if [ -f "$${subdir}/subdirs.el" ]; \
### Lisp files and DOC file to work properly. ### Lisp files and DOC file to work properly.
install-arch-dep: src install-arch-indep install-etcdoc install-$(NTDIR) install-arch-dep: src install-arch-indep install-etcdoc install-$(NTDIR)
umask 022; ${MKDIR_P} "$(DESTDIR)${bindir}" umask 022; ${MKDIR_P} "$(DESTDIR)${bindir}"
cd lib-src && $(MAKE) install $(MAKE) -C lib-src install
if test "${ns_self_contained}" = "no"; then \ if test "${ns_self_contained}" = "no"; then \
${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} "$(DESTDIR)${bindir}/$(EMACSFULL)" || exit 1 ; \ ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} "$(DESTDIR)${bindir}/$(EMACSFULL)" || exit 1 ; \
chmod 1755 "$(DESTDIR)${bindir}/$(EMACSFULL)" || true; \ chmod 1755 "$(DESTDIR)${bindir}/$(EMACSFULL)" || true; \
@ -495,7 +495,7 @@ install-arch-dep: src install-arch-indep install-etcdoc install-$(NTDIR)
### in nt/, and its Posix do-nothing shadow. ### in nt/, and its Posix do-nothing shadow.
install-: install-:
install-nt: install-nt:
cd $(NTDIR) && $(MAKE) install $(MAKE) -C $(NTDIR) install
## In the share directory, we are deleting: ## In the share directory, we are deleting:
## applications (with emacs.desktop, also found in etc/) ## applications (with emacs.desktop, also found in etc/)
@ -641,7 +641,7 @@ install-info: info
[ -f "$(DESTDIR)${infodir}/dir" ] || \ [ -f "$(DESTDIR)${infodir}/dir" ] || \
[ ! -f ${srcdir}/info/dir ] || \ [ ! -f ${srcdir}/info/dir ] || \
${INSTALL_DATA} ${srcdir}/info/dir "$(DESTDIR)${infodir}/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 ; \ cd ${srcdir}/info ; \
for elt in ${INFO_NONMISC} $${info_misc}; do \ for elt in ${INFO_NONMISC} $${info_misc}; do \
test "$(HAVE_MAKEINFO)" = "no" && test ! -f $$elt && continue; \ test "$(HAVE_MAKEINFO)" = "no" && test ! -f $$elt && continue; \
@ -715,7 +715,7 @@ install-strip:
### ###
### Don't delete the lisp and etc directories if they're in the source tree. ### Don't delete the lisp and etc directories if they're in the source tree.
uninstall: uninstall-$(NTDIR) uninstall-doc uninstall: uninstall-$(NTDIR) uninstall-doc
cd lib-src && $(MAKE) uninstall $(MAKE) -C lib-src uninstall
-unset CDPATH; \ -unset CDPATH; \
for dir in "$(DESTDIR)${lispdir}" "$(DESTDIR)${etcdir}" ; do \ for dir in "$(DESTDIR)${lispdir}" "$(DESTDIR)${etcdir}" ; do \
if [ -d "$${dir}" ]; then \ if [ -d "$${dir}" ]; then \
@ -732,7 +732,7 @@ uninstall: uninstall-$(NTDIR) uninstall-doc
done done
-rm -rf "$(DESTDIR)${libexecdir}/emacs/${version}" -rm -rf "$(DESTDIR)${libexecdir}/emacs/${version}"
thisdir=`/bin/pwd`; \ 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 \ if cd "$(DESTDIR)${infodir}"; then \
for elt in ${INFO_NONMISC} $${info_misc}; do \ for elt in ${INFO_NONMISC} $${info_misc}; do \
(cd "$${thisdir}"; \ (cd "$${thisdir}"; \
@ -764,7 +764,7 @@ uninstall: uninstall-$(NTDIR) uninstall-doc
### in nt/, and its Posix do-nothing shadow. ### in nt/, and its Posix do-nothing shadow.
uninstall-: uninstall-:
uninstall-nt: uninstall-nt:
cd $(NTDIR) && $(MAKE) uninstall $(MAKE) -C $(NTDIR) uninstall
# ==================== Cleaning up and miscellanea ==================== # ==================== Cleaning up and miscellanea ====================
@ -888,14 +888,14 @@ extraclean: $(SUBDIR:=_extraclean)
# even when the build directory and source dir are different. # even when the build directory and source dir are different.
.PHONY: TAGS tags .PHONY: TAGS tags
TAGS tags: lib lib-src src TAGS tags: lib lib-src src
cd src && $(MAKE) tags $(MAKE) -C src tags
check: all check: all
@if test ! -d test/automated; then \ @if test ! -d test/automated; then \
echo "You do not seem to have the test/ directory."; \ echo "You do not seem to have the test/ directory."; \
echo "Maybe you are using a release tarfile, rather than a repository checkout."; \ echo "Maybe you are using a release tarfile, rather than a repository checkout."; \
else \ else \
cd test/automated && $(MAKE) check; \ $(MAKE) -C test/automated check; \
fi fi
dist: dist:
@ -909,7 +909,7 @@ PSS = lispref-ps lispintro-ps emacs-ps misc-ps
DOCS = $(DVIS) $(HTMLS) $(INFOS) $(PDFS) $(PSS) DOCS = $(DVIS) $(HTMLS) $(INFOS) $(PDFS) $(PSS)
$(DOCS): $(DOCS):
t=$@; IFS=-; set $$t; IFS=; cd doc/$$1 && $(MAKE) $$2 t=$@; IFS=-; set $$t; IFS=; $(MAKE) -C doc/$$1 $$2
.PHONY: $(DOCS) docs pdf ps .PHONY: $(DOCS) docs pdf ps
.PHONY: info dvi dist check html info-real info-dir check-info .PHONY: info dvi dist check html info-real info-dir check-info
@ -958,7 +958,7 @@ INSTALL_DOC = $(INSTALL_DVI) $(INSTALL_HTML) $(INSTALL_PDF) $(INSTALL_PS)
## Install non .info forms of the documentation. ## Install non .info forms of the documentation.
## TODO add etc/refcards. ## TODO add etc/refcards.
$(INSTALL_DOC): $(INSTALL_DOC):
t=$@; IFS=-; set $$t; IFS=; cd doc/$$2 && $(MAKE) $$1-$$3 t=$@; IFS=-; set $$t; IFS=; $(MAKE) -C doc/$$2 $$1-$$3
.PHONY: $(INSTALL_DOC) install-doc .PHONY: $(INSTALL_DOC) install-doc
.PHONY: install-dvi install-html install-pdf install-ps .PHONY: install-dvi install-html install-pdf install-ps
@ -981,7 +981,7 @@ UNINSTALL_PS = uninstall-emacs-ps uninstall-lispref-ps \
UNINSTALL_DOC = $(UNINSTALL_DVI) $(UNINSTALL_HTML) $(UNINSTALL_PDF) $(UNINSTALL_PS) UNINSTALL_DOC = $(UNINSTALL_DVI) $(UNINSTALL_HTML) $(UNINSTALL_PDF) $(UNINSTALL_PS)
$(UNINSTALL_DOC): $(UNINSTALL_DOC):
t=$@; IFS=-; set $$t; IFS=; cd doc/$$2 && $(MAKE) $$1-$$3 t=$@; IFS=-; set $$t; IFS=; $(MAKE) -C doc/$$2 $$1-$$3
.PHONY: $(UNINSTALL_DOC) uninstall-doc .PHONY: $(UNINSTALL_DOC) uninstall-doc
.PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps .PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps
@ -1058,4 +1058,4 @@ check-declare:
echo "You must build Emacs to use this command"; \ echo "You must build Emacs to use this command"; \
exit 1; \ exit 1; \
fi fi
cd lisp && $(MAKE) $@ $(MAKE) -C lisp $@

View File

@ -1,5 +1,8 @@
2014-06-15 Glenn Morris <rgm@gnu.org> 2014-06-15 Glenn Morris <rgm@gnu.org>
* Makefile.in (../lib/libgnu.a):
Use `make -C' rather than `cd && make'.
* Makefile.in (bootstrap-clean): New. * Makefile.in (bootstrap-clean): New.
2014-06-13 Glenn Morris <rgm@gnu.org> 2014-06-13 Glenn Morris <rgm@gnu.org>

View File

@ -304,7 +304,7 @@ TAGS: etags${EXEEXT}
etags *.[ch] etags *.[ch]
../lib/libgnu.a: $(config_h) ../lib/libgnu.a: $(config_h)
cd ../lib && $(MAKE) libgnu.a $(MAKE) -C ../lib libgnu.a
regex.o: $(srcdir)/../src/regex.c $(srcdir)/../src/regex.h $(config_h) regex.o: $(srcdir)/../src/regex.c $(srcdir)/../src/regex.h $(config_h)
${CC} -c ${CPP_CFLAGS} ${srcdir}/../src/regex.c ${CC} -c ${CPP_CFLAGS} ${srcdir}/../src/regex.c

View File

@ -1,5 +1,7 @@
2014-06-15 Glenn Morris <rgm@gnu.org> 2014-06-15 Glenn Morris <rgm@gnu.org>
* Makefile.in (leim, semantic): Use `make -C' rather than `cd && make'.
* progmodes/cc-langs.el: Require cl-lib. (Bug#17463) * progmodes/cc-langs.el: Require cl-lib. (Bug#17463)
Replace delete-duplicates and mapcan by cl- versions throughout. Replace delete-duplicates and mapcan by cl- versions throughout.
And cl-macroexpand-all by macroexpand-all. And cl-macroexpand-all by macroexpand-all.

View File

@ -348,7 +348,7 @@ compile-clean:
.PHONY: leim semantic .PHONY: leim semantic
leim: leim:
cd ../leim && $(MAKE) all EMACS="$(EMACS)" $(MAKE) -C ../leim all EMACS="$(EMACS)"
# FIXME. Yuck. # FIXME. Yuck.
semantic: semantic:
@ -356,7 +356,7 @@ semantic:
.*) EMACS="../${EMACS}" ;; \ .*) EMACS="../${EMACS}" ;; \
*) EMACS="${EMACS}" ;; \ *) EMACS="${EMACS}" ;; \
esac; \ esac; \
cd ../admin/grammars && $(MAKE) all EMACS="$${EMACS}" $(MAKE) -C ../admin/grammars all EMACS="$${EMACS}"
# Compile all Lisp files, but don't recompile those that are up to # Compile all Lisp files, but don't recompile those that are up to
# date. Some .el files don't get compiled because they set the # date. Some .el files don't get compiled because they set the

View File

@ -1,5 +1,7 @@
2014-06-15 Glenn Morris <rgm@gnu.org> 2014-06-15 Glenn Morris <rgm@gnu.org>
* Makefile.in ($(globals_h)): Use `make -C' rather than `cd && make'.
* Makefile.in (mostlyclean, clean, distclean, maintainer-clean): * Makefile.in (mostlyclean, clean, distclean, maintainer-clean):
Declare as PHONY. Declare as PHONY.
(bootstrap-clean): New. (bootstrap-clean): New.

View File

@ -80,7 +80,7 @@ globals_h = ../src/globals.h
src_h = $(config_h) $(lisp_h) $(globals_h) src_h = $(config_h) $(lisp_h) $(globals_h)
$(globals_h): $(globals_h):
cd ../src && $(MAKE) globals.h $(MAKE) -C ../src globals.h
lwlib-utils.o: $(src_h) lwlib-utils.c lwlib-utils.h lwlib.h lwlib-utils.o: $(src_h) lwlib-utils.c lwlib-utils.h lwlib.h
lwlib.o: $(src_h) lwlib.c lwlib.h lwlib-int.h lwlib-utils.h \ lwlib.o: $(src_h) lwlib.c lwlib.h lwlib-int.h lwlib-utils.h \

View File

@ -1,3 +1,7 @@
2014-06-15 Glenn Morris <rgm@gnu.org>
* Makefile.in: Use `make -C' rather than `cd && make' throughout.
2014-06-15 Eli Zaretskii <eliz@gnu.org> 2014-06-15 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (Fmove_point_visually): Don't use the glyph matrix * xdisp.c (Fmove_point_visually): Don't use the glyph matrix

View File

@ -414,11 +414,11 @@ all: emacs$(EXEEXT) $(OTHER_FILES)
.PHONY: all .PHONY: all
$(leimdir)/leim-list.el: bootstrap-emacs$(EXEEXT) $(leimdir)/leim-list.el: bootstrap-emacs$(EXEEXT)
cd ../leim && $(MAKE) leim-list.el EMACS="$(bootstrap_exe)" $(MAKE) -C ../leim leim-list.el EMACS="$(bootstrap_exe)"
$(srcdir)/macuvs.h $(lispsource)/international/charprop.el: \ $(srcdir)/macuvs.h $(lispsource)/international/charprop.el: \
bootstrap-emacs$(EXEEXT) bootstrap-emacs$(EXEEXT)
cd ../admin/unidata && $(MAKE) all EMACS="../$(bootstrap_exe)" $(MAKE) -C ../admin/unidata all EMACS="../$(bootstrap_exe)"
## The dumped Emacs is as functional and more efficient than ## The dumped Emacs is as functional and more efficient than
## bootstrap-emacs, so we replace the latter with the former. ## bootstrap-emacs, so we replace the latter with the former.
@ -459,7 +459,7 @@ $(etc)/DOC: $(libsrc)/make-docfile$(EXEEXT) $(obj) $(lisp)
$(libsrc)/make-docfile -a $(etc)/DOC -d $(lispsource) `sed -n -e 's| \\\\||' -e 's|^[ ]*$$(lispsource)/||p' $(srcdir)/lisp.mk` $(libsrc)/make-docfile -a $(etc)/DOC -d $(lispsource) `sed -n -e 's| \\\\||' -e 's|^[ ]*$$(lispsource)/||p' $(srcdir)/lisp.mk`
$(libsrc)/make-docfile$(EXEEXT): $(libsrc)/make-docfile$(EXEEXT):
cd $(libsrc); $(MAKE) make-docfile$(EXEEXT) $(MAKE) -C $(libsrc) make-docfile$(EXEEXT)
buildobj.h: Makefile buildobj.h: Makefile
for i in $(ALLOBJS); do \ for i in $(ALLOBJS); do \
@ -480,7 +480,7 @@ gl-stamp: $(libsrc)/make-docfile$(EXEEXT) $(GLOBAL_SOURCES)
$(ALLOBJS): globals.h $(ALLOBJS): globals.h
$(lib)/libgnu.a: $(config_h) $(lib)/libgnu.a: $(config_h)
cd $(lib) && $(MAKE) libgnu.a $(MAKE) -C $(lib) libgnu.a
## We have to create $(etc) here because init_cmdargs tests its ## We have to create $(etc) here because init_cmdargs tests its
## existence when setting Vinstallation_directory (FIXME?). ## existence when setting Vinstallation_directory (FIXME?).
@ -499,9 +499,9 @@ temacs$(EXEEXT): $(LIBXMENU) $(ALLOBJS) \
## The following oldxmenu-related rules are only (possibly) used if ## The following oldxmenu-related rules are only (possibly) used if
## HAVE_X11 && !USE_GTK, but there is no harm in always defining them. ## HAVE_X11 && !USE_GTK, but there is no harm in always defining them.
$(lwlibdir)/liblw.a: $(config_h) globals.h lisp.h FORCE $(lwlibdir)/liblw.a: $(config_h) globals.h lisp.h FORCE
cd $(lwlibdir) && $(MAKE) liblw.a $(MAKE) -C $(lwlibdir) liblw.a
$(oldXMenudir)/libXMenu11.a: FORCE $(oldXMenudir)/libXMenu11.a: FORCE
cd $(oldXMenudir) && $(MAKE) libXMenu11.a $(MAKE) -C $(oldXMenudir) libXMenu11.a
FORCE: FORCE:
.PHONY: FORCE .PHONY: FORCE
@ -519,7 +519,7 @@ emacs.res: $(ntsource)/emacs.rc \
-o $@ $(ntsource)/emacs.rc -o $@ $(ntsource)/emacs.rc
ns-app: emacs$(EXEEXT) ns-app: emacs$(EXEEXT)
cd ../nextstep && $(MAKE) all $(MAKE) -C ./nextstep all
.PHONY: mostlyclean clean bootstrap-clean distclean maintainer-clean .PHONY: mostlyclean clean bootstrap-clean distclean maintainer-clean
.PHONY: versionclean extraclean .PHONY: versionclean extraclean
@ -578,10 +578,10 @@ TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(srcdir)/$(ctagsfiles3)
## Arrange to make tags tables for ../lisp and ../lwlib, ## Arrange to make tags tables for ../lisp and ../lwlib,
## which the above TAGS file for the C files includes by reference. ## which the above TAGS file for the C files includes by reference.
../lisp/TAGS: ../lisp/TAGS:
cd ../lisp && $(MAKE) TAGS ETAGS="$(ETAGS)" $(MAKE) -C ../lisp TAGS ETAGS="$(ETAGS)"
$(lwlibdir)/TAGS: $(lwlibdir)/TAGS:
cd $(lwlibdir) && $(MAKE) TAGS ETAGS="$(ETAGS)" $(MAKE) -C $(lwlibdir) TAGS ETAGS="$(ETAGS)"
tags: TAGS ../lisp/TAGS $(lwlibdir)/TAGS tags: TAGS ../lisp/TAGS $(lwlibdir)/TAGS
.PHONY: tags .PHONY: tags
@ -617,8 +617,7 @@ tags: TAGS ../lisp/TAGS $(lwlibdir)/TAGS
## separately below. ## separately below.
## With GNU Make, we would just say "%.el : %.elc $(BOOTSTRAPEMACS)" ## With GNU Make, we would just say "%.el : %.elc $(BOOTSTRAPEMACS)"
.el.elc: .el.elc:
@cd ../lisp && $(MAKE) compile-onefile \ @$(MAKE) -C ../lisp compile-onefile THEFILE=$< EMACS="$(bootstrap_exe)"
THEFILE=$< EMACS="$(bootstrap_exe)"
## Since the .el.elc rule cannot specify an extra dependency, we do it here. ## Since the .el.elc rule cannot specify an extra dependency, we do it here.
$(lisp): $(BOOTSTRAPEMACS) $(lisp): $(BOOTSTRAPEMACS)
@ -629,12 +628,12 @@ $(lisp): $(BOOTSTRAPEMACS)
VCSWITNESS = VCSWITNESS =
$(lispsource)/loaddefs.el: $(BOOTSTRAPEMACS) $(VCSWITNESS) $(lispsource)/loaddefs.el: $(BOOTSTRAPEMACS) $(VCSWITNESS)
cd ../lisp && $(MAKE) autoloads EMACS="$(bootstrap_exe)" $(MAKE) -C ../lisp autoloads EMACS="$(bootstrap_exe)"
## Dump an Emacs executable named bootstrap-emacs containing the ## Dump an Emacs executable named bootstrap-emacs containing the
## files from loadup.el in source form. ## files from loadup.el in source form.
bootstrap-emacs$(EXEEXT): temacs$(EXEEXT) bootstrap-emacs$(EXEEXT): temacs$(EXEEXT)
cd ../lisp && $(MAKE) update-subdirs $(MAKE) -C ../lisp update-subdirs
if test "$(CANNOT_DUMP)" = "yes"; then \ if test "$(CANNOT_DUMP)" = "yes"; then \
rm -f bootstrap-emacs$(EXEEXT); \ rm -f bootstrap-emacs$(EXEEXT); \
ln temacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \ ln temacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \
@ -644,7 +643,7 @@ bootstrap-emacs$(EXEEXT): temacs$(EXEEXT)
mv -f emacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \ mv -f emacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \
fi fi
@: Compile some files earlier to speed up further compilation. @: Compile some files earlier to speed up further compilation.
cd ../lisp && $(MAKE) compile-first EMACS="$(bootstrap_exe)" $(MAKE) -C ../lisp compile-first EMACS="$(bootstrap_exe)"
## Insert either autodeps.mk (if AUTO_DEPEND), else deps.mk. ## Insert either autodeps.mk (if AUTO_DEPEND), else deps.mk.
@deps_frag@ @deps_frag@