]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid unnecessary bumping of Makefile.in's timestamp.
authorGlenn Morris <rgm@gnu.org>
Thu, 7 May 2015 01:58:58 +0000 (21:58 -0400)
committerGlenn Morris <rgm@gnu.org>
Thu, 7 May 2015 01:58:58 +0000 (21:58 -0400)
* Makefile.in (gen_origin): Move to gitlog-to-emacslog.
(emacslog): New variable.
(ChangeLog): Use $emacslog.  Don't pass $gen_origin.
(unchanged-history-files): Use $emacslog rather than Makefile.in.
(change-history-nocommit): Store hash in $emacslog.
* build-aux/gitlog-to-emacslog (gen_origin): Move default here.
* admin/update_autogen (changelog_files): Update for the above.

Makefile.in
admin/update_autogen
build-aux/gitlog-to-emacslog

index c1ed1c31c193cf399931f8aec819a365b0182427..5102575217eb767c720165040e9481f993a2d0cf 100644 (file)
@@ -1091,10 +1091,8 @@ bootstrap: bootstrap-clean
 .PHONY: ChangeLog change-history change-history-commit change-history-nocommit
 .PHONY: master-branch-is-current unchanged-history-files
 
-# The newest revision that should not appear in the generated ChangeLog.
-gen_origin = 2c1b8604946efbcd8ec5dd6c6dda7541ce4fc3c0
-
 CHANGELOG =
+emacslog = $(srcdir)/build-aux/gitlog-to-emacslog
 
 # Convert git commit log to ChangeLog file.  make-dist uses this.
 # I guess this is PHONY because it generates in distprefix (which is
@@ -1103,7 +1101,7 @@ CHANGELOG =
 ChangeLog:
        @[ -n "${CHANGELOG}" ] || test ! -f ChangeLog
        $(AM_V_GEN)distprefix=$(distprefix) srcprefix=$(srcdir)/ \
-       $(srcdir)/build-aux/gitlog-to-emacslog $(gen_origin) $(CHANGELOG)
+       $(emacslog) . $(CHANGELOG)
 
 # The ChangeLog history files are called ChangeLog.1, ChangeLog.2, ...,
 # ChangeLog.$(CHANGELOG_HISTORY_INDEX_MAX).  $(CHANGELOG_N) stands for
@@ -1115,7 +1113,7 @@ CHANGELOG_N = ChangeLog.$(CHANGELOG_HISTORY_INDEX_MAX)
 master-branch-is-current:
        git branch | grep -q '^\* master$$'
 unchanged-history-files:
-       x=$$(git diff-files --name-only $(CHANGELOG_N) Makefile.in) && \
+       x=$$(git diff-files --name-only $(CHANGELOG_N) $(emacslog)) && \
          test -z "$$x"
 
 # Copy newer commit messages to the start of the ChangeLog history file,
@@ -1126,10 +1124,10 @@ change-history-nocommit: master-branch-is-current unchanged-history-files
          >$(CHANGELOG_N).tmp
        rm ChangeLog.tmp
        new_origin=$$(git log --pretty=format:%H HEAD^!) && \
-       sed 's/^\(gen_origin *= *\).*/\1'"$$new_origin/" \
-         <Makefile.in >Makefile.in.tmp
+       sed 's/^\(gen_origin=\).*/\1'"$$new_origin/" \
+         < $(emacslog) > $(emacslog).tmp
        mv $(CHANGELOG_N).tmp $(CHANGELOG_N)
-       mv Makefile.in.tmp Makefile.in
+       mv $(emacslog).tmp $(emacslog)
 
 change-history: change-history-nocommit
        $(MAKE) $@-commit
index e9d4aa5287c8da5f53e6a95edb6bf31c012f6990..27d53035502e8782c9bae3215744ac6edd696bb3 100755 (executable)
@@ -94,7 +94,7 @@ changelog_flag=
 ldefs_in=lisp/loaddefs.el
 ldefs_out=lisp/ldefs-boot.el
 changelog_n=$(sed -n 's/CHANGELOG_HISTORY_INDEX_MAX *= *//p' Makefile.in)
-changelog_files="ChangeLog.$changelog_n Makefile.in"
+changelog_files="ChangeLog.$changelog_n build-aux/gitlog-to-emacslog"
 sources="configure.ac lib/Makefile.am"
 ## Files to copy into autogendir.
 ## Everything:
index 059cf81abc03511d4375bc416c31b63704c14f6a..a657cce0b6133f68ead00c2da1853457fb35bee1 100755 (executable)
 LC_ALL=C
 export LC_ALL
 
-gen_origin=${1?}
+# The newest revision that should not appear in the generated ChangeLog.
+gen_origin=2c1b8604946efbcd8ec5dd6c6dda7541ce4fc3c0
+test -n "$1" && test "$1" != "." && gen_origin=$1
+
 output=$2
 test -n "$output" || output=ChangeLog