#!/usr/bin/make -f
# Sample debian/rules that uses debhelper. 
# GNU copyright 1997 by Joey Hess.
#
# This version is for a hypothetical package that builds an
# architecture-dependant package, as well as an architecture-independent
# package.

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

# This is the debhelper compatability version to use.
export DH_COMPAT=2

# This has to be exported to make some magic below work.
export DH_OPTIONS

default: build

SHELL		= /bin/bash -e	# brace expansion used in rules file
pwd		:= $(shell pwd)

# which binary packages are built?
# The name of the source package // better: set SNAPSHOT explicitely
PKGSOURCE := $(shell dpkg-parsechangelog | awk '/^Source:/ {print $$2;exit 0}')
DPKGVER   := 1

CROSS_TOOL := h8300-hitachi-hms
CONFIGURE_HOST := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

srcdir		:= $(pwd)/src
stampdir	:= stamps

unpack_stamp	:= $(stampdir)/01-unpack-stamp
configure_stamp	:= $(stampdir)/02-configure-stamp
build_stamp	:= $(stampdir)/03-build-stamp
install_stamp	:= $(stampdir)/04-install-stamp

BIN_PKGNM	:= binutils-h8300-hms
DEV_PKGNM	:= $(BIN_PKGNM)-dev
DOC_PKGNM	:= $(BIN_PKGNM)-doc

BIN_ROOT	:= $(pwd)/debian/$(BIN_PKGNM)
DEV_ROOT	:= $(pwd)/debian/$(DEV_PKGNM)
DOC_ROOT	:= $(pwd)/debian/$(DOC_PKGNM)

include debian/rules.unpack

stamp-dir:
	if [ -d $(stampdir) ]; then true; else mkdir $(stampdir); fi

configure: unpack $(configure_stamp)

$(configure_stamp): stamp-dir
	dh_testdir
	[ -f src/config.sub.orig ] || mv src/config.sub src/config.sub.orig
	[ -f src/config.guess.orig ] || mv src/config.guess src/config.guess.orig
	cp /usr/share/misc/config.sub /usr/share/misc/config.guess src
	# Add here commands to configure the package.
	src/configure --target=$(CROSS_TOOL) \
	              --host=$(CONFIGURE_HOST) \
				  --prefix=/usr \
				  --exec-prefix=/usr/$(CROSS_TOOL)
	touch $@

build: configure $(build_stamp)

$(build_stamp): stamp-dir
	dh_testdir
	# Add here commands to compile the package.
	$(MAKE) all
	touch $@

clean:
	dh_testdir
	dh_testroot
	# Add here commands to clean up after the build process.
	-if [ -f Makefile ]; then $(MAKE) clean; fi
	-rm -rf Makefile bfd binutils binutils.spec config.cache \
	        config.status etc gas h8300-hitachi-hms intl ld libiberty \
		opcodes src stamps texinfo
	if [ -f src/config.sub.orig ]; then mv src/config.sub.orig src/config.sub; fi
	if [ -f src/config.guess.orig ]; then mv src/config.guess.orig src/config.guess; fi
	dh_clean

install: DH_OPTIONS=
install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Add here commands to install the package into debian/tmp.
	$(MAKE) prefix=$(BIN_ROOT)/usr \
	  mandir=$(BIN_ROOT)/usr/share/man \
	  infodir=$(BIN_ROOT)/usr/share/info \
	  exec_prefix=$(BIN_ROOT)/usr/$(CROSS_TOOL) install

	#dh_movefiles --sourcedir=debian/$(BIN_PKGNM)

	# We don't need to distribute everything in binutils
	rm -rf $(BIN_ROOT)/usr/include/obstack.h
	rm -f $(BIN_ROOT)/usr/man/man1/configure.1
	rm -f $(BIN_ROOT)/usr/share/info/{cfg-paper,configure,standards}.*

