X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/46ea93792da1db916305d50272c6465a6dde7c25..ec392ff1a3ce6bd4d32371be454003f642812d5b:/Makefile.in diff --git a/Makefile.in b/Makefile.in index eec6d31352..b212c914e5 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,6 +1,6 @@ ### @configure_input@ -# Copyright (C) 1992-2015 Free Software Foundation, Inc. +# Copyright (C) 1992-2016 Free Software Foundation, Inc. # This file is part of GNU Emacs. @@ -57,6 +57,10 @@ # # make docs # Make Emacs documentation files from their sources; requires makeinfo. +# +# make check or make check-expensive +# Run Emacs test suite. check-expensive runs also tests which +# take more time to perform. SHELL = @SHELL@ @@ -290,7 +294,7 @@ SUBDIR = $(NTDIR) lib lib-src src lisp # The subdir makefiles created by config.status. SUBDIR_MAKEFILES_IN = @SUBDIR_MAKEFILES_IN@ -SUBDIR_MAKEFILES = `echo $(SUBDIR_MAKEFILES_IN:.in=) | sed 's|$(srcdir)/||g'` +SUBDIR_MAKEFILES = $(patsubst ${srcdir}/%,%,${SUBDIR_MAKEFILES_IN:.in=}) # Subdirectories to install, and where they'll go. lib-src's and nt's # makefiles know how to install them, so we don't do that here. @@ -314,8 +318,6 @@ etc-emacsver: ${srcdir}/build-aux/move-if-change emacsver.tex.$$$$ \ ${srcdir}/etc/refcards/emacsver.tex -removenullpaths=sed -e 's/^:*//' -e 's/:*$$//g' -e 's/::*/:/g' - # Generate epaths.h from epaths.in. This target is invoked by 'configure'. # 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 @@ -324,20 +326,18 @@ epaths-force: @for dir in '$(abs_srcdir)' '$(lispdir)' '$(archlibdir)'; do \ case $$dir in \ *:*) \ - echo >&2 "Build or installation directory '$$dir'"; \ + printf >&2 "Build or installation directory '%s'\\n" "$$dir"; \ echo >&2 "cannot contain ':'."; \ exit 1;; \ esac; \ done - @(standardlisppath=`echo "${standardlisppath}" | ${removenullpaths}` ; \ - locallisppath=`echo "${locallisppath}" | ${removenullpaths}` ; \ - buildlisppath=`echo "${buildlisppath}" | ${removenullpaths}` ; \ - x_default_search_path=`echo ${x_default_search_path}`; \ - gamedir=`echo ${gamedir}`; \ + @(gamedir='${gamedir}'; \ sed < ${srcdir}/src/epaths.in > epaths.h.$$$$ \ - -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'"$${standardlisppath}"'";' \ - -e 's;\(#.*PATH_SITELOADSEARCH\).*$$;\1 "'"$${locallisppath}"'";' \ - -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'"$${buildlisppath}"'";' \ + -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "${standardlisppath}";' \ + -e 's;\(#.*PATH_SITELOADSEARCH\).*$$;\1 "${locallisppath}";' \ + -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "${buildlisppath}";' \ + -e '/^#define PATH_[^ ]*SEARCH /s/\([":]\):*/\1/g' \ + -e '/^#define PATH_[^ ]*SEARCH /s/:"/"/' \ -e 's;\(#.*PATH_EXEC\).*$$;\1 "${archlibdir}";' \ -e 's;\(#.*PATH_INFO\).*$$;\1 "${infodir}";' \ -e 's;\(#.*PATH_DATA\).*$$;\1 "${etcdir}";' \ @@ -492,18 +492,17 @@ write_subdir=if [ -f "$${subdir}/subdirs.el" ]; \ install-arch-dep: src install-arch-indep install-etcdoc install-$(NTDIR) umask 022; ${MKDIR_P} "$(DESTDIR)${bindir}" $(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; \ - if test "x${NO_BIN_LINK}" = x; then \ - rm -f "$(DESTDIR)${bindir}/$(EMACS)" ; \ - cd "$(DESTDIR)${bindir}" && $(LN_S_FILEONLY) $(EMACSFULL) $(EMACS); \ - fi; \ - else \ - subdir=${ns_appresdir}/site-lisp; \ - ${write_subdir} || exit 1; \ - rm -rf ${ns_appresdir}/share; \ - fi +ifeq (${ns_self_contained},no) + ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} "$(DESTDIR)${bindir}/$(EMACSFULL)" + -chmod 755 "$(DESTDIR)${bindir}/$(EMACSFULL)" +ifndef NO_BIN_LINK + rm -f "$(DESTDIR)${bindir}/$(EMACS)" + cd "$(DESTDIR)${bindir}" && $(LN_S_FILEONLY) $(EMACSFULL) $(EMACS) +endif +else + subdir=${ns_appresdir}/site-lisp && ${write_subdir} + rm -rf ${ns_appresdir}/share +endif ### Windows-specific install target for installing programs produced ### in nt/, and its Posix do-nothing shadow. @@ -578,7 +577,7 @@ install-arch-indep: lisp install-info install-man ${INSTALL_ARCH_INDEP_EXTRA} fi; \ rm -rf "$${dest}" ; \ umask 022; ${MKDIR_P} "$${dest}" ; \ - echo "Copying $${dir} to $${dest}..." ; \ + printf 'Copying %s to %s...\n' "$$dir" "$$dest" ; \ (cd $${dir}; tar -chf - . ) \ | (cd "$${dest}"; umask 022; \ tar -xvf - && cat > /dev/null) || exit 1; \ @@ -594,8 +593,8 @@ install-arch-indep: lisp install-info install-man ${INSTALL_ARCH_INDEP_EXTRA} rm -f $${subdir}/.gitignore ; \ rm -f $${subdir}/.arch-inventory ; \ rm -f $${subdir}/.DS_Store ; \ - rm -f $${subdir}/\#* ; \ - rm -f $${subdir}/.\#* ; \ + rm -f $${subdir}/#* ; \ + rm -f $${subdir}/.#* ; \ rm -f $${subdir}/*~ ; \ rm -f $${subdir}/*.orig ; \ rm -f $${subdir}/ChangeLog* ; \ @@ -633,7 +632,8 @@ install-etcdoc: src install-arch-indep if [ "`cd ./etc; /bin/pwd`" != "$$exp_etcdocdir" ]; \ then \ docfile="DOC"; \ - echo "Copying etc/$${docfile} to $(DESTDIR)${etcdocdir} ..." ; \ + printf 'Copying %s to %s ...\n' "etc/$$docfile" \ + "$(DESTDIR)${etcdocdir}"; \ ${INSTALL_DATA} etc/$${docfile} "$(DESTDIR)${etcdocdir}/$${docfile}"; \ $(set_installuser); \ chown $${installuser} "$(DESTDIR)${etcdocdir}/$${docfile}" || true ; \ @@ -722,7 +722,7 @@ install-etc: for icon in $${dir}/${EMACS_ICON}[.-]*; do \ [ -r $${icon} ] || continue ; \ ext=`echo "$${icon}" | sed -e 's|.*\.||'`; \ - dest=`echo "$${icon}" | sed -e 's|.*/||' -e "s|\.$${ext}$$||" -e 's/$(EMACS_ICON)/emacs/' -e '$(TRANSFORM)'`.$${ext} ; \ + dest=`echo "$${icon}" | sed -e 's|.*/||' -e "s|\\.$${ext}\$$||" -e 's/$(EMACS_ICON)/emacs/' -e '$(TRANSFORM)'`.$${ext} ; \ ( cd "$${thisdir}"; \ ${INSTALL_DATA} ${iconsrcdir}/$${icon} "$(DESTDIR)${icondir}/$${dir}/$${dest}" ) \ || exit 1; \ @@ -831,7 +831,7 @@ 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 \ + for dir in test/automated admin/charsets; do \ [ ! -d $$dir ] || $(MAKE) -C $$dir clean; \ done -rm -f *.tmp etc/*.tmp* @@ -856,8 +856,10 @@ distclean_dirs = $(clean_dirs) leim lisp $(foreach dir,$(distclean_dirs),$(eval $(call submake_template,$(dir),distclean))) +maybeclean_dirs = test/automated admin/grammars admin/unidata admin/charsets + distclean: $(distclean_dirs:=_distclean) - for dir in test/automated admin/grammars admin/unidata; do \ + for dir in ${maybeclean_dirs}; do \ [ ! -d $$dir ] || $(MAKE) -C $$dir distclean; \ done ${top_distclean} @@ -868,7 +870,7 @@ distclean: $(distclean_dirs:=_distclean) $(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 \ + for dir in ${maybeclean_dirs}; do \ [ ! -d $$dir ] || $(MAKE) -C $$dir bootstrap-clean; \ done [ ! -f config.log ] || mv -f config.log config.log~ @@ -896,7 +898,7 @@ 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 \ + for dir in ${maybeclean_dirs}; do \ [ ! -d $$dir ] || $(MAKE) -C $$dir maintainer-clean; \ done ${top_maintainer_clean} @@ -907,10 +909,12 @@ maintainer-clean: bootstrap-clean $(maintainer_clean_dirs:=_maintainer-clean) ### it deletes backup and autosave files too. ### 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))) +extraclean_dirs = ${NTDIR} lib-src src leim \ + admin/charsets admin/grammars admin/unidata -## FIXME this is busted because most of these do not have extraclean rules. -extraclean: $(SUBDIR:=_extraclean) +$(foreach dir,$(extraclean_dirs),$(eval $(call submake_template,$(dir),extraclean))) + +extraclean: $(extraclean_dirs:=_extraclean) ${top_maintainer_clean} -rm -f config-tmp-* -rm -f *~ \#* @@ -921,12 +925,12 @@ extraclean: $(SUBDIR:=_extraclean) TAGS tags: lib lib-src src $(MAKE) -C src tags -check: all +check check-expensive: 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 \ - $(MAKE) -C test/automated check; \ + $(MAKE) -C test/automated $@; \ fi dist: @@ -943,7 +947,7 @@ $(DOCS): $(MAKE) -C doc/$(subst -, ,$@) .PHONY: $(DOCS) docs pdf ps -.PHONY: info dvi dist check html info-real info-dir check-info +.PHONY: info dvi dist check check-expensive html info-real info-dir check-info ## TODO add etc/refcards. docs: $(DOCS) @@ -1089,7 +1093,7 @@ bootstrap: bootstrap-clean $(MAKE) all .PHONY: ChangeLog change-history change-history-commit change-history-nocommit -.PHONY: master-branch-is-current unchanged-history-files +.PHONY: emacs-25-branch-is-current unchanged-history-files CHANGELOG = ChangeLog emacslog = build-aux/gitlog-to-emacslog @@ -1106,25 +1110,27 @@ ChangeLog: ./$(emacslog) -o $(CHANGELOG) -n $(CHANGELOG_HISTORY_INDEX_MAX) # Check that we are in a good state for changing history. -master-branch-is-current: - git branch | grep -q '^\* master$$' +emacs-25-branch-is-current: + git branch | grep -q '^\* emacs-25$$' unchanged-history-files: x=$$(git diff-files --name-only $(CHANGELOG_N) $(emacslog)) && \ test -z "$$x" +# Regular expression that matches the newest commit covered by a ChangeLog. +new_commit_regexp = ^commit [0123456789abcdef]* (inclusive) + # Copy newer commit messages to the start of the ChangeLog history file, # and consider them to be older. -change-history-nocommit: master-branch-is-current unchanged-history-files +change-history-nocommit: emacs-25-branch-is-current unchanged-history-files -rm -f ChangeLog.tmp $(MAKE) ChangeLog CHANGELOG=ChangeLog.tmp - (sed '/^See ChangeLog.[0-9]* for earlier/,$$d' $(CHANGELOG_N).tmp + sed '/^This file records repository revisions/,$$d' \ + ChangeLog.tmp >$(CHANGELOG_N).tmp + new_commit_line=`grep '$(new_commit_regexp)' ChangeLog.tmp` && \ + sed 's/$(new_commit_regexp).*/'"$$new_commit_line/" \ + $(CHANGELOG_N) >>$(CHANGELOG_N).tmp rm ChangeLog.tmp - new_origin=$$(git log --pretty=format:%H HEAD^!) && \ - sed 's/^\(gen_origin=\).*/\1'"$$new_origin/" \ - < $(emacslog) > $(emacslog).tmp && chmod +x $(emacslog).tmp mv $(CHANGELOG_N).tmp $(CHANGELOG_N) - mv $(emacslog).tmp $(emacslog) change-history: change-history-nocommit $(MAKE) $@-commit