#!/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
include /usr/share/dpkg/architecture.mk

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)

ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
export PKG_CONFIG=$(DEB_HOST_GNU_TYPE)-pkg-config
export HOST=$(DEB_HOST_GNU_CPU)-$(DEB_HOST_ARCH_OS)
CROSS=CROSS_COMPILE=$(DEB_HOST_GNU_TYPE)- HOST=$(HOST)
endif

ifeq ($(DEB_HOST_ARCH_OS),linux)
LINUX_FEATURES=LIBKMOD=yes HWDB=yes
endif

# for GDB
#CFLAGS += -O0 -ggdb3
# end
CFLAGS += -g -gdwarf-2 -fno-omit-frame-pointer
ifeq ($(DEB_HOST_ARCH),solaris-i386)
CFLAGS += -msave-args
endif
#ifeq ($(DEB_HOST_ARCH),solaris-sparc)
#endif

CFLAGS += -DDILOS
export CFLAGS

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

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) DNS=no $(CROSS) $(PATHS) SHARED=yes $(LINUX_FEATURES) ZLIB=no

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.5.2 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.5.2 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 -9n > 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.5.2 debian/libpci3-udeb/lib/libpci.so.3

	# remove pci.ids - will use it from hwdata package
	rm -f debian/pciutils/usr/share/hwdata/pci.ids*

	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.5.2-1)' --add-udeb=libpci3-udeb
	dh_makeshlibs -a -V 'libpci3 (>= 1:3.5.2-1)'
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

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
