a66e17c5398229e3ca8db88f8b59e9fada6ebba0
[mapsector.git] / Makefile
1
2 lib/00_version.sh:
3         echo "version='`git describe --tag`'" >"`dirname "$0"`"/lib/00_version.sh
4 .PHONY: lib/00_version.sh
5
6 mapsectorsh: mapsector lib/[0-9][0-9]_*.sh
7         @echo "generating $@"
8         @(                                                      \
9         sed -n -e '1p' $<;                                      \
10         echo "#";                                               \
11         echo "# $@ automatically generated from";               \
12         for script in $^; do                                    \
13                 echo "#         $$script";                      \
14         done;                                                   \
15         sed -n -e '2,/^load$$/p' $<;                            \
16         for script in `ls lib/[0-9][0-9]_*.sh | sort`; do       \
17                 echo "#### $$script";                           \
18                 echo;                                           \
19                 cat $$script;                                   \
20                 echo;                                           \
21         done;                                                   \
22         sed -n -e '/^load$$/,$$p' $<;                           \
23         ) >$@
24         @sed -i -e 's/^load$$/###########################################################################/' $@
25         @chmod ugo+rx $@
26
27 debian/changelog:
28         @echo "generating debian/changelog"
29         @(                                                                                        \
30         lasttag="HEAD";                                                                           \
31         (git tag -l 'v*'; echo) | while read tag; do                                              \
32                 case "$$lasttag" in                                                               \
33                 HEAD) version="`git describe --tag --match='v*' | sed -e 's/-/~/' -e 's/-/./g'`"; \
34                       release="UNRELEASED" ;;                                                     \
35                 v*)   version="$${lasttag#v}";                                                    \
36                       release="unstable" ;;                                                       \
37                 esac;                                                                             \
38                 echo "mapsector ($$version) $$release; urgency=low";                              \
39                 echo;                                                                             \
40                 git log --pretty=oneline --abbrev-commit $$tag$${tag:+..}$$lasttag                \
41                         | while read commit description; do                                       \
42                         echo "  * [$$commit] $$description";                                      \
43                 done;                                                                             \
44                 echo;                                                                             \
45                 date="`git log --format='%cD' $$lasttag'^!'`";                                    \
46                 author="`git log --format='%an <%ae>' $$lasttag'^!'`";                            \
47                 echo " -- $$author  $$date";                                                      \
48                 echo;                                                                             \
49                 lasttag="$$tag" ;                                                                 \
50         done;                                                                                     \
51         ) >debian/changelog
52 .PHONY: debian/changelog
53
54 prepare: lib/00_version.sh debian/changelog
55 .PHONY: prepare
56
57 clean:
58         rm -f mapsectorsh
59         rm -f debian/changelog
60         rm -f lib/00_version.sh
61 .PHONY: clean