#!/usr/bin/make -f

package = mbr
docdir = debian/tmp/usr/share/doc/$(package)

KERNEL_ARCH := $(shell uname -m)

CC = gcc -m32
LD = ld -melf_i386

CFLAGS = -g -Wall -W
INSTALL_PROGRAM = install

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

build:
	$(checkdir)
	./configure --prefix=/
	$(MAKE) CC="$(CC)" LD="$(LD)" CFLAGS="$(CFLAGS)"
ifneq (,$(findstring x86_64,$(KERNEL_ARCH)))
	# Limit the tests on x86_64 kernels
	$(MAKE) TESTS="tests/inst-1 tests/inst-3 tests/inst-4 tests/inst-6 tests/inst-7 tests/inst-8" check-TESTS
else
	$(MAKE) check-TESTS
endif
	touch build

clean:
	$(checkdir)
	rm -f build
	-$(MAKE) distclean
	rm -f `find . -name "*~"`
	rm -rf debian/tmp debian/files* core debian/substvars

binary-indep: checkroot build
	$(checkdir)

binary-arch: checkroot build
	$(checkdir)
	rm -rf debian/tmp
	install -d debian/tmp/DEBIAN $(docdir)
	$(MAKE) install prefix=`pwd`/debian/tmp \
		INSTALL_PROGRAM="$(INSTALL_PROGRAM)"
#	cd debian/tmp && install -d boot
#	install -m 644 mbr.b debian/tmp/boot
	cp -p ChangeLog $(docdir)/changelog
	cp -p debian/changelog $(docdir)/changelog.Debian
	cp -p README NEWS debian/README-1st.Debian debian/copyright $(docdir)
	cp -p AUTHORS $(docdir)
	cd $(docdir) && gzip -9 changelog changelog.Debian
	gzip -r9 debian/tmp/share/man
	mv debian/tmp/share/man debian/tmp/usr/share
	rmdir debian/tmp/share
	dpkg-shlibdeps debian/tmp/sbin/*
	dpkg-gencontrol -isp
	cd debian/tmp && \
		md5sum `find * -type f ! -regex "DEBIAN/.*"` > DEBIAN/md5sums
	chown -R root:root debian/tmp
	chmod -R go=rX debian/tmp
	dpkg --build debian/tmp ..

define checkdir
	test -f $(package).S86 -a -f debian/rules
endef

binary: binary-indep binary-arch

checkroot:
	$(checkdir)
	test root = "`whoami`"

.PHONY: binary binary-arch binary-indep clean checkroot
