#!/usr/bin/make -f

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

# FIXME: Temporary until we have a libdirectfb-udeb-bin package.
version_abi := 0.9.25

package_lib := $(shell dh_listpackages | head -n1)
package_udeb := $(package_lib)-udeb
package_extra := libdirectfb-extra
packages_nolib := $(shell dh_listpackages | \
		    sed -e '/$(package_lib)/d; /$(package_udeb)/d')

DESTDIR_DIST := $(CURDIR)/debian/tmp
DESTDIR_UDEB := $(CURDIR)/debian/tmp-udeb

BUILD_DIST := directfb-build
BUILD_UDEB := directfb-udeb

ifeq ($(DEB_HOST_ARCH_OS), linux)
  conf_options := \
    --with-gfxdrivers=all \
    --enable-video4linux2
  conf_options_udeb := \
    --with-gfxdrivers=matrox \
    --with-inputdrivers=keyboard,linuxinput,ps2mouse,serialmouse
else
  conf_options := \
    --with-gfxdrivers=none \
    --with-inputdrivers=ps2mouse
  conf_options_udeb := $(conf_options)
endif

include /usr/share/quilt/quilt.make

configure: configure.in
	autoreconf -f -i

configure-dist: $(BUILD_DIST)/config.status
$(BUILD_DIST)/config.status: configure
	dh_testdir
	
	mkdir -p $(BUILD_DIST)
	
	cd $(BUILD_DIST) && \
	../configure \
	  --prefix=/usr \
	  --mandir=\$${prefix}/share/man \
	  --infodir=\$${prefix}/share/info \
	  $(conf_options) \
	  --enable-static \
	  --enable-unique \
	  --disable-sdl \
	  --disable-vnc \
	  --enable-x11

configure-udeb: $(BUILD_UDEB)/config.status
$(BUILD_UDEB)/config.status: configure
	dh_testdir
	
	mkdir -p $(BUILD_UDEB)
	
	cd $(BUILD_UDEB) && \
	../configure \
	  --prefix=/usr \
	  --bindir=\$${libdir}/directfb-$(version_abi)/bin \
	  --mandir=\$${prefix}/share/man \
	  --infodir=\$${prefix}/share/info \
	  $(conf_options_udeb) \
	  --disable-sdl \
	  --disable-x11 \
	  --disable-vnc \
	  --disable-gif \
	  --disable-jpeg \
	  --disable-mpeg2 \
	  --disable-unique \
	  --disable-video4linux \
	  --disable-mmx \
	  --disable-sse

build: build-dist build-udeb

build-dist: patch configure-dist
	dh_testdir
	
	$(MAKE) -C $(BUILD_DIST)

build-udeb: patch configure-udeb
	dh_testdir
	
	$(MAKE) -C $(BUILD_UDEB)

clean: unpatch
	dh_testdir
	dh_testroot
	
	-$(MAKE) distclean
	-rm -rf $(BUILD_DIST)
	-rm -rf $(BUILD_UDEB)
	
	dh_clean

install: build-dist build-udeb
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs
	
	$(MAKE) -C $(BUILD_DIST) install DESTDIR=$(DESTDIR_DIST)
	
	$(MAKE) -C $(BUILD_UDEB) install DESTDIR=$(DESTDIR_UDEB)

binary: binary-indep binary-arch

binary-indep:

binary-arch: install
	dh_testdir
	dh_testroot
	
	dh_movefiles -p$(package_extra)
	dh_install --sourcedir=$(DESTDIR_DIST) -a -N$(package_udeb)
	dh_install --sourcedir=$(DESTDIR_UDEB) -p$(package_udeb)
	
	for d in $(packages_nolib); do \
	  dh_link -p$$d usr/share/doc/$(package_lib) \
	    usr/share/doc/$$d; \
	done
	
	dh_installdocs -a
	dh_installman -a
	dh_installchangelogs ChangeLog
	dh_link -a
	dh_strip -a
	dh_compress -a
	dh_fixperms -a
	dh_makeshlibs -a --add-udeb=$(package_udeb)
	dh_installdeb -a
	dh_shlibdeps -a -ldebian/$(package_lib)/usr/lib -L$(package_lib)
	# XXX: Nasty hack, this should be done in dpkg-dev.
	sed -ie 's/, $(package_udeb)//' \
	  $(CURDIR)/debian/$(package_udeb).substvars
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

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

