Commit 6376dcc0 authored by Iustin Pop's avatar Iustin Pop

Improve make regen-vcs-version

"make regen-vcs-version" is run at every ./devel/upload time, in order
to have reasonably up-to-date information in the uploaded
scripts/binaries. However, this means it currently triggers
recompilation of (at least) Ganeti/Version.hs, and sometimes more than
that.

Since we only care about the contents of the file and not the
timestamp, let's change the make rule so that it only updates the file
if there are actually changes in the content, as checked by
"cmp". This results in a much faster ./devel/upload, especially for
small changes in the (non-Haskell) code, or when the code has already
been compiled.
Signed-off-by: default avatarIustin Pop <iustin@google.com>
Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
parent 67e4fcf4
......@@ -1155,11 +1155,14 @@ clean-vcs-version:
.PHONY: regen-vcs-version
regen-vcs-version:
set -e; \
@set -e; \
cd $(srcdir); \
if test -d .git; then \
$(MAKE) $(AM_MAKEFLAGS) clean-vcs-version; \
$(MAKE) $(AM_MAKEFLAGS) vcs-version; \
T=`mktemp` ; trap 'rm -f $$T' EXIT; \
git describe > $$T; \
if ! cmp --quiet $$T vcs-version; then \
mv $$T vcs-version; \
fi; \
fi
htools/Ganeti/Version.hs: htools/Ganeti/Version.hs.in \
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment