#!/usr/bin/make -f
# -*- makefile -*-
# PDL debian/rules that uses debhelper.
# much of it is based on the original debmake-based one.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

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

unexport DISPLAY


ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	export DEB_CFLAGS_MAINT_APPEND:=-Wall
else
	export DEB_CFLAGS_MAINT_APPEND:=-Wall -ffunction-sections
endif

export DEB_LDFLAGS_MAINT_APPEND:=-Wl,--as-needed

DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk

subst_pdlapi  = -Vpdlapi:Provides="`perl -Mblib -MPDL::Config::Debian -e 'print \"pdlapi-$$PDL::Config::Debian::pdl_core_version\n\"'`"

configure: configure-stamp
configure-stamp:
	dh_testdir
	# Add here commands to configure the package
	dh_auto_configure -- F77CONF=debian/f77conf.pl PDLCONF=debian/perldl.conf

	touch configure-stamp



build-arch: build
build-indep: build

build: build-stamp
build-stamp: configure-stamp 
	dh_testdir

	# Add here commands to compile the package.
	$(MAKE) LD_RUN_PATH=""
	mkdir -p blib/lib/PDL/Config
	perl -Mblib debian/write_config_debian.pl > blib/lib/PDL/Config/Debian.pm
	pod2man debian/dh_pdl > debian/dh_pdl.1

	touch build-stamp

test: test-stamp
test-stamp: build-stamp
	dh_testdir
	@echo "BEGIN test normal"
	-$(MAKE) TEST_VERBOSE=0 LC_ALL=C test | perl debian/filter-test.pl
	@echo "END test normal"
	@echo "BEGIN test verbose"
	-$(MAKE) TEST_VERBOSE=1 LC_ALL=C test | perl debian/filter-test.pl
	@echo "END test verbose"
	touch test-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp test-stamp

	dh_clean 

	# Add here commands to clean up after the build process.
	[ ! -f Makefile ] || $(MAKE) distclean
	rm -f t/callext.o t/callext.so Graphics/TriD/OpenGL/tmp*.h-out \
	 	Perldl2/pdl2.pod debian/dh_pdl.1

install: build test
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs

	# Add here commands to install the package into debian/pdl.
	$(MAKE) install DESTDIR=$(CURDIR)/debian/pdl
	cd debian/pdl/usr/share/man/man3 ; mv PDL\:\:Reduce.3pm old.3pm ; sed -f $(CURDIR)/debian/fix_man_name.sed old.3pm > PDL\:\:Reduce.3pm ; rm old.3pm
	cd debian/pdl/usr/share/man/man3 ; mv PDL\:\:Func.3pm old.3pm ; sed -f $(CURDIR)/debian/fix_man_encoding.sed old.3pm > PDL\:\:Func.3pm ; rm old.3pm
	cd debian/pdl/usr/share/man/man3 ; mv PDL\:\:Complex.3pm old.3pm ; sed -f $(CURDIR)/debian/fix_man_encoding.sed old.3pm > PDL\:\:Complex.3pm ; rm old.3pm
	cd debian/pdl; while read f ; do rm -f "$$f" ; done < ../pdl.remove


# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs
	dh_installdocs
	dh_installexamples
	dh_install
	dh_installmenu
	dh_lintian
#	dh_installdebconf	
#	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
#	dh_installinit
#	dh_installcron
#	dh_installinfo
	dh_installman
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_perl
#	dh_python
#	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol -- $(subst_pdlapi)
	dh_md5sums
	dh_builddeb

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