.SUFFIXES: .java .class CLASSPATH=".:jnitest/*:libaltosJNI:/usr/share/java/*" SWIG_DIR=swig_bindings/java SWIG_FILE=$(SWIG_DIR)/libaltos.swig SWIG_WRAP=$(SWIG_DIR)/libaltos_wrap.c JNI_DIR=libaltosJNI JNI_FILE=$(JNI_DIR)/libaltosJNI.java JNI_SRCS=$(JNI_FILE) \ $(JNI_DIR)/SWIGTYPE_p_altos_file.java \ $(JNI_DIR)/SWIGTYPE_p_altos_list.java \ $(JNI_DIR)/altos_device.java \ $(JNI_DIR)/libaltos.java LIBEXT=dylib JAVAFILES=\ $(JNI_SRCS) CLASSFILES = $(JAVAFILES:%.java=%.class) JAVAFLAGS=-Xlint:unchecked all: libaltos.$(LIBEXT) cjnitest $(CLASSFILES) .java.class: javac -cp "$(CLASSPATH)" $(JAVAFLAGS) $*.java DARWIN_CFLAGS=\ -I/System/Library/Frameworks/JavaVM.framework/Headers \ -I/System/Library/Frameworks/IOKit.framework/Headers \ -I/System/Library/Frameworks/CoreFoundation.framework/Headers DARWIN_LIBS=\ -framework IOKit -framework CoreFoundation CFLAGS = $(DARWIN_CFLAGS) -I. -O0 -g HEADERS=libaltos.h SRCS = libaltos.c $(SWIG_WRAP) OBJS = $(SRCS:%.c=%.o) LIBS = $(DARWIN_LIBS) cjnitest: cjnitest.o $(OBJS) cc -o $@ $(CFLAGS) cjnitest.o $(OBJS) $(LIBS) libaltos.$(LIBEXT): $(OBJS) gcc -shared -o $@ $(OBJS) $(LIBS) clean: rm -f $(CLASSFILES) $(OBJS) libaltos.$(LIBEXT) cjnitest $(JNI_FILE): libaltos.i0 $(HEADERS) mkdir -p $(SWIG_DIR) mkdir -p libaltosJNI sed 's;//%;%;' libaltos.i0 $(HEADERS) > $(SWIG_FILE) swig -java -package libaltosJNI $(SWIG_FILE) cp swig_bindings/java/*.java libaltosJNI $(SWIG_WRAP): $(JNI_FILE)