#!/usr/bin/make -f
# Made with the aid of dh_make, by Craig Small
# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
# Some lines taken from debmake, by Cristoph Lameter.

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

# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

BUILD_CC = gcc

CC_NORMAL = -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wconversion
CC_STRICT = $(CC_NORMAL) -W -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wwrite-strings -ansi -pedantic

TARGET    = i686-w64-mingw32
MINGW_TOP = /usr/$(TARGET)
MINGW_TMP = $(CURDIR)/debian/mingw32-libcdk5
MINGW_DEV = $(CURDIR)/debian/mingw32-libcdk5-dev

CFLAGS = $(CC_NORMAL)

CONFIG_OPTIONS = \
	--disable-echo \
	--verbose \
	--with-shared

verbose = # -v

export CFLAGS BUILD_CC

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

configure: configure-stamp
configure-stamp:
	dh_testdir

	CC=$(TARGET)-gcc \
	CFLAGS="$(CFLAGS)" \
	./configure \
		--host=$(TARGET) \
		--target=$(TARGET) \
		--prefix=$(MINGW_TOP) \
		--with-build-cc=$(BUILD_CC) \
		$(CONFIG_OPTIONS)

	touch configure-stamp

build: build-stamp
build-stamp: configure-stamp
	dh_testdir

	$(MAKE)

	touch build-stamp

clean:
	dh_testdir
	dh_testroot

	[ ! -f makefile ] || $(MAKE) distclean

	rm -f configure-stamp build-stamp install-stamp

	dh_clean

install: install-stamp
install-stamp: build-stamp
	dh_testdir
	dh_testroot
	dh_clean -k     $(verbose)
	dh_installdirs  $(verbose)

	$(MAKE) installCDKLibrary DESTDIR=$(MINGW_TMP)
	rm -f $(MINGW_TMP)/$(MINGW_TOP)/bin/cdk5-config
	$(MAKE) installImportLibrary DESTDIR=$(MINGW_DEV)
	$(MAKE) installCDKHeaderFiles DESTDIR=$(MINGW_DEV)

	touch install-stamp

# Build architecture-independent files here.
binary-indep: build install
# No binary-indep target.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs $(verbose)
	# dh_strip
	dh_compress     $(verbose)
	dh_fixperms     $(verbose)
	dh_installdeb   $(verbose)
	dh_shlibdeps    $(verbose)
	dh_gencontrol   $(verbose)
	dh_md5sums      $(verbose)
	dh_builddeb     $(verbose)

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