chiark / gitweb /
changelog: document last change
[sgt-puzzles.git] / debian / rules
1 #!/usr/bin/make -f
2
3 # We require some bash features
4 override SHELL := /bin/bash
5
6 include /usr/share/dpkg/default.mk
7
8 LANGUAGES := en $(patsubst debian/po/%.po,%,$(wildcard debian/po/*.po))
9
10 # Distributed files that we regenerate
11 AUTOGEN_FILES := HACKING Makefile.am Makefile.cyg Makefile.emcc \
12                  Makefile.gnustep Makefile.gtk Makefile.in Makefile.nestedvm \
13                  Makefile.osx Makefile.vc Makefile.wce aclocal.m4 configure \
14                  depcomp install-sh list.c missing preprocessed.but \
15                  puzzles.cnt puzzles.hlp puzzles.txt
16
17 CFLAGS += -Wno-error=deprecated-declarations
18
19 %:
20         dh $@
21
22 override_dh_auto_configure:
23         ./mkfiles.pl
24         ./mkauto.sh
25         CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS) -DDEBIAN_VERSION=\"\\\"$(DEB_VERSION)\\\"\"" LDFLAGS="$(LDFLAGS)" ./configure --prefix=/usr --bindir=/usr/games --program-prefix=sgt-
26         [ -L po ] || ln -s debian/po po
27         rm -f preprocessed.but
28
29 override_dh_auto_build:
30         $(MAKE)
31         $(MAKE) -f Makefile.doc BINPREFIX=sgt-
32
33 # Disable running tests; upstream tarballs don't include the necessary files
34 override_dh_auto_test:
35
36 override_dh_auto_install:
37         $(MAKE) DESTDIR=debian/sgt-puzzles install
38
39 override_dh_installdocs:
40         for lang in $(LANGUAGES); do \
41                 dh_install doc/html-$$lang/*.html usr/share/sgt-puzzles/help/$$lang \
42                 || exit; \
43         done
44         dh_installdocs
45
46 override_dh_installman:
47         for lang in $(LANGUAGES); do \
48                 dh_installman --language=$${lang/en/C} doc/man-$$lang/* || exit; \
49         done
50
51 override_dh_install:
52         dh_install debian/desktop/*.desktop usr/share/applications
53         for icon in icons/*-48d24.png; do \
54             base="$$(basename $$icon -48d24.png)" && \
55             install -m644 $$icon debian/sgt-puzzles/usr/share/icons/hicolor/48x48/apps/sgt-$$base.png \
56             || exit; \
57         done
58
59 override_dh_installmenu:
60         awk -F: '{ printf "?package(sgt-puzzles):needs=\"x11\" section=\"Games/Puzzles\" title=\"%s\" command=\"/usr/games/sgt-%s\"\n", $$3, $$1 }' < gamedesc.txt > debian/sgt-puzzles.menu
61         dh_installmenu
62
63 override_dh_auto_clean:
64         ! [ -f Makefile ] || $(MAKE) distclean
65         $(MAKE) -f Makefile.doc clean
66         if [ -d .git ]; then                            \
67                 git checkout HEAD $(AUTOGEN_FILES);     \
68         else                                            \
69                 rm -f $(AUTOGEN_FILES);                 \
70         fi
71         rm -f po
72         dh_clean debian/sgt-puzzles.menu debian/substvars compile gamedesc.txt version2.def
73
74 get-orig-source:
75         wget -O puzzles-new.tar.gz http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles.tar.gz
76         version="$$(tar -xOzf puzzles-new.tar.gz --wildcards '*/version.h' | \
77                     sed -n 's/^\#define VER "Version \([^ ]*\)"$$/\1/p')" \
78         && test -n "$$version"                                          \
79         && mk-origtargz --exclude-file '*.chm' -v"$$version" puzzles-new.tar.gz
80         rm -f puzzles-new.tar.gz