# Generated automatically from Makefile.in by configure.
#
# Makefile for javalib directory
# Generated from javalib/Makefile.in
# Daniel Veillard, 1997
#

.SUFFIXES: .o .c .h .java

VPATH= ../../javalib
THOTDIR = ../..

include ../Options

INCLUDES= -DHAVE_CONFIG_H -I../../javalib -I.. -I. -I../../javalib/f \
          -I$(THOTDIR)/amaya -I../amaya -I../include/kaffe \
	  -I$(THOTDIR)/thotlib/include -I$(THOTDIR)/thotlib/internals/var -I$(THOTDIR)/thotlib/internals/h -I$(THOTDIR)/thotlib/internals/f -I$(THOTDIR)/schemas -I$(THOTDIR)/schemasOPERA -I$(THOTDIR)/libjpeg -I$(THOTDIR)/libpng -I$(THOTDIR)/libpng/zlib $(X_FLAGS)

COMPILERS= $(JAVASTUB) ../bin/kaffeh ../bin/kaffe

prefix = /usr/local
exec_prefix = ${prefix}
libdir = ${exec_prefix}/lib

#
# Rule to build objects
#
.c.o :
	$(CC) $(CFLAGS) $(JAVA_OPTIONS) $(INCLUDES) -c $< -o $@

all : dirs libThotJava libAmayaJava

clean :
	$(RM) libThotJava.a libAmayaJava.a
	$(RM) *.o *.c *.h javastub.log

install : all
	@(if test ! -d $(libdir) ; then $(MKDIR) $(libdir) ; fi)
	$(INSTALL_DATA) libThotJava.a $(libdir)
	$(INSTALL_DATA) libAmayaJava.a $(libdir)

uninstall :
	$(RM) -f $(libdir)/libThotJava.a
	$(RM) -f $(libdir)/libAmayaJava.a

include .depends

