#
# @(#)Docs.gmk	1.5 99/03/06
#
# Makefile Rule for generating javadocs
#
# Depends on JDK 1.2beta4 or later javadoc.
#

TITLE = 'JavaBeans Activation Framework 1.0 API documentation'
JAVADOC_OPTS = -use -splitIndex -windowtitle $(TITLE) -doctitle $(TITLE)

docs:
	if [ ! -s $(DOCDIR) ]; then \
		mkdir -p $(DOCDIR); \
	fi
	if [ ! -s $(DOCDIR)/images ]; then \
		echo Warning: No Images directory in $(DOCDIR); \
		if [ -s $(DOCDIR)/../misc/images ]; then \
			mkdir $(DOCDIR)/images; \
			cp $(DOCDIR)/../misc/images/*.gif $(DOCDIR)/images; \
		fi; \
	fi
	rm -f $(DOCDIR)/*.html
	$(JAVADOC) $(JAVADOC_OPTS) -d $(DOCDIR) -sourcepath $(SRCPATH) \
		$(DOCPACKAGES)
