# $Id: Makefile,v 1.3 1999/12/20 16:10:33 asv Exp asv $

##############################################################################
# Variable definitions
##############################################################################
OBJDIR := ../obj
BINDIR := ../bin
DOCDIR := ../doc/javadoc
JARFILE := $(BINDIR)/objpool.jar

# APIURL := http://java.sun.com/products/jdk/1.2/docs/api
APIURL := http://davis.tecgraf.puc-rio.br/jdk12/api

JAVA := java
JAR := jar
JAVAC := \
	javac -O -deprecation -Xdepend -Xstdout -d $(OBJDIR) -sourcepath . -target 1.2
JAVADOC := \
	javadoc -use -author -version -doctitle 'Allocated Object Pool' \
	-windowtitle 'Allocated Object Pool' -d $(DOCDIR)

# Source files.
SRC := \
	tecgraf/objpool/NoClassManagerException.java \
	tecgraf/objpool/ObjectPool.java \
	tecgraf/objpool/ClassManager.java \
	tecgraf/objpool/ReflectionClassManager.java


##############################################################################
# Rules
##############################################################################
.PHONY: all clean realclean docs fulldocs 

all: 		$(JARFILE)

docs:		$(DOCDIR) $(SRC)
	$(JAVADOC) tecgraf/objpool/*.java

fulldocs:	$(DOCDIR) $(SRC)
	$(JAVADOC) -link $(APIURL) tecgraf/objpool/*.java

clean:
	rm $(JARFILE)

realclean:	clean
	rm -rf $(OBJDIR)
	rm -rf $(DOCDIR)
	rcsclean -u *

$(JARFILE):	$(BINDIR) $(OBJDIR) $(SRC)
	$(JAVAC) tecgraf/objpool/*.java
	$(JAR) -cf $(JARFILE) -C $(OBJDIR) .

$(OBJDIR):
	mkdir -p $(OBJDIR)

$(BINDIR):
	mkdir -p $(BINDIR)

$(DOCDIR):
	mkdir -p $(DOCDIR)

