#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.

# 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_BUILD_GNU_TYPE      := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_GNU_TYPE       := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)

unpack: unpack-stamp
unpack-stamp:
	tar xjf /usr/src/toolchain/binutils.tar.bz2
#	for i in *.patch ; do \
#	  patch -p0 < $$i ; \
#	done
	mv binutils-* src
	mkdir build
	touch unpack-stamp

configure: configure-stamp
configure-stamp: unpack-stamp
	dh_testdir

	# Add here commands to configure the package.
	cd build && \
	../src/configure --prefix=/usr \
                         --build=$(DEB_BUILD_GNU_TYPE) \
                         --host=$(DEB_HOST_GNU_TYPE) \
                         --target=m68hc11
	touch configure-stamp

build: configure-stamp build-stamp
build-stamp:
	dh_testdir
	cd build && $(MAKE)
	tar cfz $(CURDIR)/example.tar.gz example
	touch build-stamp

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Add here commands to install the package into debian/binutils-m68hc1x
	cd build && $(MAKE) install prefix=$(CURDIR)/debian/binutils-m68hc1x/usr
	
	# Change hardlinks to symlinks
	rm -f $(CURDIR)/debian/binutils-m68hc1x/usr/m68hc11/bin/*
	for i in ar as ld nm ranlib strip ; do \
		ln -s ../../bin/m68hc11-$$i $(CURDIR)/debian/binutils-m68hc1x/usr/m68hc11/bin/$$i ; \
	done

	# Also create m68hc12-*
	cp debian/m68hc12-as $(CURDIR)/debian/binutils-m68hc1x/usr/bin
	cp debian/m68hc12-ld $(CURDIR)/debian/binutils-m68hc1x/usr/bin
	ln -s m68hc11-ar $(CURDIR)/debian/binutils-m68hc1x/usr/bin/m68hc12-ar
	ln -s m68hc11-addr2line $(CURDIR)/debian/binutils-m68hc1x/usr/bin/m68hc12-addr2line
	ln -s m68hc11-c++filt $(CURDIR)/debian/binutils-m68hc1x/usr/bin/m68hc12-c++filt
	ln -s m68hc11-nm $(CURDIR)/debian/binutils-m68hc1x/usr/bin/m68hc12-nm
	ln -s m68hc11-objdump $(CURDIR)/debian/binutils-m68hc1x/usr/bin/m68hc12-objdump
	ln -s m68hc11-objcopy $(CURDIR)/debian/binutils-m68hc1x/usr/bin/m68hc12-objcopy
	ln -s m68hc11-ranlib $(CURDIR)/debian/binutils-m68hc1x/usr/bin/m68hc12-ranlib
	ln -s m68hc11-readelf $(CURDIR)/debian/binutils-m68hc1x/usr/bin/m68hc12-readelf
	ln -s m68hc11-size $(CURDIR)/debian/binutils-m68hc1x/usr/bin/m68hc12-size
	ln -s m68hc11-strings $(CURDIR)/debian/binutils-m68hc1x/usr/bin/m68hc12-strings
	ln -s m68hc11-strip $(CURDIR)/debian/binutils-m68hc1x/usr/bin/m68hc12-strip
	
	# Use manpages from main binutils package
	rm -rf debian/binutils-m68hc1x/usr/man
	mkdir -p debian/binutils-m68hc1x/usr/share/man/man1
	for i in ar nm objcopy objdump ranlib readelf size strings strip c++filt as ld addr2line ; do \
		ln -s $$i.1.gz $(CURDIR)/debian/binutils-m68hc1x/usr/share/man/man1/m68hc11-$$i.1.gz ; \
		ln -s $$i.1.gz $(CURDIR)/debian/binutils-m68hc1x/usr/share/man/man1/m68hc12-$$i.1.gz ; \
	done

	# Files also in main binutils pkg
	cd debian/binutils-m68hc1x/usr && \
	/usr/src/toolchain/scripts/tpkg-binutils-rm-common-files

	# Override file
	install -p -d -o root -g root -m 755 $(CURDIR)/debian/binutils-m68hc1x/usr/share/lintian/overrides
	install -p -o root -g root -m 644 $(CURDIR)/debian/overrides $(CURDIR)/debian/binutils-m68hc1x/usr/share/lintian/overrides/binutils-m68hc1x

clean:
	dh_testdir
	dh_testroot
	rm -f $(CURDIR)/example.tar.gz
	rm -rf src build
	rm -f build-stamp configure-stamp unpack-stamp

	dh_clean


# Build architecture-independent files here.
binary-indep: build install 
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
#	dh_installdebconf	
	dh_installdocs
#	dh_installexamples
#	dh_installmenu
#	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
#	dh_installinit
#	dh_installcron
	dh_installman
#	dh_installinfo
	dh_installchangelogs 
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
#	dh_makeshlibs
	dh_installdeb
#	dh_perl
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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