# JAVA_HOME must be set to the JDK installation directory (for example,
# /usr/local/jdk1.3).

# Use the following target to compile the CHARVA package and build a 
# JAR file in the lib directory.
all :
	${JAVA_HOME}/bin/javac -d ../classes \
charva/awt/*.java \
charva/awt/event/*.java \
charva/awt/util/*.java \
charvax/swing/*.java \
charvax/swing/table/*.java \
charvax/swing/text/*.java \
charvax/swing/tree/*.java \
charvax/swing/border/*.java
	cd ../classes; ${JAVA_HOME}/bin/jar cf ../lib/charva.jar charva charvax
	rm -rf ../classes/charva*

# Use this target to generate documentation in the doc directory.
# Note: the "-breakiterator" option is in JDK1.4; remove it if you are
# using an earlier version.

docs :
	rm -rf ../doc/*
	${JAVA_HOME}/bin/javadoc -breakiterator -overview overview.html \
	-doctitle "CHARVA API Specification" \
	-windowtitle "charva API Documentation" \
-d ../doc \
charva.awt \
charva.awt.event \
charva.awt.util \
charvax.swing \
charvax.swing.table \
charvax.swing.border \
charvax.swing.event \
charvax.swing.text \
charvax.swing.tree \
charvax.swing.filechooser

# Use this target after compiling the Toolkit class, to generate the
# C header file for the Java Native Interface library.
javah :
	${JAVA_HOME}/bin/javac -d ../classes charva/awt/Toolkit.java
	cd ../classes; ${JAVA_HOME}/bin/javah -d ../../c/src charva.awt.Toolkit

# Use this target to compile the tutorial program (which tests every 
# feature in the framework).
charvatut :
	${JAVA_HOME}/bin/javac -deprecation -d ../classes \
 -classpath .:../lib/charva.jar tutorial/charva/Tutorial.java

# Use this target to compile a Swing GUI program that is identical to the
# above Charva tutorial, except for a few different lines of code.
javatut :
	${JAVA_HOME}/bin/javac -d ../classes tutorial/java/Tutorial.java

# Clean out the compiled classes.
clean :
	rm -rf ../classes/charva ../classes/charvax ../classes/tutorial
