#!/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=3
ARCHT:=$(shell dpkg --print-architecture)

MCC:=gcc
ifeq ($(ARCHT),arm)
MCC:=gcc-3.2
endif
ifeq ($(ARCHT),hppa)
MCC:=gcc-3.2
endif
ifeq ($(ARCHT),ia64)
MCC:=gcc-3.2
endif

#RELOC=locbfd
RELOC=statsysbfd
ifeq ($(ARCHT),alpha)
RELOC=dlopen
endif
ifeq ($(ARCHT),mips)
RELOC=dlopen
endif
ifeq ($(ARCHT),mipsel)
RELOC=dlopen
endif
ifeq ($(ARCHT),ia64)
RELOC=dlopen
endif
ifeq ($(ARCHT),hppa)
RELOC=dlopen
endif

GMP=--enable-dynsysgmp

DEBUG=
ifeq ($(ARCHT),hppa)
DEBUG=--enable-debug
endif

VERS=$(shell echo $$(cat majvers).$$(cat minvers))

configure-%-stamp:

	dh_testdir

	if [ /usr/share/misc/config.guess -nt config.guess ] ; then \
		cp /usr/share/misc/config.guess .;\
		cp /usr/share/misc/config.guess binutils;\
		cp /usr/share/misc/config.guess gmp;\
		cp /usr/share/misc/config.guess gmp3/configfsf.guess;\
	fi
	if [ /usr/share/misc/config.sub -nt config.sub ] ; then \
		cp /usr/share/misc/config.sub .;\
		cp /usr/share/misc/config.sub binutils;\
		cp /usr/share/misc/config.sub gmp;\
		cp /usr/share/misc/config.sub gmp3/configfsf.sub;\
	fi
	if [ configure.in -nt configure ]; then autoconf; fi

	chmod -R +x gmp3/*

	[ "$(ARCHT)" != "i386" ] || ( cd gmp3 && CC=$(MCC) ./configure --build=i486-unknown-linux-gnu )

	[ "$*" != "ansi" ] || ANSI="--enable-ansi" ; \
	CC=$(MCC) ./configure \
		--disable-statsysbfd \
		--enable-$(RELOC) \
		$(GMP) \
		$(DEBUG) \
		$$ANSI \
		--prefix=/usr \
		--mandir=\$${prefix}/share/man \
		--enable-infodir=\$${prefix}/share/info

#	[ "$(ARCHT)" != "ia64" ] || ( cd o && $(MCC) -c -Wall -DVOL=volatile -I. -fsigned-char -fwritable-strings -pipe -O -fomit-frame-pointer -I../h -I../gcl-tk num_log.c  )

	touch $@


build-%-stamp: configure-%-stamp
	dh_testdir

	$(MAKE)

	rm -rf debian/$*
	mkdir -p debian/$*
	$(MAKE) install DESTDIR=$$(pwd)/debian/$*

	mkdir -p debian/$*/usr/share/emacs/site-lisp
	cp -a $$(find debian/$*/usr/local -name site-lisp -type d) \
		debian/$*/usr/share/emacs/site-lisp/gcl
	rm -rf debian/$*/usr/local

	cat debian/$*/usr/lib/gcl-$(VERS)/gcl-tk/demos/index.lsp | \
		sed "s,$$(pwd)/debian/$*,,1" >debian/foo
	mv debian/foo debian/$*/usr/lib/gcl-$(VERS)/gcl-tk/demos/index.lsp

	rm -f debian/$*/usr/bin/*.exe debian/$*/usr/bin/*.bat

	mkdir -p debian/$*/usr/include && \
		cd debian/$*/usr/include && \
		ln -snf $$(find ../lib -name "cmpinclude.h" ) .

	find debian/$* -type f -name "*.lsp" -exec chmod -x {} \;
	find debian/$* -type f -name "*.lisp" -exec chmod -x {} \;
	find debian/$* -type f -name "*.el" -exec chmod -x {} \;
	find debian/$* -type f -name "*.tcl" -exec chmod -x {} \;

	touch $@

bclean-stamp:
	-$(MAKE) clean
	touch $@

ansi-tests/test_results: build-ansi-stamp
	$(MAKE) $@

build: build-stamp
build-stamp: build-trad-stamp bclean-stamp build-ansi-stamp ansi-tests/test_results
	touch $@

clean:
	dh_testdir
	dh_testroot
	rm -f *stamp

	-$(MAKE) clean

	dh_clean
	rm -rf debian/trad debian/ansi


BVER:=$(shell dpkg -s binutils |grep ^Version: | cut -f2 -d\  | cut -f1 -d\-)
debian/substvars:
	grep -q ^binutils: $@ 2>/dev/null || echo "binutils:Version=$(BVER)" >> $@

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

	mkdir -p debian/tmp
	cp -a debian/trad/* debian/tmp/
	cp -a debian/ansi/* debian/tmp/

	cat debian/gcl.sh | sed "s,gcl/,/usr/lib/gcl-$(VERS)/,g" >debian/tmp/usr/bin/gcl
	chmod 0755 debian/tmp/usr/bin/gcl

	dh_install

	touch $@

# Build architecture-independent files here.
# Pass -i to all debhelper commands in this target to reduce clutter.
binary-indep: build install
	dh_testdir -i
	dh_testroot -i
	dh_installdocs -i
	dh_installinfo -i
	dh_installchangelogs ChangeLog -i
	dh_link -i
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary-arch: build install debian/substvars
	dh_testdir -a
	dh_testroot -a
	dh_installdocs -a
	dh_installemacsen -a
	dh_installmanpages -a gcl/gmp3/ansi2knr.1
	dh_installchangelogs ChangeLog -a
	dh_strip -a -Xlibgcl -Xlibansi_gcl
	dh_link -a
	dh_compress -a
	dh_fixperms -a
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a -u"-Vgcc=$(MCC)"
	dh_md5sums -a
	dh_builddeb -a

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