#!/usr/bin/make -f

v = 8.4

build: build-stamp
build-stamp:
	dh_testdir

# so so ugly but it works...
	touch generic/tclStubInit.c
	cd unix && \
	./configure --prefix=/usr --includedir=/usr/include/tcl$(v) \
	    --enable-shared --enable-threads --enable-64bit \
	    --mandir=/usr/share/man --enable-man-symlinks \
	    --enable-man-compression=gzip \
	    && touch ../generic/tclStubInit.c && \
	    $(MAKE) CFLAGS="-g -O2 -D_REENTRANT"
# Build the static library.
	cd unix && \
	  ar cr libtcl$(v).a *.o && \
	  ar d libtcl$(v).a tclAppInit.o && \
	  ranlib libtcl$(v).a

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp install-stamp

	-cd unix && $(MAKE) clean
	-cd unix && $(MAKE) distclean

	dh_clean tests/pkg/pkga.so unix/config.log unix/Tcltest.so

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

	cd unix && \
	  GZIP=-9 \
	  make INSTALL_ROOT=`pwd`/../debian/tmp \
	    MAN_INSTALL_DIR=`pwd`/../debian/tmp/usr/share/man \
	    MANN_INSTALL_DIR=`pwd`/../debian/tmp/usr/share/man/man3 install
# Fix up the libraries.
	cp unix/libtcl$(v).a debian/tmp/usr/lib
	mv debian/tmp/usr/lib/libtcl$(v).so debian/tmp/usr/lib/libtcl$(v).so.0
	ln -sf libtcl$(v).so.0 debian/tmp/usr/lib/libtcl$(v).so
	mv debian/tmp/usr/lib/*.sh debian/tmp/usr/lib/tcl$(v)
	cp unix/tcl.m4 debian/tmp/usr/lib/tcl$(v)/tcl.m4
	chmod 755 debian/tmp/usr/lib/tcl$(v)/ldAix
# Fix up the include files.
	install -d debian/tmp/usr/include/tcl$(v)/tcl-private/generic
	cp generic/*.h debian/tmp/usr/include/tcl$(v)/tcl-private/generic
	install -d debian/tmp/usr/include/tcl$(v)/tcl-private/unix
	cp unix/*.h debian/tmp/usr/include/tcl$(v)/tcl-private/unix
# Fix up the manpages.
	cd debian/tmp/usr/share/man/man1 && \
	  mv tclsh.1.gz tclsh$(v).1.gz
	cd debian/tmp/usr/share/man/man3 && \
	  for f in *.[3n].gz ; do \
	     f2=$$(echo $$f | sed -e 's/\.[3n]/.3tcl/') ; \
	     if [ -L $$f ]; then \
	        l=$$(readlink -n $$f |sed -e 's/\.[3n]/.3tcl/') ; \
	        rm $$f ; \
	        ln -sf $$l $$f2 ; \
	     else \
	        mv $$f $$f2 ; \
	     fi ; \
	  done

	touch install-stamp

# Build architecture-independent files here.
binary-indep: build install
	dh_testdir -i
	dh_testroot -i
	dh_movefiles -i
	dh_installdocs -i
	dh_installchangelogs -i ChangeLog
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir -a
	dh_testroot -a
	dh_movefiles -a
# now, fix up file locations for .sh and .m4
	mv debian/tcl$(v)/usr/lib/tcl$(v)/*.sh \
		debian/tcl$(v)/usr/lib/tcl$(v)/*.m4 \
		debian/tcl$(v)-dev/usr/lib/tcl$(v)

	dh_installdocs -a
	dh_installmenu -a
	dh_installchangelogs -a ChangeLog
	dh_fixperms -a
	dh_strip -a
	dh_compress -a
	dh_makeshlibs -a -V 'tcl$(v) (>= 8.4.5)' -XTcltest
	dh_installdeb -a
	dh_shlibdeps -a -ldebian/tcl$(v)/usr/lib
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

source diff:
	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false

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