# Makefile for handling the set of W3C modules
# $Id: Makefile,v 1.12 2005/09/28 03:28:25 eric Exp $

#PREFIX = /usr/local/perlTest
#LIB = $(PREFIX)/share/perl/5.8.3
#PERL5LIB = $(LIB)
#LIBENV = PERL5LIB=$(LIB)

# Example of installing in a cusom location:
#   install directory: /home/iggy/module-inst
#   perl version: v5.6.1 built for i386-linux
# iggy:/home/iggy$ mkdir alpha
# iggy:/home/iggy$ cd alpha/
# iggy:/home/iggy/alpha$ tar xzf ../Annotea-2.tar.gz 
# iggy:/home/iggy/alpha$ cd Annotea/
# iggy:/home/iggy/alpha/Annotea$ PERL5LIB=/home/iggy/module-inst/local/share/perl/5.6.1 PREFIX=/home/iggy/module-inst make install


# Example of building a distribution:
# cd /tmp/
# cvs -d eric@homer.w3.org:/sources/public co perl/modules
# cd perl/modules/W3C/
# PERL5LIB=/tmp/perl/modules/W3C/Util/blib/lib:/tmp/perl/modules/W3C/Database/blib/lib make distAnnotea

ANNOTEA_TARBALLS= W3C-Util-Kit-1.tar.gz \
         W3C-Database-Kit-1.tar.gz \
         W3C-Http-Kit-1.tar.gz \
         W3C-XML-Kit-1.tar.gz \
         W3C-Rdf-Kit-1.tar.gz \
         W3C-Annotations-Kit-1.tar.gz

ANNOTEA_MODULES = $(patsubst W3C-%-Kit-1.tar.gz,%,$(ANNOTEA_TARBALLS))

FEDERATE_TARBALLS= W3C-Util-Kit-1.tar.gz \
         W3C-Database-Kit-1.tar.gz \
         W3C-XML-Kit-1.tar.gz \
         W3C-Rdf-Kit-1.tar.gz

FEDERATE_MODULES = $(patsubst W3C-%-Kit-1.tar.gz,%,$(FEDERATE_TARBALLS))


$(ANNOTEA_TARBALLS): W3C-%-Kit-1.tar.gz: %
	echo $@ $<
	(cd $< && \
	$(LIBENV) perl Makefile.PL PREFIX=$(PREFIX) && \
	$(LIBENV) make && \
	$(LIBENV) make dist && \
	mkdir -p ../dist && \
	mv $@ ../dist)

#	$(LIBENV) make test && \
#	$(LIBENV) make install && \
#	$(LIBENV) make realclean && \

$(ANNOTEA_MODULES): %: W3C-%-Kit-1.tar.gz
	tar xzf W3C-$*-Kit-1.tar.gz
	(cd W3C-$@-Kit-1 && \
	$(LIBENV) perl Makefile.PL PREFIX=$(PREFIX) && \
	$(LIBENV) make && \
	$(LIBENV) make test && \
	$(LIBENV) make install)

distAnnotea: distFlag $(ANNOTEA_TARBALLS) dist/README noDistFlag
	mv dist Annotea
	echo "This README describes the Annotea package:" > Annotea/README
	cat README >> Annotea/README
	cp Makefile Annotea
	echo -e "install: instAnnotea\\n" >> Annotea/Makefile
	tar czf Annotea-2.tar.gz Annotea
	rm Annotea/Makefile
	mv Annotea dist

distFederate: distFlag $(FEDERATE_TARBALLS) dist/README noDistFlag
	mv dist Federate
	echo "This README describes the Federate package:" > Federate/README
	cat README >> Federate/README
	cp Makefile Federate
	echo -e "install: instFederate\\n" >> Federate/Makefile
	tar czf Federate-1.tar.gz Federate
	rm Federate/Makefile
	mv Federate dist

distFlag:
	touch MAKEDIST

noDistFlag:
	rm -f MAKEDIST

dist/README: README
	cp README dist

installAnnotea: $(ANNOTEA_MODULES)

installFederate: $(FEDERATE_MODULES)

instAnnotea: installAnnotea

instFederate: installFederate

realclean:
	rm -f $(ANNOTEA_TARBALLS)
	rm -f Annotea-2.tar.gz Federate-1.tar.gz
	for i in Util Database Http XML Rdf Annotations; do (cd $$i && $(MAKE) realclean); done

