#!/usr/bin/make -f

export DH_VERBOSE=1

#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk

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)

ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
CROSS=CROSS_COMPILE=$(DEB_HOST_GNU_TYPE)-
endif

PATHS := LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) PREFIX=/usr SBINDIR=/usr/bin IDSDIR=/usr/share/misc

update-ids:
	# get a new version of pci.ids, this should only be run by the
	# maintainer, since we don't want different builds of the same
	# source to end up with different versions
	./update-pciids.sh
	rm -f pci.ids.old
	#gunzip pci.ids.gz

build-arch: build
build-indep: build
build:
	dh_testdir
	OPT="$(CFLAGS)" $(MAKE) $(CROSS) $(PATHS) SHARED=yes

clean:
	dh_testdir
	dh_testroot
	[ ! -f Makefile ] || $(MAKE) $(PATHS) clean
	rm -f lspci-udeb
	dh_clean

# Build architecture-independent files here.
binary-indep:

# Build architecture-dependent files here.
binary-arch: build 
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs -a

	$(MAKE) $(CROSS) $(PATHS) install DESTDIR=debian/pciutils STRIP=

	# pciutils
	gunzip debian/pciutils/usr/share/misc/pci.ids.gz
	mv debian/pciutils/usr/bin/update-pciids debian/pciutils/usr/sbin

	# libpci-dev
	mkdir -p debian/libpci-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig
	install -m 644 lib/libpci.a debian/libpci-dev/usr/lib/$(DEB_HOST_MULTIARCH)
	install -m 644 lib/pci.h lib/header.h lib/config.h lib/types.h \
			debian/libpci-dev/usr/include/pci/
	install -m 644 lib/libpci.pc debian/libpci-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/
	ln -s /lib/$(DEB_HOST_MULTIARCH)/libpci.so.3.2.1 debian/libpci-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libpci.so

	# libpci3
	mkdir -p debian/libpci3/lib/$(DEB_HOST_MULTIARCH)
	install -m 644 lib/libpci.so* debian/libpci3/lib/$(DEB_HOST_MULTIARCH)
	ln -s libpci.so.3.2.1 debian/libpci3/lib/$(DEB_HOST_MULTIARCH)/libpci.so.3

	# pciutils-udeb
	# Reduce by removing subsystem ids and comments.
	perl -ne 'print unless /^(\s*#|\s*$|\t\t)/' < pci.ids |gzip -9 > debian/pciutils-udeb/usr/share/misc/pci.ids.gz
	chmod 644 debian/pciutils-udeb/usr/share/misc/pci.ids.gz

	# libpci3-udeb
	install -m 644 lib/libpci.so* debian/libpci3-udeb/lib/
	ln -s libpci.so.3.2.1 debian/libpci3-udeb/lib/libpci.so.3

	dh_installdocs
	dh_installexamples example.c
	dh_installmenu
	dh_installman -ppciutils
	dh_installchangelogs -a ChangeLog
	dh_strip -a
	dh_compress -a
	dh_fixperms -a
	dh_makeshlibs -a -V 'libpci3 (>= 1:3.2.1-1)' --add-udeb=libpci3-udeb
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -ppciutils -- -Zbzip2 -z9
	dh_builddeb -plibpci-dev -- -Zbzip2 -z9
	dh_builddeb -plibpci3 -- -Zbzip2 -z9
	dh_builddeb -ppciutils-udeb -plibpci3-udeb

source diff:                                                                  
	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false

binary: binary-indep binary-arch
.PHONY: update-ids build clean binary-indep binary-arch binary source diff
