#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

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

DEB_HOST_GNU_TYPE	?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE	?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

MINGW64_TARGET	= x86_64-w64-mingw32
MINGW32_TARGET	= i686-w64-mingw32

BUILD_ROOT	= debian/tmp
PREFIX		= /usr

SOURCE0		= COPYING
SOURCE1		= macros.mingw64
SOURCE2		= mingw64.sh
SOURCE3		= mingw64-find-debuginfo.sh
SOURCE4		= mingw64-find-requires.sh
SOURCE5		= mingw64-find-provides.sh
SOURCE6		= mingw64-scripts.sh
SOURCE7		= mingw64-rpmlint.config
SOURCE8		= mingw64-install-post.sh

configure: configure-stamp
configure-stamp:
	dh_testdir

	mkdir -p build
	cp $(SOURCE0) build/COPYING
	sed 's/@VERSION@/$(VERSION)/' < $(SOURCE4) > build/mingw64-find-requires.sh

	touch configure-stamp

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

	# Nothing to do on this package

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -rf build-stamp configure-stamp build debian/tmp
	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_installdirs
	
	# Required by GCC despite the fact they are just links
	mkdir -p $(BUILD_ROOT)/32/usr/$(MINGW32_TARGET)/bin
	mkdir -p $(BUILD_ROOT)/64/usr/$(MINGW64_TARGET)/bin
	
	# The MinGW root, which will contain Windows native files
	mkdir -p $(BUILD_ROOT)/64/usr/$(MINGW64_TARGET)/sys-root/mingw
	mkdir -p $(BUILD_ROOT)/64/usr/$(MINGW64_TARGET)/sys-root/mingw/bin
	mkdir -p $(BUILD_ROOT)/64/usr/$(MINGW64_TARGET)/sys-root/mingw/include/sys
	mkdir -p $(BUILD_ROOT)/64/usr/$(MINGW64_TARGET)/sys-root/mingw/lib/pkgconfig
	mkdir -p $(BUILD_ROOT)/64/usr/$(MINGW64_TARGET)/sys-root/mingw/share/pkgconfig
	mkdir -p $(BUILD_ROOT)/32/usr/$(MINGW32_TARGET)/sys-root/mingw/
	mkdir -p $(BUILD_ROOT)/32/usr/$(MINGW32_TARGET)/sys-root/mingw/bin
	mkdir -p $(BUILD_ROOT)/32/usr/$(MINGW32_TARGET)/sys-root/mingw/include/sys
	mkdir -p $(BUILD_ROOT)/32/usr/$(MINGW32_TARGET)/sys-root/mingw/lib/pkgconfig
	mkdir -p $(BUILD_ROOT)/32/usr/$(MINGW32_TARGET)/sys-root/mingw/share/pkgconfig
	
	
	mkdir -p $(BUILD_ROOT)/64/usr/$(MINGW64_TARGET)/sys-root/mingw/share/aclocal
	mkdir -p $(BUILD_ROOT)/32/usr/$(MINGW32_TARGET)/sys-root/mingw/share/aclocal
	
	cd $(BUILD_ROOT)/64/usr/$(MINGW64_TARGET) && ln -s sys-root/mingw/include include && ln -s sys-root/mingw/lib lib
	cd $(BUILD_ROOT)/64/usr/$(MINGW64_TARGET)/sys-root && ln -s mingw $(MINGW64_TARGET)
	cd $(BUILD_ROOT)/32/usr/$(MINGW32_TARGET) && ln -s sys-root/mingw/include include && ln -s sys-root/mingw/lib lib
	cd $(BUILD_ROOT)/32/usr/$(MINGW32_TARGET)/sys-root && ln -s mingw $(MINGW32_TARGET)
	
	
	mkdir -p $(BUILD_ROOT)/64/usr/$(MINGW64_TARGET)/sys-root/mingw/share/doc
	mkdir -p $(BUILD_ROOT)/64/usr/$(MINGW64_TARGET)/sys-root/mingw/share/info
	for i in 1 2 3 4 5 6 7 8 9 n; do \
		mkdir -p $(BUILD_ROOT)/64/usr/$(MINGW64_TARGET)/sys-root/mingw/share/man/man$$i ; \
	done
	mkdir -p $(BUILD_ROOT)/32/usr/$(MINGW32_TARGET)/sys-root/mingw/share/doc
	mkdir -p $(BUILD_ROOT)/32/usr/$(MINGW32_TARGET)/sys-root/mingw/share/info
	for i in 1 2 3 4 5 6 7 8 9 n; do \
		mkdir -p $(BUILD_ROOT)/32/usr/$(MINGW32_TARGET)/sys-root/mingw/share/man/man$$i ; \
	done
	
	# Some common debian build system files for my own enjoyment - we only want them in the 32-bit package, although we
	# really probably should have one in each... meh, whatever. One will do for now.
	install -D -m 644 mingw64.mk $(BUILD_ROOT)/32/usr/share/cdbs/1/class/mingw64.mk
	install -D -m 644 mingw64-autotools.mk $(BUILD_ROOT)/32/usr/share/cdbs/1/rules/mingw64-autotools.mk
	install -D -m 644 mingw64-cmake.mk $(BUILD_ROOT)/32/usr/share/cdbs/1/rules/mingw64-cmake.mk
	install -D -m 644 mingw64-i686.toolchain $(BUILD_ROOT)/32/usr/share/cdbs/1/class/mingw64-i686.toolchain
	install -D -m 644 mingw64-x86_64.toolchain $(BUILD_ROOT)/32/usr/share/cdbs/1/class/mingw64-x86_64.toolchain
	
binary-indep: build install
	dh_testdir -i
	dh_testroot -i
	dh_installdocs -i
	dh_installexamples -i
	dh_movefiles -i
	dh_install -i
	dh_link -i
	dh_fixperms -i
	dh_makeshlibs -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary-arch: build install
	#dh_testdir -a
	#dh_testroot -a
	#dh_movefiles -a
	#dh_installdocs -a
	#dh_installexamples -a
	#dh_install -a
	#dh_link -a
	#dh_fixperms -a
	#dh_makeshlibs -a
	#dh_installdeb -a
	#dh_shlibsdeps -a
	#dh_installchangelogs ChangeLog
	#dh_gencontrol -a
	#dh_md5sums -a
	#dh_builddeb -a

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