+OS:=$(shell uname)
+
+ifeq ($(OS),Linux)
+
+JAVA_CFLAGS=-I/usr/lib/jvm/java-6-openjdk/include
+
+OS_CFLAGS=-DLINUX -DPOSIX_TTY $(JAVA_CFLAGS)
+
+LIBEXT=so
+
+endif
+
+ifeq ($(OS),Darwin)
+
+DARWIN_CFLAGS=\
+ --sysroot=/Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 \
+ -iwithsysroot /System/Library/Frameworks/JavaVM.framework/Headers \
+ -iwithsysroot /System/Library/Frameworks/IOKit.framework/Headers \
+ -iwithsysroot /System/Library/Frameworks/CoreFoundation.framework/Headers
+DARWIN_LIBS=\
+ -framework IOKit -framework CoreFoundation
+
+OS_CFLAGS = $(DARWIN_CFLAGS) -DDARWIN -DPOSIX_TTY -arch i386 -arch x86_64
+LIBEXT=dylib
+
+endif
+
.SUFFIXES: .java .class
CLASSPATH=".:jnitest/*:libaltosJNI:/usr/share/java/*"
$(JNI_DIR)/altos_device.java \
$(JNI_DIR)/libaltos.java
-LIBEXT=dylib
-
JAVAFILES=\
$(JNI_SRCS)
.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
+CFLAGS=$(OS_CFLAGS) -O0 -g -I.
HEADERS=libaltos.h
SRCS = libaltos.c $(SWIG_WRAP)
cc -o $@ $(CFLAGS) cjnitest.o $(OBJS) $(LIBS)
libaltos.$(LIBEXT): $(OBJS)
- gcc -shared -o $@ $(OBJS) $(LIBS)
+ gcc -shared $(CFLAGS) -o $@ $(OBJS) $(LIBS)
clean:
- rm -f $(CLASSFILES) $(OBJS) libaltos.$(LIBEXT) cjnitest
+ rm -f $(CLASSFILES) $(OBJS) libaltos.$(LIBEXT) cjnitest cjnitest.o
+ rm -rf swig_bindings libaltosJNI
$(JNI_FILE): libaltos.i0 $(HEADERS)
mkdir -p $(SWIG_DIR)