#!/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 returns EPERM on the freebsd buildds, but that's OK
	#as stack limit increase only really necessary on s390
	ulimit -s unlimited || true ; $(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
	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 
