#!/usr/bin/make -f
# 2003-11-12 Lars Bahner <bahner@debian.org>
# debian/rules for rscheme (Ralf Treinen <treinen@debian.org>)

#export DH_VERBOSE=1

include /usr/share/dpatch/dpatch.make

PWD               := $(shell pwd)
TMP_ROOT 	  := $(PWD)/debian/tmproot
INSTALL_ENV       := INSTALL_DIR=${TMP_ROOT} RS_INSTALL_DIR=${TMP_ROOT} RS_MODULE_PATH=${TMP_ROOT}
FINAL_INSTALL_DIR := /usr/lib/rscheme
FINAL_MOD_DIR     := ${FINAL_INSTALL_DIR}/resource/modules
TMP_MOD_DIR       := ${TMP_ROOT}/resource/modules

build: build-stamp 
build-stamp: patch-stamp
	dh_testdir
	$(MAKE) stage1
	(cd src && ./configure\
		--enable-full-numeric-tower\
		--prefix=${FINAL_INSTALL_DIR})
	install -d ${TMP_ROOT}
	(cd src && ${MAKE}\
		LD_LIBRARY_PATH=${TMP_ROOT}/lib/:${LD_LIBRARY_PATH}\
		${INSTALL_ENV} all)
	(cd src && ${MAKE} ${INSTALL_ENV} rsc)
	(cd packages/lss/timebase && autoconf)
	(cd src && ${MAKE} ${INSTALL_ENV} packages)
	(cd src && ${MAKE} ${INSTALL_ENV} PACKAGE=x11 package)
	(if [ "$(DEB_BUILD_ARCH)" != "m68k" ]; then \
		cd src && ${MAKE} ${INSTALL_ENV} fasl_shell; \
	 fi)
	-(cd doc && ${MAKE} book1.htm)
	touch build-stamp

clean: unpatch
	dh_testdir
	dh_testroot
	rm -f build-stamp
	-$(MAKE) distclean
	-(cd doc; $(MAKE) clean)
	find packages \( -name "*.o" -o -name "*.a" \
	 	-o -name "config.log" -o -name "config.status" \
		-o -name "config.cache" \)\
		-exec rm "{}" \;
	-rm stage0/install/lib/librs.a
	find . -name autom4te.cache -exec rm -r "{}" \; -prune
	-rm packages/lss/Makefile packages/lss/config.h \
		packages/lss/timebase/Makefile packages/lss/timebase/config.h \
		packages/lss/timebase/configure \
		packages/lss/configure \
		packages/rstore/Makefile packages/rstore/config.h \
		packages/rstore/configure \
		packages/rstore/old_model/Makefile \
		packages/rstore/lru_model/Makefile \
		packages/lss/glue.scm
	# temporary hack - these should be fixed by upstream !
	-rm .handc.list packages/rstore/pstore1.c packages/lss/ziplist.ci
	rm -rf ${TMP_ROOT}
	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# move everything in place
	cp -r ${TMP_ROOT}/include/* debian/rscheme/usr/include
	cp ${TMP_ROOT}/bin/rs debian/rscheme/usr/bin
	cp ${TMP_ROOT}/bin/rsc debian/rscheme/usr/bin
	-cp ${TMP_ROOT}/bin/fshell debian/rscheme/usr/bin
	cp -r ${TMP_ROOT}/lib debian/rscheme/usr/lib/rscheme
	cp -r ${TMP_ROOT}/resource debian/rscheme/usr/lib/rscheme

	# modify the references to the rscheme directory
	sed \
		-e "s|${TMP_ROOT}/bin/|/usr/bin/|" \
		-e "s|${TMP_ROOT}/resource/|${FINAL_INSTALL_DIR}/resource/|" \
		< debian/rscheme/usr/bin/rsc > debian/rscheme/usr/bin/rsc.tmp
	mv debian/rscheme/usr/bin/rsc.tmp debian/rscheme/usr/bin/rsc
	chmod 755 debian/rscheme/usr/bin/rsc

	# doc
	cp doc/*.html debian/rscheme/usr/share/doc/rscheme/html

binary-indep: build install

binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installdocs
	dh_installman debian/rs.1 debian/rsc.1 debian/fshell.1
	cp -r debian/module-example debian/rscheme/usr/share/doc/rscheme
	dh_installchangelogs
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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