VERSION = 0.4.1
DIR     = pica-$(VERSION)
DISTDIR = dist/$(DIR)
PREFIX  = 
VARDIR  = $(PREFIX)/var/lib/pica
LIBDIR  = $(PREFIX)/usr/lib/pica

all:
	@ echo "Choose between 'make dist' (make a tarball) and 'make install'"

dist: dist/pica-$(VERSION).tar.gz

generatedfiles: objects.pm hosts.pm config.pm doc/pica.1

dist/pica-$(VERSION).tar.gz: $(DISTDIR)/pica $(DISTDIR)/picagroups.pm \
	$(DISTDIR)/objects.yp $(DISTDIR)/hosts.yp $(DISTDIR)/config.yp \
	$(DISTDIR)/objects.pm $(DISTDIR)/hosts.pm $(DISTDIR)/config.pm \
	generatedfiles \
	$(DISTDIR)/user.pm \
	$(DISTDIR)/COPYING $(DISTDIR)/doc/hosts.conf.sample \
	$(DISTDIR)/doc/objects.conf.sample $(DISTDIR)/doc/pica.conf.sample \
	$(DISTDIR)/doc/objects.conf $(DISTDIR)/doc/pica.conf \
	$(DISTDIR)/doc/hosts.conf $(DISTDIR)/doc/Makefile \
	$(DISTDIR)/doc/manual.tex $(DISTDIR)/doc/manual.ps \
	$(DISTDIR)/ChangeLog $(DISTDIR)/INSTALL $(DISTDIR)/AUTHORS \
        $(DISTDIR)/UPGRADING $(DISTDIR)/README $(DISTDIR)/README.dist \
	$(DISTDIR)/README.SSHAuth \
	$(DISTDIR)/Makefile $(DISTDIR)/redhat/pica.spec
	cp -a src $(DISTDIR)
	cp -a include $(DISTDIR)
	find $(DISTDIR) -name CVS -type d | xargs rm -rf
	find $(DISTDIR) -name "*~" | xargs rm -rf
	(cd dist; tar cfz pica-$(VERSION).tar.gz $(DIR))
	rm -rf $(DISTDIR)

%.pm: %.yp
	yapp $<

doc/manual.ps: doc

doc/pica.1: pica
	pod2man pica >doc/pica.1

$(DISTDIR)/%: %
	mkdir -p `dirname $@`
	cp $< $@

clean:
	rm -rf dist
	rm -f *~
	rm -f doc/manual.ps
	rm -rf doc/html

doc:
	(cd doc; make)

installconf:
	cp doc/*.conf* $(PREFIX)/etc/pica

install: generatedfiles
	mkdir -p $(VARDIR)/tmp
	mkdir -p $(LIBDIR)
	mkdir -p $(PREFIX)/etc/pica
	mkdir -p $(PREFIX)/usr/bin
	cp pica $(PREFIX)/usr/bin
	cp -r include config.pm hosts.pm objects.pm picagroups.pm $(LIBDIR)
	cp -r src user.pm $(VARDIR)
	cat README.dist

.PHONY: dist all doc install installconf clean generatedfiles
