#!/usr/bin/make -f
#
# debian/rules file to build a Mingw32 cross compiler toolchain.
#
# Created 30 Jan 2001, by Ron Lee <ron@debian.org>

#export DH_VERBOSE=1

package = mingw32-binutils
target  = i586-mingw32msvc

top_dir      := $(shell pwd)
upstream_dir := $(top_dir)/upstream
build_dir    := $(top_dir)/build_dir
build_src    := $(build_dir)/src
build_objs   := $(build_dir)/objs

PACKAGE_BASENAME = $(patsubst %-src.tar,%,$(basename $(notdir $(wildcard $(upstream_dir)/$(1)*))))

binutils := $(call PACKAGE_BASENAME,binutils)

ifneq ($(words $(binutils)),1)
  $(error binutils defined as '$(binutils)')
endif


build : build-stamp

# XXX Work around another gratuitous change in the source dir name.
#     They did so well for so long, *sigh*.
#     Temporary hack here until we know how permanent this one may be
configure-stamp: binutils_dir := $(binutils)-src
configure-stamp: unpack-stamp
	mkdir -p $(build_objs)
	cd $(build_objs)					\
		&& $(build_src)/$(binutils_dir)/configure -v	\
					--prefix=/usr		\
					--target=$(target)
	touch $@


build-stamp : configure-stamp
	dh_testdir
	cd $(build_objs) && $(MAKE)

	touch $@


install : install-stamp

install-stamp : build-stamp
	dh_testdir
	dh_testroot
	dh_clean -k

	dh_installdirs usr/share/lintian/overrides
	cd $(build_objs)								\
		&& $(MAKE) install prefix=$(top_dir)/debian/$(package)/usr		\
				   mandir=$(top_dir)/debian/$(package)/usr/share/man

	# remove some non-cross stuff that will clash with other packages
	rm -rf debian/$(package)/usr/info
	rm -rf debian/$(package)/usr/lib
	rm -rf debian/$(package)/usr/share/locale

	# install override for the non fhs target dir gcc wants to use
	# (until we find a better solution or change policy)
	cp debian/lintian-overrides debian/$(package)/usr/share/lintian/overrides/$(package)

	touch $@


unpack-stamp:
	dh_testdir
	mkdir -p $(build_src)

	# unpack upstream tarballs
	@cd $(build_src) \
		&& for f in $(binutils) ; do					\
			echo "unpacking $$f";					\
			if [ -r $(upstream_dir)/$$f-src.tar.gz ]; then	\
				tar zxf $(upstream_dir)/$$f-src.tar.gz;	\
			elif [ -r $(upstream_dir)/$$f-src.tar.bz2 ]; then	\
				tar jxf $(upstream_dir)/$$f-src.tar.bz2;	\
			else							\
				echo " *** Error: Failed to unpack $$f";	\
				exit 1;						\
			fi;							\
		   done;

	touch $@


clean:
	dh_testdir
	dh_testroot
	rm -rf $(build_dir) *-stamp
	dh_clean


binary-indep:
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installdocs
	dh_installman debian/$(target)-dllwrap.1
	dh_installchangelogs
	dh_strip
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary: binary-indep binary-arch

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

