diff options
author | Aaron Schrab <aaron@schrab.com> | 2013-02-18 10:35:07 -0500 |
---|---|---|
committer | Frank Terbeck <ft@bewatermyfriend.org> | 2013-04-03 22:10:17 +0200 |
commit | 07478c6bc3a6fae465a5555ca12b22dc607dae31 (patch) | |
tree | ff09638334f1b190a93efe92b26aaa0063a999c0 | |
parent | b6f704a642a4213d3430fc4e33a1dd4901a0b993 (diff) | |
download | zsh-07478c6bc3a6fae465a5555ca12b22dc607dae31.tar.gz zsh-07478c6bc3a6fae465a5555ca12b22dc607dae31.zip |
Generate patch level using `git describe`
Generate the patch level using `git describe` rather than relying on the
CVS $Revision$. Need to use the `--tags` option, since currently there
are no annotated tags. The `--long` option should be used so that the
output will always be in the 'tag-commits-hash' format rather than just
naming a tag when that would fully describe the current commit.
Since changes to the patchlevel could now be caused by changes to any
file, force the rule to be called every time that `make` is run. Only
update the file when there are actually changes to prevent unnecessary
rebuilding of other build products (currently just `params.o` and
`zsh`).
-rw-r--r-- | Src/zsh.mdd | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Src/zsh.mdd b/Src/zsh.mdd index 6e9077676..420e8fc1d 100644 --- a/Src/zsh.mdd +++ b/Src/zsh.mdd @@ -39,10 +39,10 @@ params.o: patchlevel.h version.h: $(sdir_top)/Config/version.mk zshcurses.h zshterm.h echo '#define ZSH_VERSION "'$(VERSION)'"' > $@ -patchlevel.h: $(sdir_top)/ChangeLog - sed -ne \ - 's/^\* *\$$''Revision: \(.*\) ''\$$/#define ZSH_PATCHLEVEL "\1"/p' \ - $(sdir_top)/ChangeLog >patchlevel.h +patchlevel.h: FORCE + echo '#define ZSH_PATCHLEVEL "'`git describe --tags --long`'"' > $@.tmp + cmp $@ $@.tmp && rm -f $@.tmp || mv $@.tmp $@ +FORCE: zshcurses.h: ../config.h @if test x$(ZSH_CURSES_H) != x; then \ |