#!/usr/bin/make -f

export LD_ASSUME_KERNEL=2.4.24

CFLAGS := -O2 -Wall -g
CC := gcc
PWD := $(shell pwd)

# the dbs rules
TAR_DIR := db-4.0.14
include debian/scripts/dbs-build.mk

# dpkg-arch rules
ifeq (,$(DEB_BUILD_GNU_TYPE))
  include debian/scripts/dpkg-arch.mk
endif

export DH_COMPAT=3

# FHS options
configure_args = --prefix=/usr --localstatedir=/var --sysconfdir=/etc \
--libexecdir=/usr/sbin --mandir=/usr/share/man

# Build options
configure_args += --enable-compat185 --enable-dump185 --enable-shared \
--enable-rpc --enable-cxx --enable-tcl --with-tcl=/usr/lib/tcl8.3 \
--enable-test --with-uniquename

$(BUILD_TREE)/dist/configure: $(addprefix $(BUILD_TREE)/dist/, configure.ac aclocal/mutex.ac aclocal/tcl.ac)
	cd $(BUILD_TREE)/dist && libtoolize --force --copy && \
	cp -f /usr/share/aclocal/libtool.m4 ./aclocal/libtool.ac && ./s_config

build: $(STAMP_DIR)/build-stamp

$(STAMP_DIR)/pre-build-stamp: $(unpacked) $(patched) $(BUILD_TREE)/dist/configure
	dh_testdir
	cd $(BUILD_TREE)/build_unix && CFLAGS="$(CFLAGS)" CC="$(CC)" \
		JAVAC="gcj -C" LIBXSO_LIBS="-lstdc++" \
		TCFLAGS=-I/usr/include/tcl8.3 \
		../dist/configure $(configure_args) --host=$(DEB_BUILD_GNU_TYPE)
	touch $(STAMP_DIR)/pre-build-stamp

$(STAMP_DIR)/build-stamp: $(STAMP_DIR)/pre-build-stamp
	dh_testdir
	$(MAKE) -C $(BUILD_TREE)/build_unix
	touch $(STAMP_DIR)/build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -rf $(SOURCE_DIR) $(STAMP_DIR)
	perl debian/scripts/dh_split clean
	dh_clean

pre-binary: build $(dh_mak_deps)
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs
	$(MAKE) docdir=$(PWD)/debian/tmp/usr/share/doc/db4.0-doc/html \
		prefix=$(PWD)/debian/tmp/usr \
		install -C $(BUILD_TREE)/build_unix

	# Rename the utils
	cd debian/tmp/usr/bin/ && for util in *; do \
		new=$$(echo $$util | sed 's,db_,db4.0_,'); \
		mv $$util $$new; \
	done

	dh_movefiles

binary-indep:
	dh_testdir
	dh_testroot
	dh_installdirs -i
	dh_installdocs -i
	dh_installchangelogs -i
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary-arch: pre-binary $(dh_mak_deps)
	dh_testdir
	dh_testroot
	dh_installdirs -a
	dh_installdocs -a
	dh_installchangelogs -a
	dh_undocumented -a
	dh_strip -a
	dh_compress -a
	dh_fixperms -a
	dh_makeshlibs -a
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

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