# Change to where you want the moo installed.
BINDIR=/usr/local/bin
LIBDIR=/usr/local/lib/perlmoo
VARDIR=/var/lib/perlmoo
ETCDIR=/usr/local/etc/
MANDIR=/usr/local/man/man1

all: db/db.pl Version.pm

install: all
	install -d $(PREFIX)/$(BINDIR) $(PREFIX)/$(VARDIR) \
		$(PREFIX)/$(LIBDIR) $(PREFIX)/$(ETCDIR) $(PREFIX)/$(MANDIR)
	install perlmoo perlmoo-* $(PREFIX)/$(BINDIR)/
	install -m 0644 db/db.pl $(PREFIX)/$(VARDIR)
	install -m 0644 *.pl *.pm $(PREFIX)/$(LIBDIR)
	install -m 0644 *.1 $(PREFIX)/$(MANDIR)
	ln -s perlmoo.1 $(PREFIX)/$(MANDIR)/perlmoo-dbconvert.1
	ln -s perlmoo.1 $(PREFIX)/$(MANDIR)/perlmoo-test.1
	ln -s perlmoo.1 $(PREFIX)/$(MANDIR)/perlmoo-wizpasswd.1
	ln -s perlmoo.1 $(PREFIX)/$(MANDIR)/perlmoo-initdb.1
	sed -e 's!dbdir=.*!dbdir="$(VARDIR)";!' \
		-e 's!sourcedir=.*!sourcedir="$(LIBDIR)";!' \
		< perlmoo.conf > $(PREFIX)/$(ETCDIR)/perlmoo.conf

db/db.pl: basedb.pl perlmoo-initdb perlmoo-initdb *.pm Version.pm
	-mkdir db
	./perlmoo-initdb

clean:
	rm -f db/db.pl db/db-postmortem.pl
	-rmdir db

realclean:
	rm -f db/* Version.pm
	-rmdir db

convert:
	./perlmoo-dbconvert
	cp db/db.pl db/db.pl.old
	mv db/db.pl.new db/db.pl

test: db/db.pl
	./perlmoo-test

# Create the version module.
VERSION=$(shell perl -e '$$_=<>;print m/\((.*?)\)/'<debian/changelog)
Version.pm:
	echo -e "package Version;\n\$$version='$(VERSION)';" > Version.pm

# Install in the proper location on my ftp server and web server. Not intended
# for use by anyone except the author.
OLD_VER=$(shell perl -e '<>;<>;while(<>){last if /^ --/};<>;$$_=<>;print m/\((.*?)\)/'<debian/changelog)
dist:
	dpkg-buildpackage -rfakeroot -tc
	if [ `hostname` = 'kite' ] ; then \
		cp ../perlmoo_$(VERSION).tar.gz ../../public; \
		rm /home/ftp/pub/code/perlmoo/* || true; \
		cp README* TODO BUGS FAQ WISHLIST CHANGES /home/pub/programs/perlmoo/; \
		echo $(VERSION) > /home/pub/programs/perlmoo/LATEST-VERSION-IS; \
		cd ..; rm -rf perlmoo-$(OLD_VER); \
		[ -f ../public/perlmoo_$(OLD_VER).tar.gz ] && \
		tar zxf ../public/perlmoo_$(OLD_VER).tar.gz || \
		tar zxf ../outdated/perlmoo_$(OLD_VER).tar.gz; \
		diff -r -u --new-file perlmoo-$(OLD_VER) perlmoo-$(VERSION) \
			--exclude CHANGES --exclude db.pl\* > \
			/home/ftp/pub/code/perlmoo/diffs/perlmoo-$(VERSION).diff; \
		gzip -9f /home/ftp/pub/code/perlmoo/diffs/perlmoo-$(VERSION).diff; \
		cd /home/ftp/pub/code/perlmoo; \
		ln -sf ../debian/perlmoo_$(VERSION).tar.gz perlmoo_$(VERSION).tar.gz; \
                ln -sf ../debian/perlmoo_$(VERSION).tar.gz perlmoo.tar.gz ; \
	fi

.PHONY: test dist convert
