#!/usr/bin/make -f

# 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)

include /usr/share/quilt/quilt.make
-include /usr/share/mozilla-devscripts/nspr.mk

CFLAGS := -Wall -pipe

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	OPTCFLAGS := -O0
else
	OPTCFLAGS := -O2 -fno-strict-aliasing
endif

OPTCFLAGS += -g

ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
	DEBUGFLAGS := --enable-debug
else
	DEBUGFLAGS := --disable-debug
endif

libnspr4_0d_EXPORTED_LIBS = \
	libnspr4.so \
	libplc4.so \
	libplds4.so \
	$(NULL)

configure: mozilla/nsprpub/config.status
mozilla/nsprpub/config.status: mozilla/nsprpub/configure
	dh_testdir
	CFLAGS="$(CFLAGS)" \
	LDFLAGS="-Wl,--as-needed" \
	cd mozilla/nsprpub && \
	./configure --host=$(DEB_HOST_GNU_TYPE) \
                    --build=$(DEB_BUILD_GNU_TYPE) \
                    --enable-optimize="$(OPTCFLAGS)" \
		    --prefix=/usr \
		    --enable-ipv6 \
		    --with-mozilla \
                    $(DEBUGFLAGS)

patches:
	if [ ! -h patches ] ; then ln -s $(CURDIR)/debian/patches ; fi

build: build-stamp
build-stamp: patches $(QUILT_STAMPFN) mozilla/nsprpub/config.status
	dh_testdir

	$(MAKE) -C mozilla/nsprpub

	touch build-stamp

clean: clean-patched unpatch
clean-patched:
	dh_testdir
	dh_testroot

	-$(MAKE) -C mozilla/nsprpub distclean
	rm -f patches
	dh_clean build-stamp install-stamp

install: install-stamp
install-stamp: build-stamp
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	$(MAKE) -C mozilla/nsprpub install DESTDIR=$(CURDIR)/debian/tmp

	touch install-stamp

binary-indep:

binary-arch: install-stamp
	dh_testdir
	dh_testroot
	dh_installchangelogs -a
	dh_installdocs -a
	dh_install -a --sourcedir=debian/tmp
	dh_link -a
	dh_strip -a --dbg-package=libnspr4-0d-dbg
	dh_compress -a
	dh_fixperms -a
	dh_makeshlibs -a -V -- -c4 \
		$(foreach i,$(libnspr4_0d_EXPORTED_LIBS),-edebian/libnspr4-0d/usr/lib/$(i))
	install -d debian/libnspr4-0d/usr/share/lintian/overrides/
	echo 'libnspr4-0d binary:  no-shlibs-control-file' > debian/libnspr4-0d/usr/share/lintian/overrides/libnspr4-0d
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary: binary-arch

debian/patches/99_configure.patch: mozilla/nsprpub/configure.in
	-$(MAKE) -f /usr/share/quilt/quilt.make patch
	cd mozilla/nsprpub && autoconf
	QUILT_PATCHES=$(QUILT_PATCH_DIR) quilt --quiltrc /dev/null refresh --diffstat -U8 --strip-trailing-whitespace

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