#!/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_ARCH_OS    ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)

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

CFLAGS = -Wall -fPIC
CFLAGS += $(shell dpkg-buildflags --get CFLAGS)
CPPFLAGS += $(shell dpkg-buildflags --get CPPFLAGS)
LDFLAGS += $(shell dpkg-buildflags --get LDFLAGS)

CFLAGS_UDEB = $(CFLAGS)
CFLAGS_UDEB += -Os

clean: 
	dh_testdir
	dh_testroot
	-rm -f *-stamp
	-rm -rf build-deb build-udeb
	-rm -rf debian/tmp-deb debian/tmp-udeb
	-rm -f config.guess config.sub
	dh_clean

config-common: config-common-stamp
config-common-stamp:
	-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

	chmod +x configure usbhid-dump/configure
	
	touch $@

build-deb/config.status: config-common-stamp
	dh_testdir

	mkdir -p build-deb

	cd build-deb && \
		CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \
		../configure \
			--host=$(DEB_HOST_GNU_TYPE) \
			--build=$(DEB_BUILD_GNU_TYPE) \
			--prefix=/usr \
			--datadir=/var/lib/usbutils \
			--mandir=\$${prefix}/share/man \
			--infodir=\$${prefix}/share/info

build-udeb/config.status: config-common-stamp
	dh_testdir

	mkdir -p build-udeb

	cd build-udeb && \
		CFLAGS="$(CFLAGS_UDEB)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \
		../configure \
			--host=$(DEB_HOST_GNU_TYPE) \
			--build=$(DEB_BUILD_GNU_TYPE) \
			--prefix=/usr \
			--datadir=/usr/share/misc \
			--mandir=\$${prefix}/share/man \
			--infodir=\$${prefix}/share/info

build: build-arch build-indep
build-indep:

build-arch: build-deb-stamp build-udeb-stamp 
build-deb-stamp: build-deb/config.status
	dh_testdir

	$(MAKE) -C build-deb
	touch $@

build-udeb-stamp: build-udeb/config.status
	dh_testdir

	$(MAKE) -C build-udeb
	touch $@

install: install-stamp
install-stamp: build-deb-stamp build-udeb-stamp
	dh_testdir
	dh_testroot
	dh_installdirs -a

	$(MAKE) -C build-deb install DESTDIR=$(CURDIR)/debian/tmp-deb pkgconfigdir=/usr/share/pkgconfig
	mv $(CURDIR)/debian/tmp-deb/usr/sbin/update-usbids.sh $(CURDIR)/debian/tmp-deb/usr/sbin/update-usbids
	$(MAKE) -C build-udeb install DESTDIR=$(CURDIR)/debian/tmp-udeb pkgconfigdir=/usr/share/pkgconfig

	dh_install -a

	touch $@

# 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_installdebconf	
	dh_installdocs
	dh_installexamples
	dh_installman
	dh_installinfo
	dh_installchangelogs ChangeLog
	dh_link
	dh_strip 
	dh_compress 
	dh_fixperms
#	dh_makeshlibs
	dh_installdeb
#	dh_perl
	dh_shlibdeps 
	dh_gencontrol
	dh_md5sums 
	dh_builddeb -- -Zxz

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