#!/usr/bin/make -f

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

PACKAGE = binutils-msp430
TARGET = msp430
VERSION = $(shell dpkg-parsechangelog | sed -n 's/^Version:.*\(msp.*\)-.*$$/\1/p')
BINUTILS_VER := $(shell dpkg-query -W -f="\$${Version}\n" binutils-source)

BUILD_TREE = $(shell find . -maxdepth 1 -mindepth 1 -type d -name 'binutils*')
DEB_BINUTILS = .

CONFARGS = --prefix=/usr \
	   --build=$(DEB_BUILD_GNU_TYPE) \
           --host=$(DEB_HOST_GNU_TYPE) \
           --target=$(TARGET)\
           --disable-static


unpack: unpack-stamp
unpack-stamp:
	cp -a /usr/src/binutils/binutils-*.tar.* .
	tar xf $(DEB_BINUTILS)/binutils-*.tar.*
	touch unpack-stamp

patch-stamp: unpack-stamp
	cd $(BUILD_TREE) && \
	for upstreamp in `grep -v '^#' $(CURDIR)/debian/patchlist`; \
		do echo; echo Applying patch $$upstreamp; \
		patch -p1 < $(CURDIR)/debian/$$upstreamp; done
	touch patch-stamp

configure: configure-stamp
configure-stamp: patch-stamp
	dh_testdir
	cd $(BUILD_TREE) && ./configure $(CONFARGS)
	touch configure-stamp

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

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp unpack-stamp patch-stamp
	rm -rf $(BUILD_TREE)
	rm -rf $(DEB_BINUTILS)/binutils-* 	
	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs

	cd $(BUILD_TREE) && \
	$(MAKE) install prefix=$(CURDIR)/debian/$(PACKAGE)/usr
	
	# Remove conflicting files
	cd debian/$(PACKAGE)/usr && \
	rm -rf lib/libiberty.* lib/libbfd.* lib/libopcodes* \
	include/bfd.h include/ansidecl.h include/bfdlink.h \
	share/locale include/symcat.h include/dis-asm.h \
	info share/info

binary-indep: install

binary-arch: install
	dh_testdir
	dh_testroot
	dh_installdocs -n
	dh_installman
	dh_installchangelogs
	dh_lintian
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol -- -Vbinutils:Version=$(BINUTILS_VER)
	dh_md5sums
	dh_builddeb

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