#!/usr/bin/make -f

#export DH_VERBOSE=1

# the path should be changed in proofgeneral.postinst/prerm and proofgeneral.sh too
PREFIX=share/emacs/site-lisp/proofgeneral


build-stamp:
	dh_testdir
#	make scripts
	(cd minlog; make ffi)
#	cd doc; make

build: build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp
	dh_clean
	rm -f debian/*~ debian/#*#
	rm -f minlog/*.o minlog/*.so

icon:
	cp images/pgmini.xpm debian/proofgeneral.xpm
	mogrify -format xpm -geometry 32x32 -map /usr/share/pixmaps/cmap.xpm debian/proofgeneral.xpm

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	################################
	# proofgeneral
	################################
	# directories
	mkdir -p debian/proofgeneral/usr/$(PREFIX) \
	  debian/proofgeneral/usr/bin debian/proofgeneral/usr/share/man/man1 \
	  debian/proofgeneral/usr/share/info debian/proofgeneral/etc/emacs/site-start.d

	# copy files
	cp -pr images generic lib debian/proofgeneral/usr/$(PREFIX)
	rm debian/proofgeneral/usr/$(PREFIX)/images/gimp/.cvsignore
	rmdir debian/proofgeneral/usr/$(PREFIX)/images/gimp
#	( cd debian/proofgeneral/usr/$(PREFIX)/images; \
#	  for i in *.xpm; do \
#	    ln -s $$i proofgeneral-$$i; \
#	  done \
#	)
	cp bin/proofgeneral debian/proofgeneral/usr/bin/proofgeneral

	# fix paths
	cp bin/proofgeneral debian/proofgeneral/usr/bin/proofgeneral
	chmod +x debian/proofgeneral/usr/bin/proofgeneral

	# manual page
	gzip -9 -c debian/proofgeneral.1 > debian/proofgeneral/usr/share/man/man1/proofgeneral.1.gz	

	# readme
	( cd debian/proofgeneral/usr/$(PREFIX)/; \
	  for f in */README; do \
	    echo $$f; mv $$f $$f.`dirname $$f`; \
	  done )

	# info files
	# Note: symlinks because Proof General uses the original name, which is not in sync
	# 	with the package name, to show its help.
	( cd doc; \
	  for from in *.info*; do \
	    to=`echo $$from | sed "s/ProofGeneral/proofgeneral/" | sed "s/PG/proofgeneral/"`; \
	    cp $$from ../debian/proofgeneral/usr/share/info; \
	    ln -s $$from ../debian/proofgeneral/usr/share/info/$$to; \
	  done \
	)

	# icon
	mkdir -p debian/proofgeneral/usr/share/pixmaps
	cp debian/proofgeneral.xpm debian/proofgeneral/usr/share/pixmaps/

	################################
	# proofgeneral-coq
	################################
	# directories
	mkdir -p debian/proofgeneral-coq/usr/$(PREFIX) \
	  debian/proofgeneral-coq/usr/bin debian/proofgeneral-coq/usr/share/man/man1

	# copy files
	cp -pr coq debian/proofgeneral-coq/usr/$(PREFIX)

	# binaries
	mv debian/proofgeneral-coq/usr/$(PREFIX)/coq/coqtags \
	  debian/proofgeneral-coq/usr/bin
	chmod a+x debian/proofgeneral-coq/usr/bin/*

	# manual pages
	gzip -9 -c debian/coqtags.1 > debian/proofgeneral-coq/usr/share/man/man1/coqtags.1.gz

	################################
	# proofgeneral-minlog
	################################
	# directories
	mkdir -p debian/proofgeneral-minlog/usr/$(PREFIX)/minlog

	# copy files
	cp -p minlog/*.el minlog/mzfork.scm debian/proofgeneral-minlog/usr/$(PREFIX)/minlog/
	rm -rf debian/proofgeneral-minlog/usr/$(PREFIX)/minlog/CVS

	################################
	# proofgeneral-misc
	################################
	# directories
	mkdir -p debian/proofgeneral-misc/usr/$(PREFIX) \
	  debian/proofgeneral-misc/usr/bin debian/proofgeneral-misc/usr/share/man/man1

	# copy files
	cp -pr phox acl2 twelf lego isa hol98 isar lclam ccc pgshell \
	  debian/proofgeneral-misc/usr/$(PREFIX)

	# binaries
	mv debian/proofgeneral-misc/usr/$(PREFIX)/lego/legotags \
	  debian/proofgeneral-misc/usr/bin
	mv debian/proofgeneral-misc/usr/$(PREFIX)/isar/isartags \
	  debian/proofgeneral-misc/usr/bin
	chmod a+x debian/proofgeneral-misc/usr/bin/*

	# manual pages
	gzip -9 -c debian/legotags.1 > debian/proofgeneral-misc/usr/share/man/man1/legotags.1.gz
	gzip -9 -c debian/isartags.1 > debian/proofgeneral-misc/usr/share/man/man1/isartags.1.gz

	# readmes
	( cd debian/proofgeneral-misc/usr/$(PREFIX)/; for f in */README */BUGS; do echo $$f; mv $$f $$f.`dirname $$f`; done )	

	# remove garbage
	( cd debian; find . -name "*.elc" -exec rm {} \; )
	find debian/proofgeneral* -name "CVS" -type d -exec rm -rf {} \; || true	

	dh_install

binary-indep: build install
	dh_testdir -i
	dh_testroot -i
	dh_installdebconf -i
	dh_installdocs -i
	dh_installexamples -i
	dh_installmenu -i
#	dh_installlogrotate -i
#	dh_installemacsen -i --flavor=emacs21
#	dh_installemacsen -i --flavor=xemacs21
#	dh_installpam -i
#	dh_installmime -i
#	dh_installinit -i
#	dh_installcron -i
#	dh_installman -i
#	dh_installinfo -i
#	dh_undocumented -i
	dh_installchangelogs -i CHANGES
	dh_link -i
#	dh_strip -i
	dh_compress -i
	dh_fixperms -i
#	dh_makeshlibs -i
	dh_installdeb -i
#	dh_perl -i
#	dh_shlibdeps -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

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