Some fixes for karmic
[mapsector.git] / Makefile
1 # -*- makefile -*-
2
3 default: mapsectorsh
4
5 ####################
6 # debian package generation
7
8 include gitdeb/Makefile.gitdeb
9
10 prepare:: lib/00_version.sh
11
12 ####################
13 # Place version into lib/00_version.sh
14 # Marked as phony so it is regenerated on each call to make
15
16 lib/00_version.sh:
17         echo "version='`git describe --tag`'" >lib/00_version.sh
18 clean::
19         rm -f lib/00_version.sh
20 .PHONY: lib/00_version.sh
21
22 ####################
23 # Build combined 'mapsectorsh' script
24 # The $(wildcard ...) return value is sorted and duplicates are
25 # removed from the list of dependencies. I need to mention
26 # lib/00_version.sh explicitly since it might not yet exist
27
28 mapsectorsh: mapsector lib/00_version.sh $(wildcard lib/[0-9][0-9]_*.sh)
29         @echo "generating $@"
30         @(                                                      \
31             sed -n -e '1p' $<;                                  \
32             echo "#";                                           \
33             echo "# $@ automatically generated from";           \
34             for script in $^; do                                \
35                 echo "#         $$script";                      \
36             done;                                               \
37             sed -n -e '2,/^load$$/p' $<;                        \
38             for script in $^; do                                \
39                 if [ "$$script" = "$<" ]; then continue; fi;    \
40                 echo "#### $$script";                           \
41                 echo;                                           \
42                 cat $$script;                                   \
43                 echo;                                           \
44             done;                                               \
45             sed -n -e '/^load$$/,$$p' $<;                       \
46         ) >$@ || (rm -f $@; false)
47         @sed -i -e 's/^load$$/####/' -eT -eh -eG -eH -eG -eH -eG -e'y/\n/#/' $@
48         chmod ugo+rx $@
49  clean::
50         rm -f mapsectorsh