../tools/mkdep/mkdep : 
	@(cd ../tools/mkdep ; $(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)")

.depends : ../tools/mkdep/mkdep
	../tools/mkdep/mkdep -relative -vpath $(VPATH) $(INCLUDES) $(VPATH)/*.c  > .depends

depend : ../tools/mkdep/mkdep
	../tools/mkdep/mkdep -relative -vpath $(VPATH) $(INCLUDES) *.c $(VPATH)/*.c  > .depends

../bin/kaffe ../bin/kaffeh :
	@(cd .. ; $(MAKE) kaffe)

../amaya/HTML.h :
	@(cd ../amaya ; $(MAKE) HTML.h)

$(THOTDIR)/classes/w3c/thotlib :
	-@(mkdir $(THOTDIR)/classes/w3c)
	-@(mkdir $(THOTDIR)/classes/w3c/thotlib)

$(THOTDIR)/classes/w3c/amaya :
	-@(mkdir $(THOTDIR)/classes/w3c)
	-@(mkdir $(THOTDIR)/classes/w3c/amaya)

dirs : $(THOTDIR)/classes/w3c/thotlib $(THOTDIR)/classes/w3c/amaya

#########################################################################
#									#
#		Optional configuration rules				#
#									#
#########################################################################

#include the fragment "javalib/Makefile.javasrc" if Java sources are available

#
# Makefile for Java libraries sources compilation when the full
# Amaya Java sources are available.
#
# Generated from javalib/Makefile.javasrc
# Daniel Veillard, 1997
#

JAVASTUB= ../bin/javastub
JAVAC	= PATH="`pwd`/../bin:$$PATH" ; export PATH; \
cd $(THOTDIR)/classes ;\
CLASSPATH=".:`pwd`:`pwd`/classes.zip:`pwd`/biss.zip:`pwd`/jigsaw.zip:`pwd`/amaya.zip:`pwd`/thotlib.zip";\
export CLASSPATH; kaffe -mx 64000000 sun.tools.javac.Main
KAFFEH	= CLASSPATH=".:$(THOTDIR)/classes:$(THOTDIR)/classes/classes.zip:$(THOTDIR)/classes/biss.zip:$(THOTDIR)/classes/jigsaw.zip";\
          export CLASSPATH; ../bin/kaffeh

# this rule rebuilds the .class files
# in the classes directory.

classes : 
	cd $(THOTDIR)/classes ; make

# this rule rebuilds jigsaw.zip, amaya.zip and thotlib.zip
# in the classes directory.

zips : classes
	cd $(THOTDIR)/classes ; make zips

#
# Availability of the sources influences the class headers generation.
# In case the source are available, one compiles them before calling kaffeh
#

w3c_thotlib_Action.h : $(THOTDIR)/classes/w3c/thotlib/Action.java $(COMPILERS)
	@echo
	@echo "Compiling Java class Action"
	$(JAVAC) w3c/thotlib/Action.java
	@echo
	@echo "Producing header for class Action"
	$(KAFFEH) w3c.thotlib.Action

w3c_thotlib_IntPtr.h : $(THOTDIR)/classes/w3c/thotlib/IntPtr.java $(COMPILERS)
	@echo
	@echo "Compiling Java class IntPtr"
	$(JAVAC) w3c/thotlib/IntPtr.java
	@echo
	@echo "Producing header for class IntPtr"
	$(KAFFEH) w3c.thotlib.IntPtr

w3c_thotlib_Language.h : $(THOTDIR)/classes/w3c/thotlib/Language.java $(COMPILERS)
	@echo
	@echo "Compiling Java class Language"
	$(JAVAC) w3c/thotlib/Language.java
	@echo
	@echo "Producing header for class Language"
	$(KAFFEH) w3c.thotlib.Language

w3c_thotlib_Extra.h : $(THOTDIR)/classes/w3c/thotlib/Extra.java $(COMPILERS)
	@echo
	@echo "Compiling Java class Extra"
	$(JAVAC) w3c/thotlib/Extra.java
	@echo
	@echo "Producing header for class Extra"
	$(KAFFEH) w3c.thotlib.Extra

w3c_thotlib_PRule.h : $(THOTDIR)/classes/w3c/thotlib/PRule.java $(COMPILERS)
	@echo
	@echo "Compiling Java class PRule"
	$(JAVAC) w3c/thotlib/PRule.java
	@echo
	@echo "Producing header for class PRule"
	$(KAFFEH) w3c.thotlib.PRule

w3c_thotlib_AttributeType.h : $(THOTDIR)/classes/w3c/thotlib/AttributeType.java $(COMPILERS)
	@echo
	@echo "Compiling Java class AttributeType"
	$(JAVAC) w3c/thotlib/AttributeType.java
	@echo
	@echo "Producing header for class AttributeType"
	$(KAFFEH) w3c.thotlib.AttributeType

w3c_thotlib_Attribute.h : $(THOTDIR)/classes/w3c/thotlib/Attribute.java $(COMPILERS)
	@echo
	@echo "Compiling Java class Attribute"
	$(JAVAC) w3c/thotlib/Attribute.java
	@echo
	@echo "Producing header for class Attribute"
	$(KAFFEH) w3c.thotlib.Attribute

w3c_thotlib_ElementType.h : $(THOTDIR)/classes/w3c/thotlib/ElementType.java $(COMPILERS)
	@echo
	@echo "Compiling Java class ElementType"
	$(JAVAC) w3c/thotlib/ElementType.java
	@echo
	@echo "Producing header for class ElementType"
	$(KAFFEH) w3c.thotlib.ElementType

w3c_thotlib_Document.h : $(THOTDIR)/classes/w3c/thotlib/Document.java $(COMPILERS)
	@echo
	@echo "Compiling Java class Document"
	$(JAVAC) w3c/thotlib/Document.java
	@echo
	@echo "Producing header for class Document"
	$(KAFFEH) w3c.thotlib.Document

w3c_thotlib_SSchema.h : $(THOTDIR)/classes/w3c/thotlib/SSchema.java $(COMPILERS)
	@echo
	@echo "Compiling Java class SSchema"
	$(JAVAC) w3c/thotlib/SSchema.java
	@echo
	@echo "Producing header for class SSchema"
	$(KAFFEH) w3c.thotlib.SSchema

w3c_thotlib_Element.h : $(THOTDIR)/classes/w3c/thotlib/Element.java $(COMPILERS)
	@echo
	@echo "Compiling Java class Element"
	$(JAVAC) w3c/thotlib/Element.java
	@echo
	@echo "Producing header for class Element"
	$(KAFFEH) w3c.thotlib.Element

w3c_thotlib_ButtonCallback.h : $(THOTDIR)/classes/w3c/thotlib/ButtonCallback.java $(COMPILERS)
	@echo
	@echo "Compiling Java class ButtonCallback"
	$(JAVAC) w3c/thotlib/ButtonCallback.java
	@echo
	@echo "Producing header for class ButtonCallback"
	$(KAFFEH) w3c.thotlib.ButtonCallback

w3c_amaya_HTTPRequest.h : $(THOTDIR)/classes/w3c/amaya/HTTPRequest.java $(COMPILERS)
	@echo
	@echo "Compiling Amaya class HTTPRequest"
	$(JAVAC) w3c/amaya/HTTPRequest.java
	@echo
	@echo "Producing header for class HTTPRequest"
	$(KAFFEH) w3c.amaya.HTTPRequest


#include the fragment "javalib/Makefile.javanosrc" if Java sources are not available


#########################################################################
#									#
#		Rules to build the libraries				#
#									#
#########################################################################

THOT_JAVA_OBJ = \
	kaffeine.o \
	JavaX11Interf.o \
	events.o \
	JavaTypes.o \
	JavaDialog.o \
	w3c_thotlib_APIExtra_stubs.o \
	biss_awt_APIstubs.o \
	w3c_thotlib_APIApplication_stubs.o \
	w3c_thotlib_APIDocument_stubs.o \
	w3c_thotlib_APITree_stubs.o \
	w3c_thotlib_APIContent_stubs.o \
	w3c_thotlib_APIAttribute_stubs.o \
	w3c_thotlib_APIReference_stubs.o \
	w3c_thotlib_APILanguage_stubs.o \
	w3c_thotlib_APIPresentation_stubs.o \
	w3c_thotlib_APIView_stubs.o \
	w3c_thotlib_APISelection_stubs.o \
	w3c_thotlib_APIInterface_stubs.o \
	w3c_thotlib_APIRegistry_stubs.o \
	w3c_thotlib_APIDialog_stubs.o \
	debug_stubs.o

libThotJava : $(THOTDIR)/classes/w3c/thotlib stubs libThotJava.a

AMAYA_JAVA_OBJ = \
	JavaWWWInterf.o \
	w3c_amaya_APIHtml_stubs.o \
	w3c_amaya_APIJavaAmaya_stubs.o \
	w3c_amaya_APIAmayaMsg_stubs.o

libAmayaJava : $(THOTDIR)/classes/w3c/amaya stubs libAmayaJava.a

#########################################################################
#									#
#		Rules to build the stubs				#
#									#
#########################################################################

w3c_thotlib_stubs = \
    w3c_thotlib_APIApplication.h \
    w3c_thotlib_APIDocument.h \
    w3c_thotlib_APITree.h \
    w3c_thotlib_APILanguage.h \
    w3c_thotlib_APIContent.h \
    w3c_thotlib_APIAttribute.h \
    w3c_thotlib_APIReference.h \
    w3c_thotlib_APIPresentation.h \
    w3c_thotlib_APIView.h \
    w3c_thotlib_APISelection.h \
    w3c_thotlib_APIInterface.h \
    w3c_thotlib_APIRegistry.h \
    w3c_thotlib_APIDialog.h \
    w3c_thotlib_APILibMsg.h \
    w3c_thotlib_APIAppAction.h \
    w3c_thotlib_ButtonCallback.h \
    w3c_thotlib_Element.h \
    w3c_thotlib_SSchema.h \
    w3c_thotlib_Document.h \
    w3c_thotlib_ElementType.h \
    w3c_thotlib_Attribute.h \
    w3c_thotlib_AttributeType.h \
    w3c_thotlib_PRule.h \
    w3c_thotlib_Extra.h \
    w3c_thotlib_Language.h \
    w3c_thotlib_IntPtr.h \
    w3c_thotlib_Action.h

w3c_thotlib_APIAppAction.h w3c_thotlib_APIAppAction_stubs.h \
w3c_thotlib_APIAppAction_stubs.c : $(THOTDIR)/thotlib/include/appaction.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Compiling new Java class APIAppAction"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_thotlib_APIAppAction \
		    -J $(THOTDIR)/classes/w3c/thotlib/APIAppAction.java \
		    $(THOTDIR)/thotlib/include/appaction.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APIAppAction"
	$(JAVAC) w3c/thotlib/APIAppAction.java
	@echo
	@echo "Producing header for class APIAppAction"
	$(KAFFEH) w3c.thotlib.APIAppAction

w3c_thotlib_APILibMsg.h w3c_thotlib_APILibMsg_stubs.h \
w3c_thotlib_APILibMsg_stubs.c : $(THOTDIR)/thotlib/include/libmsg.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Compiling new Java class APILibMsg"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_thotlib_APILibMsg \
		    -J $(THOTDIR)/classes/w3c/thotlib/APILibMsg.java \
		    $(THOTDIR)/thotlib/include/libmsg.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APILibMsg"
	$(JAVAC) w3c/thotlib/APILibMsg.java
	@echo
	@echo "Producing header for class APILibMsg"
	$(KAFFEH) w3c.thotlib.APILibMsg

w3c_thotlib_APIDialog.h w3c_thotlib_APIDialog_stubs.h \
w3c_thotlib_APIDialog_stubs.c : $(THOTDIR)/thotlib/include/dialog.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Compiling new Java class APIDialog"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_thotlib_APIDialog \
		    -J $(THOTDIR)/classes/w3c/thotlib/APIDialog.java \
		    $(THOTDIR)/thotlib/include/dialog.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APIDialog"
	$(JAVAC) w3c/thotlib/APIDialog.java
	@echo
	@echo "Producing header for class APIDialog"
	$(KAFFEH) w3c.thotlib.APIDialog

w3c_thotlib_APIRegistry.h w3c_thotlib_APIRegistry_stubs.h \
w3c_thotlib_APIRegistry_stubs.c : $(THOTDIR)/thotlib/include/registry.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Compiling new Java class APIRegistry"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_thotlib_APIRegistry \
		    -J $(THOTDIR)/classes/w3c/thotlib/APIRegistry.java \
		    $(THOTDIR)/thotlib/include/registry.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APIRegistry"
	$(JAVAC) w3c/thotlib/APIRegistry.java
	@echo
	@echo "Producing header for class APIRegistry"
	$(KAFFEH) w3c.thotlib.APIRegistry

w3c_thotlib_APIInterface.h w3c_thotlib_APIInterface_stubs.h \
w3c_thotlib_APIInterface_stubs.c : $(THOTDIR)/thotlib/include/interface.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Compiling new Java class APIInterface"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_thotlib_APIInterface \
		    -J $(THOTDIR)/classes/w3c/thotlib/APIInterface.java \
		    $(THOTDIR)/thotlib/include/interface.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APIInterface"
	$(JAVAC) w3c/thotlib/APIInterface.java
	@echo
	@echo "Producing header for class APIInterface"
	$(KAFFEH) w3c.thotlib.APIInterface

w3c_thotlib_APISelection.h w3c_thotlib_APISelection_stubs.h \
w3c_thotlib_APISelection_stubs.c : $(THOTDIR)/thotlib/include/selection.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Compiling new Java class APISelection"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_thotlib_APISelection \
		    -J $(THOTDIR)/classes/w3c/thotlib/APISelection.java \
		    $(THOTDIR)/thotlib/include/selection.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APISelection"
	$(JAVAC) w3c/thotlib/APISelection.java
	@echo
	@echo "Producing header for class APISelection"
	$(KAFFEH) w3c.thotlib.APISelection

w3c_thotlib_APIView.h w3c_thotlib_APIView_stubs.h \
w3c_thotlib_APIView_stubs.c : $(THOTDIR)/thotlib/include/view.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Compiling new Java class APIView"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_thotlib_APIView \
		    -J $(THOTDIR)/classes/w3c/thotlib/APIView.java \
		    $(THOTDIR)/thotlib/include/view.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APIView"
	$(JAVAC) w3c/thotlib/APIView.java
	@echo
	@echo "Producing header for class APIView"
	$(KAFFEH) w3c.thotlib.APIView

w3c_thotlib_APIPresentation.h w3c_thotlib_APIPresentation_stubs.h \
w3c_thotlib_APIPresentation_stubs.c : $(THOTDIR)/thotlib/include/presentation.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Compiling new Java class APIPresentation"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_thotlib_APIPresentation \
		    -J $(THOTDIR)/classes/w3c/thotlib/APIPresentation.java \
		    $(THOTDIR)/thotlib/include/presentation.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APIPresentation"
	$(JAVAC) w3c/thotlib/APIPresentation.java
	@echo
	@echo "Producing header for class APIPresentation"
	$(KAFFEH) w3c.thotlib.APIPresentation

w3c_thotlib_APIReference.h w3c_thotlib_APIReference_stubs.h \
w3c_thotlib_APIReference_stubs.c : $(THOTDIR)/thotlib/include/reference.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Compiling new Java class APIReference"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_thotlib_APIReference \
		    -J $(THOTDIR)/classes/w3c/thotlib/APIReference.java \
		    $(THOTDIR)/thotlib/include/reference.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APIReference"
	$(JAVAC) w3c/thotlib/APIReference.java
	@echo
	@echo "Producing header for class APIReference"
	$(KAFFEH) w3c.thotlib.APIReference

w3c_thotlib_APIAttribute.h w3c_thotlib_APIAttribute_stubs.h \
w3c_thotlib_APIAttribute_stubs.c : $(THOTDIR)/thotlib/include/attribute.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Compiling new Java class APIAttribute"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_thotlib_APIAttribute \
		    -J $(THOTDIR)/classes/w3c/thotlib/APIAttribute.java \
		    $(THOTDIR)/thotlib/include/attribute.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APIAttribute"
	$(JAVAC) w3c/thotlib/APIAttribute.java
	@echo
	@echo "Producing header for class APIAttribute"
	$(KAFFEH) w3c.thotlib.APIAttribute

w3c_thotlib_APIContent.h w3c_thotlib_APIContent_stubs.h \
w3c_thotlib_APIContent_stubs.c : $(THOTDIR)/thotlib/include/content.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Compiling new Java class APIContent"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_thotlib_APIContent \
		    -J $(THOTDIR)/classes/w3c/thotlib/APIContent.java \
		    $(THOTDIR)/thotlib/include/content.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APIContent"
	$(JAVAC) w3c/thotlib/APIContent.java
	@echo
	@echo "Producing header for class APIContent"
	$(KAFFEH) w3c.thotlib.APIContent

w3c_thotlib_APILanguage.h w3c_thotlib_APILanguage_stubs.h \
w3c_thotlib_APILanguage_stubs.c : $(THOTDIR)/thotlib/include/language.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Compiling new Java class APILanguage"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_thotlib_APILanguage \
		    -J $(THOTDIR)/classes/w3c/thotlib/APILanguage.java \
		    $(THOTDIR)/thotlib/include/language.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APILanguage"
	$(JAVAC) w3c/thotlib/APILanguage.java
	@echo
	@echo "Producing header for class APILanguage"
	$(KAFFEH) w3c.thotlib.APILanguage

w3c_thotlib_APITree.h w3c_thotlib_APITree_stubs.h \
w3c_thotlib_APITree_stubs.c : $(THOTDIR)/thotlib/include/tree.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Compiling new Java class APITree"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_thotlib_APITree \
		    -J $(THOTDIR)/classes/w3c/thotlib/APITree.java \
		    $(THOTDIR)/thotlib/include/tree.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APITree"
	$(JAVAC) w3c/thotlib/APITree.java
	@echo
	@echo "Producing header for class APITree"
	$(KAFFEH) w3c.thotlib.APITree

w3c_thotlib_APIDocument.h w3c_thotlib_APIDocument_stubs.h \
w3c_thotlib_APIDocument_stubs.c : $(THOTDIR)/thotlib/include/document.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Compiling new Java class APIDocument"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_thotlib_APIDocument \
		    -J $(THOTDIR)/classes/w3c/thotlib/APIDocument.java \
		    $(THOTDIR)/thotlib/include/document.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APIDocument"
	$(JAVAC) w3c/thotlib/APIDocument.java
	@echo
	@echo "Producing header for class APIDocument"
	$(KAFFEH) w3c.thotlib.APIDocument

w3c_thotlib_APIApplication.h w3c_thotlib_APIApplication_stubs.h \
w3c_thotlib_APIApplication_stubs.c : $(THOTDIR)/thotlib/include/application.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Producing new Java class APIApplication"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_thotlib_APIApplication \
		    -J $(THOTDIR)/classes/w3c/thotlib/APIApplication.java \
		    $(THOTDIR)/thotlib/include/application.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APIApplication"
	$(JAVAC) w3c/thotlib/APIApplication.java
	@echo
	@echo "Producing header for class APIApplication"
	$(KAFFEH) w3c.thotlib.APIApplication

w3c_amaya_stubs = \
    w3c_amaya_APIJavaAmaya.h \
    w3c_amaya_APIAmayaMsg.h \
    w3c_amaya_APIHtml.h \
    w3c_amaya_HTTPRequest.h 

#
# Warning : w3c_amaya_APIHtml stubs needs HTML.h which it the result
#           of amaya schema compilation, and the header is looked for
#           in the amaya object directory, not $(THOTDIR)/javalib
#
w3c_amaya_APIHtml.h w3c_amaya_APIHtml_stubs.h \
w3c_amaya_APIHtml_stubs.c : ../amaya/HTML.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Producing new Java class APIHtml"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_amaya_APIHtml \
		    -J $(THOTDIR)/classes/w3c/amaya/APIHtml.java \
		    ../amaya/HTML.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APIHtml"
	$(JAVAC) w3c/amaya/APIHtml.java
	@echo
	@echo "Producing header for class APIHtml"
	$(KAFFEH) w3c.amaya.APIHtml

w3c_amaya_APIJavaAmaya.h w3c_amaya_APIJavaAmaya_stubs.h \
w3c_amaya_APIJavaAmaya_stubs.c : $(THOTDIR)/amaya/javaamaya.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Producing new Java class APIJavaAmaya"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_amaya_APIJavaAmaya \
		    -J $(THOTDIR)/classes/w3c/amaya/APIJavaAmaya.java \
		    $(THOTDIR)/amaya/javaamaya.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APIJavaAmaya"
	$(JAVAC) w3c/amaya/APIJavaAmaya.java
	@echo
	@echo "Producing header for class APIJavaAmaya"
	$(KAFFEH) w3c.amaya.APIJavaAmaya

w3c_amaya_APIAmayaMsg.h w3c_amaya_APIAmayaMsg_stubs.h \
w3c_amaya_APIAmayaMsg_stubs.c : $(THOTDIR)/amaya/amayamsg.h \
   $(THOTDIR)/javalib/JavaTypes.def $(COMPILERS)
	@echo
	@echo "Producing new Java class APIAmayaMsg"
	$(JAVASTUB) -T $(THOTDIR)/javalib/JavaTypes.def \
	            -M w3c_amaya_APIAmayaMsg \
		    -J $(THOTDIR)/classes/w3c/amaya/APIAmayaMsg.java \
		    $(THOTDIR)/amaya/amayamsg.h 2>> javastub.log
	@echo
	@echo "Compiling new Java class APIAmayaMsg"
	$(JAVAC) w3c/amaya/APIAmayaMsg.java
	@echo
	@echo "Producing header for class APIAmayaMsg"
	$(KAFFEH) w3c.amaya.APIAmayaMsg

java_stubs = \
    java_lang_StringBuffer.h

java_lang_StringBuffer.h : $(COMPILERS)
	@echo
	@echo "Producing header for class StringBuffer"
	$(KAFFEH) java.lang.StringBuffer

#
# end of stubs generation rules
#

#
# Rule to force the generation of the headers before compiling the C code
#

JavaTypes.h : w3c_thotlib_stubs w3c_amaya_stubs

# 
# Libraries generation rules
#

libThotJava.a : $(java_stubs) $(w3c_thotlib_stubs) $(THOT_JAVA_OBJ)
	$(AR) libThotJava.a $(THOT_JAVA_OBJ)
	$(RANLIB) libThotJava.a
	@$(ECHO) "====>" libThotJava is done

libAmayaJava.a : $(java_stubs) $(w3c_thotlib_stubs) $(w3c_amaya_stubs) $(AMAYA_JAVA_OBJ)
	$(AR) libAmayaJava.a $(AMAYA_JAVA_OBJ)
	$(RANLIB) libAmayaJava.a
	@$(ECHO) "====>" libAmayaJava is done

stubs : dirs $(w3c_thotlib_stubs) $(w3c_amaya_stubs) $(java_stubs)

#
# general stuff
#

CEXTRACT= ../bin/cextract

$(CEXTRACT) :
	@(cd ../tools/cextract-$(CEXTRACT_VER) ; $(MAKE) )

proto : ../bin/cextract
	@(for i in ../../javalib/*.c ; \
	  do \
	  dir=`dirname $$i`;base=`basename $$i .c`; \
	  if [ ! -d $$dir/f ] ; then $(MKDIR) $$dir/f ;fi;\
	  $(CEXTRACT) $(CEXTRACT_FLAGS) -o /tmp/cextract.$$base.$$$$ $$i 2> /dev/null ; \
	  if [ -f $$dir/f/"$$base"_f.h ] ; \
	  then \
	      delta=`$(DIFF) /tmp/cextract.$$base.$$$$ $$dir/f/"$$base"_f.h` ; \
	      if [ "$$delta" != "" ] ; \
	      then \
	          echo "  $$i proto changed" ; \
		  $(MV) /tmp/cextract.$$base.$$$$ $$dir/f/"$$base"_f.h ; \
              else \
	          $(RM) /tmp/cextract.$$base.$$$$ ; \
	      fi ; \
	  else \
	      echo "  $$i proto added" ; \
	      $(MV) /tmp/cextract.$$base.$$$$ $$dir/f/"$$base"_f.h ; \
	  fi ; \
	 done)

