summaryrefslogtreecommitdiff
path: root/debian/rules
blob: 3b705e1ff967510739f623afd2cc22354f072cd9 (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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

# 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)
DEB_HOST_MULTIARCH  ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

INSTALL = install
INSTALL_FILE    = $(INSTALL) -p    -o root -g root  -m  644
INSTALL_PROGRAM = $(INSTALL) -p    -o root -g root  -m  755
INSTALL_SCRIPT  = $(INSTALL) -p    -o root -g root  -m  755
INSTALL_DIR     = $(INSTALL) -p -d -o root -g root  -m  755

ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
INSTALL_PROGRAM += -s
endif

ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
  NJOBS = -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
endif

ENABLE_JIT=$(shell . debian/jit-test)

configure-stamp:
	dh_testdir
	# Add here commands to configure the package.
	dh_autoreconf
	CC_FOR_BUILD=cc ./configure \
		--host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
		--prefix=/usr --mandir=\$${prefix}/share/man \
		--infodir=\$${prefix}/share/info \
		--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
		--enable-utf8 --enable-unicode-properties \
		--disable-silent-rules \
		$(ENABLE_JIT) \
		--enable-pcre16 \
		--enable-pcre32 \
		$(shell DEB_CFLAGS_MAINT_APPEND=-Wall DEB_BUILD_MAINT_OPTIONS=hardening=+all dpkg-buildflags --export=configure)
	touch configure-stamp

build: build-arch build-indep
build-arch: build-stamp
build-indep: build-stamp
build-stamp:  configure-stamp
	dh_testdir

	# Add here commands to compile the package.
	$(MAKE) $(NJOBS)
ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
	ulimit -s unlimited
	$(MAKE) check VERBOSE=1
endif

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f configure-stamp build-stamp
	# Add here commands to clean up after the build process.
	[ ! -f Makefile ] || $(MAKE) distclean
###	-test -r /usr/share/misc/config.sub && \
###	  cp -f /usr/share/misc/config.sub config.sub
###	-test -r /usr/share/misc/config.guess && \
###	  cp -f /usr/share/misc/config.guess config.guess
	rm -f dftables testsavedregex
	rm -f debian/libpcre3.symbols
	rm -f debian/libpcre16-3.symbols
	rm -f debian/libpcre32-3.symbols
	dh_autoreconf_clean
	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Add here commands to install the package into debian/tmp
	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir -a
	dh_testroot -a
	dh_install -a
	# This man page is in the main package, don't want it in -dev
	rm debian/libpcre3-dev/usr/share/man/man3/pcrepattern.3
	# Move actual library to /lib
	mkdir -p debian/libpcre3/lib/$(DEB_HOST_MULTIARCH)
	mv debian/libpcre3/usr/lib/$(DEB_HOST_MULTIARCH)/libpcre.so.* debian/libpcre3/lib/$(DEB_HOST_MULTIARCH)
	ln -sf /lib/$(DEB_HOST_MULTIARCH)/libpcre.so.3 debian/libpcre3-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libpcre.so
	# we never need to reference the library path in pcre-config on
	# Debian, so clip it out so that the script will be multiarch-safe.
	sed -i -e"s,/$(DEB_HOST_MULTIARCH),,g" debian/libpcre3-dev/usr/bin/pcre-config

	dh_link -a

#	dh_installdebconf -a
	dh_installdocs -a
	dh_installexamples -a
#	dh_installmenu -a
#	dh_installlogrotate -a
#	dh_installemacsen -a
#	dh_installpam -a
#	dh_installmime -a
#	dh_installinit -a
#	dh_installcron -a
	dh_installman -a
	dh_installinfo -a
#	dh_undocumented -a
	dh_installchangelogs -a ChangeLog
	dh_strip -a --dbg-package=libpcre3-dbg
	# Don't include pcregrep or libraries from udeb in debug package
	rm -r debian/libpcre3-dbg/usr/lib/debug/usr/bin 
	rm debian/libpcre3-dbg/usr/lib/debug/usr/lib/libpcre*
	dh_compress -a
	dh_fixperms -a
ifneq (,$(ENABLE_JIT))
	sed -e 's/JIT//' debian/libpcre3.symbols.in > debian/libpcre3.symbols
	sed -e 's/JIT//' debian/libpcre16-3.symbols.in > debian/libpcre16-3.symbols
	sed -e 's/JIT//' debian/libpcre32-3.symbols.in > debian/libpcre32-3.symbols
else
	sed -e 's/JIT/#/' debian/libpcre3.symbols.in > debian/libpcre3.symbols
	sed -e 's/JIT/#/' debian/libpcre16-3.symbols.in > debian/libpcre16-3.symbols
	sed -e 's/JIT/#/' debian/libpcre32-3.symbols.in > debian/libpcre32-3.symbols
endif
	dh_makeshlibs -plibpcre3 --add-udeb="libpcre3-udeb" -V 'libpcre3 (>= 1:8.35)' -- -c4
	dh_makeshlibs -plibpcrecpp0v5 -V 'libpcrecpp0v5 (>= 7.7)' -- -c4
	dh_makeshlibs -plibpcre16-3 -plibpcre32-3 -- -c4
	dh_installdeb -a
#	dh_perl -a
	dh_shlibdeps -a -ldebian/libpcre3/usr/lib/$(DEB_HOST_MULTIARCH)
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary-indep:

binary: binary-arch binary-indep
.PHONY: build clean binary-arch binary install