summaryrefslogtreecommitdiff
path: root/debian/rules
blob: 43395a92785fed11d4486fc5394b119d5a8b33ea (plain)
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
#!/usr/bin/make -f
# -*- makefile -*-

# Build for multiarch.
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

# Avoid overlinking and reduce library dependencies.
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed

# Disable GCC code hoisting to work around either a GCC bug or a MLton bug on
# arm64 and mips64el. See https://bugs.debian.org/871572 for details.
export DEB_CFLAGS_MAINT_APPEND := -fno-code-hoisting

# Use -D_FORTIFY_SOURCE=1 instead of -D_FORTIFY_SOURCE=2 to prevent performance
# problems with %n specifiers. See https://bugs.debian.org/934722 for details.
export DEB_CPPFLAGS_MAINT_APPEND := -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1

# Harden SML executables.
export DEB_BUILD_MAINT_OPTIONS := hardening=+all
export MLTONARGS := \
	-cc-opt "$(shell dpkg-buildflags --get CPPFLAGS) \
		$(shell dpkg-buildflags --get CFLAGS)" \
	-link-opt "$(shell dpkg-buildflags --get LDFLAGS)"

%:
	dh $@ --parallel --with autoreconf

.PHONY: override_dh_auto_configure
override_dh_auto_configure:
	LIB=/usr/lib/$(DEB_HOST_MULTIARCH) \
		SRCLIB=/usr/share/urweb dh_auto_configure --

.PHONY: override_dh_auto_build-indep
override_dh_auto_build-indep:
	cd doc && make manual.pdf

# Tests require a working urweb binary, so don't run them on
# architecture-independent builds.
.PHONY: override_dh_auto_test-indep
override_dh_auto_test-indep:
	:

.PHONY: override_dh_auto_install-indep
override_dh_auto_install-indep:
	DESTDIR=${CURDIR}/debian/tmp make install-exec-emacs