#	rm -f $(BIN_ROOT)/usr/h8300-hitachi-hms/lib/libiberty.a
#	rm -f $(BIN_ROOT)/usr/h8300-hitachi-hms/lib/libbfd.la
#	rm -f $(BIN_ROOT)/usr/h8300-hitachi-hms/lib/libbfd.a
#	rm -f $(BIN_ROOT)/usr/h8300-hitachi-hms/lib/libopcodes.la
#	rm -f $(BIN_ROOT)/usr/h8300-hitachi-hms/lib/libopcodes.a

	rm -f $(BIN_ROOT)/usr/include/bfd.h
	rm -f $(BIN_ROOT)/usr/include/ansidecl.h
	rm -f $(BIN_ROOT)/usr/include/bfdlink.h
	rmdir $(BIN_ROOT)/usr/include
	if [ -d $(BIN_ROOT)/usr/share/info ]; then rmdir $(BIN_ROOT)/usr/share/info; fi
	#  we've two collisions with gcc so remove them from here...
	rm -f $(BIN_ROOT)/usr/h8300-hitachi-hms/lib/libiberty.a
	rm -f $(BIN_ROOT)/usr/h8300-hitachi-hms/bin/h8300-hitachi-hms-c++filt

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

# Build architecture-dependent files here.
# Pass -a to all debhelper commands in this target to reduce clutter.
binary-arch: build install
	# Need this version of debhelper for DH_OPTIONS to work.
	dh_testdir
	dh_testroot
#	dh_installdebconf
	# install docs
# call dh_installdocs for all arch packages, such that the debhelper
# postinst and prerm files are generated.
	dh_installdocs -a src/binutils/{NEWS,ChangeLog.linux}

	dh_installchangelogs -p$(BIN_PKGNM)

	cp src/binutils/ChangeLog $(BIN_ROOT)/usr/share/doc/$(BIN_PKGNM)/.

	cp src/bfd/{ChangeLog,ChangeLog.linux,PORTING,TODO} \
		$(BIN_ROOT)/usr/share/doc/$(BIN_PKGNM)/bfd/.
	cp src/gas/{ChangeLog,ChangeLog.linux,NEWS} \
		$(BIN_ROOT)/usr/share/doc/$(BIN_PKGNM)/gas/.
	cp src/ld/{ChangeLog,TODO,ChangeLog.linux,NEWS} \
		$(BIN_ROOT)/usr/share/doc/$(BIN_PKGNM)/ld/.

	mv $(BIN_ROOT)/usr/share/doc/binutils-h8300-hms/bfd/ChangeLog.linux \
	   $(BIN_ROOT)/usr/share/doc/binutils-h8300-hms/bfd/changelog
	rm -f $(BIN_ROOT)/usr/share/doc/binutils-h8300-hms/bfd/ChangeLog.gz
	mv $(BIN_ROOT)/usr/share/doc/binutils-h8300-hms/gas/ChangeLog.linux \
	   $(BIN_ROOT)/usr/share/doc/binutils-h8300-hms/gas/changelog
	rm -f $(BIN_ROOT)/usr/share/doc/binutils-h8300-hms/gas/ChangeLog.gz
	mv $(BIN_ROOT)/usr/share/doc/binutils-h8300-hms/ld/ChangeLog.linux \
	   $(BIN_ROOT)/usr/share/doc/binutils-h8300-hms/ld/changelog
	rm -f $(BIN_ROOT)/usr/share/doc/binutils-h8300-hms/ld/ChangeLog.gz
	mv $(BIN_ROOT)/usr/share/doc/binutils-h8300-hms/ChangeLog.linux \
	   $(BIN_ROOT)/usr/share/doc/binutils-h8300-hms/changelog
	rm -f $(BIN_ROOT)/usr/share/doc/binutils-h8300-hms/ChangeLog.gz

#	dh_installexamples
#	dh_installmenu
#	dh_installemacsen
#	dh_installpam
#	dh_installinit
#	dh_installcron
#	dh_instmallmanpages
#	dh_installinfo
#	dh_undocumented
	dh_installchangelogs 
	dh_strip
	dh_link
	dh_compress -a
	dh_fixperms
	# You may want to make some executables suid here.
	dh_suidregister
	dh_installdeb
#	dh_makeshlibs
#	dh_perl
	dh_shlibdeps -a -ldebian/binutils-h8300-hms/usr/lib
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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