3 echo "version='`git describe --tag`'" >$@
4 .PHONY: lib/00_version.sh
6 # The $(wildcard ...) return value is sorted and duplicates are
7 # removed from the list of dependencies. I need to mention
8 # lib/00_version.sh explicitly since it might not yet exist
9 mapsectorsh: mapsector lib/00_version.sh $(wildcard lib/[0-9][0-9]_*.sh)
14 echo "# $@ automatically generated from"; \
15 for script in $^; do \
18 sed -n -e '2,/^load$$/p' $<; \
19 for script in $^; do \
20 if [ "$$script" == "$<" ]; then continue; fi; \
21 echo "#### $$script"; \
26 sed -n -e '/^load$$/,$$p' $<; \
28 @sed -i -e 's/^load$$/####/' -eT -eh -eG -eH -eG -eH -eG -e'y/\n/#/' $@
32 CLOGDIR := .git/changelogs
33 CHANGELOGS := $(shell lasttag=HEAD; \
34 (git tag -l 'v*'; echo) \
35 | while read tag; do \
36 echo $(CLOGDIR)/$${tag}$${tag:+-}$$lasttag; \
42 @mkdir -p "$(CLOGDIR)"
44 version="$@"; version="$${version#$(CLOGDIR)/}"; \
45 from="$${version%-*}"; version="$${version#*-}"; to="$$version"; \
46 if [ "$$from" == "$$to" ]; then from=""; fi; \
48 HEAD) version="`git describe --tag --match='v*' | sed -e 's/-/~/' -e 's/-/./g'`"; \
49 release="UNRELEASED" ;; \
50 v*) release="unstable" ;; \
52 version="$${version#v}"; \
53 echo "$(NAME) ($$version) $$release; urgency=low"; \
55 git log --pretty=oneline --abbrev-commit $$from$${from:+..}$$to \
56 | while read commit description; do \
57 echo " * [$$commit] $$description"; \
60 date="`git log --format='%cD' $$to'^!'`"; \
61 author="`git log --format='%an <%ae>' $$to'^!'`"; \
62 echo " -- $$author $$date"; \
65 .PHONY: $(word 1,$(CHANGELOGS))
67 debian/changelog: $(CHANGELOGS)
70 prepare: lib/00_version.sh debian/changelog
74 fakeroot debian/rules clean
76 rm -f debian/changelog
77 rm -f lib/00_version.sh
78 rm -rf .git/changelogs