summaryrefslogtreecommitdiff
path: root/debian/rules
blob: 340e6e5af6666b3965c70cd2e43c122676b014a8 (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
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#!/usr/bin/make -f
#
# Based on the work by Marcus Brinkmann <brinkmd@debian.org>
# Rewritten by Guillem Jover <guillem@debian.org>
#

pkg := gnumach
pkg_udeb := gnumach-udeb
pkg_dbg := gnumach-dbg
pkg_dev := gnumach-dev

D := $(CURDIR)/debian/tmp
D_DBG := $(D)-dbg

DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)

CFLAGS = -Wall -g -pipe -fno-strict-aliasing

ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif

drivers := \
	--enable-sis900

include /usr/share/quilt/quilt.make

# To be run manually when packaging a new upstream version to update the
# autogenerated autoconf patch. Assumes the patch is the last one.
autoregen:
	quilt push -fa || true
	autoreconf -fi
	find -name autom4te.cache -o -name '*~' -o \
	     -name '*.rej' -o -name '*.orig' | xargs rm -rf
	quilt refresh -p ab
	quilt pop -a

configure: patch build/config.status
build/config.status:
	dh_testdir
	
	-mkdir build
	cd build && ../configure $(drivers) \
		CFLAGS="$(CFLAGS)" \
		--build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \
		--prefix=/usr \
		--exec-prefix=/

configure-dbg: patch build-dbg/config.status
build-dbg/config.status:
	dh_testdir
	
	-mkdir build-dbg
	cd build-dbg && ../configure --enable-kdb $(drivers) \
		CFLAGS="$(CFLAGS)" \
		--build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \
		--exec-prefix=/

build:

build-gnumach: configure
	dh_testdir
	
ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	$(MAKE) -C build
else
	$(MAKE) -C build check
endif

build-gnumach-dbg: configure-dbg
	dh_testdir
	
ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	$(MAKE) -C build-dbg
else
	$(MAKE) -C build-dbg check
endif

clean: unpatch
	dh_testdir
	
	rm -f machine
	rm -rf build build-dbg $(D_DBG)
	
	dh_clean

install: build-gnumach build-gnumach-dbg
	dh_testdir
	dh_testroot
	dh_clean -a -k
	-rm -rf $(D_DBG)
	dh_installdirs -a
	
	$(MAKE) -C build install \
		DESTDIR=$(D)
	
	$(MAKE) -C build-dbg install-exec \
		DESTDIR=$(D_DBG) \
	
	mv $(D_DBG)/boot/gnumach $(D_DBG)/boot/gnumach-dbg

binary: binary-indep binary-arch

binary-indep:

binary-arch: install
	dh_testdir
	dh_testroot
	
	dh_install -a -N$(pkg_dbg) --sourcedir=$(D)
	dh_install -p$(pkg_dbg) --sourcedir=$(D_DBG)
	
	dh_installdocs -a
	dh_installchangelogs -a -k ChangeLog
#	dh_installinfo -a
	
	dh_link -a
	dh_strip -a -N$(pkg_dbg)
	dh_compress -p$(pkg) -p$(pkg_udeb) -A boot/gnumach
	dh_compress -p$(pkg_dbg) boot/gnumach-dbg
	dh_compress -p$(pkg_dev)
	dh_fixperms -a
	dh_installdeb -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

.PHONY: build build-gnumach build-gnumach-dbg clean configure configure-dbg
.PHONY: install-gnumach install-gnumach-dbg binary binary-indep binary-arch