File: rules

package info (click to toggle)
armagetronad 0.2.8.3.4-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 9,128 kB
  • sloc: cpp: 68,352; sh: 4,410; xml: 694; ansic: 599; makefile: 421; python: 288; ruby: 108
file content (71 lines) | stat: -rwxr-xr-x 3,148 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/make -f
# export DH_VERBOSE=1
include /usr/share/dpkg/pkg-info.mk
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed

# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

# I'm going to assume that this is still true - armagetron relies on
# arithmetics with denormals.
ifeq ($(shell dpkg-architecture -qDEB_HOST_ARCH),alpha)
	export DEB_CFLAGS_MAINT_APPEND = -mieee
endif

# Special options to ./configure for client and server builds.
SHARED_OPTS := --disable-uninstall --host=$(DEB_HOST_GNU_TYPE)
SHARED_OPTS += --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr
SHARED_OPTS += --mandir=\$${prefix}/share/man --sysconfdir=/etc --disable-etc
SHARED_OPTS += --datadir=/usr/share --disable-games --bindir=/usr/games
SHARED_OPTS += --enable-binreloc
SERVER_OPTS := --disable-glout --disable-useradd --disable-init --enable-authentication
CLIENT_OPTS := --enable-glout

%:
	dh $@ --without autoreconf --with autotools_dev,systemd

override_dh_auto_configure:
	mkdir -p client
	cd client && ../configure $(SHARED_OPTS) $(CLIENT_OPTS)
	mkdir -p server
	cd server  && ../configure $(SHARED_OPTS) $(SERVER_OPTS)

override_dh_auto_build:
	$(MAKE) -C client
	$(MAKE) -C server

override_dh_clean:
	$(RM) -r client server debian/tmp-client debian/tmp-server
	dh_clean

override_dh_auto_install:
	$(MAKE) -C client DESTDIR=$(CURDIR)/debian/tmp-client install
	$(MAKE) -C server DESTDIR=$(CURDIR)/debian/tmp-server install
	# Fix weird stuff that can't be corrected in the upstream makefile.
	test -d debian/tmp-client/usr/share/games || mkdir -p debian/tmp-client/usr/share/games
	cp -r debian/tmp-client/usr/share/armagetronad debian/tmp-client/usr/share/games/armagetronad
	cp -r debian/tmp-client/usr/games/armagetronad debian/tmp-client/usr/games/armagetronad.real
	mv debian/tmp-server/usr/games/armagetronad-dedicated debian/tmp-server/usr/games/armagetronad-dedicated.real

override_dh_install:
	# Copy wrapper scripts to temporary install directories
	cp debian/bin/armagetronad debian/tmp-client/usr/games/
	cp debian/bin/armagetronad-dedicated debian/tmp-server/usr/games/
	mkdir -p debian/tmp-client/usr/share/icons/hicolor/128x128/apps
	cp debian/armagetronad.png debian/tmp-client/usr/share/icons/hicolor/128x128/apps
	# Install from temporary directories into specific packages
	dh_install -parmagetronad --sourcedir=debian/tmp-client
	dh_install -parmagetronad-common --sourcedir=debian/tmp-client
	dh_install -parmagetronad-dedicated --sourcedir=debian/tmp-server
	# Clean up cruft.
	$(RM) -r debian/armagetronad/usr/share/games/armagetronad/desktop
	$(RM) debian/armagetronad-common/etc/armagetronad/rc.config
	# There's no reason to ship this script.
	$(RM) debian/armagetronad-common/usr/share/games/armagetronad/language/update.py

get-orig-source:
	# Uncomment the second debian/watch file paragraph
	uscan --verbose --download-current-version --force-download