.SUFFIXES:	$(SUFFIXES) .cpp .jnih .class .java

.java.class:
	${JAVAC} $<
	
.cpp.o:
	${CC} ${CCFLAGS} ${INCLUDES} -c $*.cpp

.class.jnih:
	${JAVAH} -o Adapter/FooBarJNI/jni$*.h -jni FooBar.$* ; touch $*.jnih


CP = /bin/cp
RM = /bin/rm -f
AR = ar
JAVAC = ${JAVA_HOME}/bin/javac -d ${JNI_HOME} -sourcepath ${JNI_HOME} -classpath ${JNI_HOME}/classes
JAVAH = ${JAVA_HOME}/bin/javah -classpath ${JNI_HOME}

CLASSES = Base.class Bar.class Foo.class
HEADERS = Bar.jnih Foo.jnih Base.jnih
SOURCES = Bar.java Foo.java

INCLUDES = -I../../Native/include -I../../../include -I${JAVA_HOME}/include -I${JAVA_HOME}/include/solaris
CCFLAGS = -G -g -DFOOBAREXPORT

all: ${SOURCES} ${CLASSES} headers adapters install

clean:
	${RM} ${CLASSES} ${HEADERS} ${SOURCES}

headers:  ${HEADERS}

${SOURCES}: Generator/Bar.mtp Generator/Foo.mtp
	../metaphor/metaphor.bat Bar.mtp Foo.mtp
	mv -f Generator/jniBar* Generator/jniFoo* Adapter/FooBarJNI
	mv -f Generator/Bar.java Generator/Foo.java .

adapters:
	cd Adapter/FooBarJNI ; make
install:
	${CP}  ${CLASSES} ${JNI_HOME}/classes/FooBar


