#!/bin/sh

rm *.class *.h

#	Steps to compile the Java Native method invokation example

#	1. Compile Java Driver
javac JavaDriverJNI.java

#	2. Make a Java header (to include in the CPP compilation)

javah  -jni  JavaDriverJNI


rm *.jnilib *.o

#	3. Compile the first C++ Native method (ImageFilter)

# option 1. build as a dynamic shared library
# option 2. build a JNI library as a bundle

g++  -c -I/System/Library/Frameworks/JavaVM.framework/Headers  CPPImageFilterJNI.cpp  
g++  -dynamiclib  -o libCPPImageFilterJNI.jnilib CPPImageFilterJNI.o  -framework JavaVM

#g++ -bundle  -o libCPPImageFilterJNI.jnilib -framework JavaVM -I/System/Library/Frameworks/JavaVM.framework/Headers  CPPImageFilterJNI.cpp  


#	4. Compile the second C++ Native Method (StringFilter)

g++  -c -I/System/Library/Frameworks/JavaVM.framework/Headers  CPPStringFilterJNI.cpp  
g++  -dynamiclib  -o libCPPStringFilterJNI.jnilib CPPStringFilterJNI.o -framework JavaVM

#g++ -bundle  -o libCPPStringFilterJNI.jnilib -framework JavaVM -I/System/Library/Frameworks/JavaVM.framework/Headers  CPPStringFilterJNI.cpp  



#	5. Test-Run the JNI Interface

java JavaDriverJNI  A1_Y83_2D.gif -flag1 arg1 arg2 -flag2 arg3




