#!/usr/bin/make -f
# -*- makefile -*-
export SHELL = bash

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

DEB_HOST_ARCH_OS ?= $(dpkg-architecture -qDEB_HOST_ARCH_OS)
LDFLAGS ?= $(shell dpkg-buildflags --get LDFLAGS)
CFLAGS ?= $(shell dpkg-buildflags --get CFLAGS)

ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
else
NUMJOBS = 1
endif

RUMPMAKE := $(CURDIR)/buildrump.sh/obj/tooldir/rumpmake

get-orig-src:
	rm -rf ../rumpkernel-new
	mkdir ../rumpkernel-new
	git clone https://github.com/rumpkernel/buildrump.sh.git ../rumpkernel-new/buildrump.sh
	# non-free
	rm -rf ../rumpkernel-new/buildrump.sh/src/usr.bin/rpcgen
	cd ../rumpkernel-new/buildrump.sh && ./buildrump.sh checkout
	git clone https://github.com/rumpkernel/pci-userspace.git ../rumpkernel-new/pci-userspace

%:
	rm -f debian/*.debhelper.log
	dh $@ 

override_dh_auto_clean:
	-cd pci-userspace/src-linux-uio && $(RUMPMAKE) clean
	-cd pci-userspace/src-gnu && $(RUMPMAKE) clean
	rm -rf buildrump.sh/{obj,rump}
	find buildrump.sh -type f -name .depend -or -name \*.d | xargs -L512 rm -f

override_dh_auto_build-arch:
	dh_testdir -a
	cd buildrump.sh && TARBALLMODE='Run from tarball' ./buildrump.sh -H -F CFLAGS="$(CFLAGS)" -F LDFLAGS="$(LDFLAGS)" -j$(NUMJOBS) fullbuild
ifeq ($(DEB_HOST_ARCH_OS), linux)
#	cd pci-userspace/src-linux-uio && $(RUMPMAKE) dependall
endif
ifeq ($(DEB_HOST_ARCH_OS), hurd)
	cd pci-userspace/src-gnu && $(RUMPMAKE) dependall
endif

override_dh_auto_install:
	cd buildrump.sh && TARBALLMODE='Run from tarball' ./buildrump.sh -d $(CURDIR)/debian/tmp/usr install

ifeq ($(DEB_HOST_ARCH_OS), linux)
#	cd pci-userspace/src-linux-uio && $(RUMPMAKE) install
endif
ifeq ($(DEB_HOST_ARCH_OS), hurd)
	cd pci-userspace/src-gnu && $(RUMPMAKE) install
endif
	cp -a $(CURDIR)/buildrump.sh/rump/lib/* $(CURDIR)/debian/tmp/usr/lib/

	# Remove it to make lintian happy
	rm -f $(CURDIR)/debian/tmp/usr/lib/librumpkern_z.*
