#!/usr/bin/make -f
# -*- makefile -*-
# 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

DESTDIR = $(CURDIR)/debian/tmp

DEB_HOST_ARCH_OS = $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)

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

# GNU/kFreeBSD already have off_t 64bit. It must not be enabled,
# as it would change size of ino_t
ifneq (kfreebsd,$(DEB_HOST_ARCH_OS))
# really only on other systems, as GNU/kFreeBSD already have off_t 64bit
# on GNU/kFreeBSD it must not be enabled, as it would change size of ino_t
CFLAGS += -D_FILE_OFFSET_BITS=64
endif

SOURCE = $(shell dpkg-parsechangelog | sed -e '/^Source:/!d' -e 's/^Source: //g')
VERSION = $(shell dpkg-parsechangelog | sed -e '/^Version:/!d' -e 's/^Version: //g' -e 's/-.*//g')
SVN = http://svn.freebsd.org/base/release/$(VERSION).0
ORIGDIR = $(SOURCE)-$(VERSION)
TARNAME = $(SOURCE)_$(VERSION).orig.tar.gz

get-orig-source:
	rm -rf $(ORIGDIR)
	mkdir -p $(ORIGDIR)/sys/sys $(ORIGDIR)/sys/geom
	for i in sbin/badsect sbin/dump sbin/dumpfs sbin/fsck_ffs sbin/fsdb \
		 sbin/growfs sbin/newfs sbin/tunefs sbin/bsdlabel \
		 sbin/sunlabel sbin/ffsinfo sbin/mount lib/libufs sys/ufs \
		 sys/geom/geom_bsd_enc.c \
		 sys/sys/disklabel.h sys/sys/mount.h sys/sys/param.h \
		 sys/sys/ucred.h ; \
	do \
	    svn export $(SVN)/$$i $(ORIGDIR)/$$i ; \
	done
	tar --numeric-owner --owner 0 --group 0 -czf ../$(TARNAME) $(ORIGDIR)
	rm -rf $(ORIGDIR)

build:
	dh_testdir

	CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" $(MAKE)

clean:
	dh_testdir
	dh_testroot

	[ ! -f Makefile ] || $(MAKE) clean

	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs

	mkdir -p $(DESTDIR)/lib
	mkdir -p $(DESTDIR)/sbin
	mkdir -p $(DESTDIR)/usr/share/man/man8

	$(MAKE) install DESTDIR=$(DESTDIR) prefix=/usr exec_prefix=/

# Build architecture-independent files here.
binary-indep:
	# Nothing to do.

# Build architecture-dependent files here.
binary-arch: install
	dh_testdir
	dh_testroot
	dh_installchangelogs -s
	dh_installdocs -s
	dh_install -s --sourcedir=debian/tmp
	dh_installman -s
	dh_link -s
	dh_strip -s
	dh_compress -s
	dh_fixperms -s
	dh_installdeb -s
	dh_shlibdeps -s
	dh_gencontrol -s
	dh_md5sums -s
	dh_builddeb -s

binary: binary-indep binary-arch

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