tinyoslib_PROGRAMS = @GETENVLIB@
-EXTRA_PROGRAMS = libgetenv-32.so libgetenv-64.so getenv.dll
+EXTRA_PROGRAMS = libgetenv-32.so libgetenv-64.so getenv.dll libgetenv.jnilib
SOFLAGS = "-I$(JDK)/include/linux" "-I$(JDK)/include" -shared -fpic
getenv.dll: net_tinyos_util_Env.h net_tinyos_util_Env.c
gcc -shared -o$@ -mno-cygwin "-I$(JDK)/include" "-I$(JDK)/include/win32" -D_JNI_IMPLEMENTATION -Wl,--kill-at net_tinyos_util_Env.c
+
+libgetenv.jnilib : net_tinyos_util_Env.h net_tinyos_util_Env.c
+ gcc "-I$(JDK)/Headers" -bundle -fPIC net_tinyos_util_Env.c -o $@
+
tinyoslib_PROGRAMS = @TOSCOMMLIB@
-EXTRA_PROGRAMS = libtoscomm-32.so libtoscomm-64.so toscomm.dll
+EXTRA_PROGRAMS = libtoscomm-32.so libtoscomm-64.so toscomm.dll libtoscomm.jnilib
# Compiling libtoscomm.so with -O2 generates bad code with gcc 4.1.x on x86_64
# (the -O1 code is slightly weird, but works at least ;-))
NativeSerial_win32.cpp \
TOSComm_wrap.cxx
+libtoscomm_jnilib_SOURCES = \
+ NativeSerialEnums.h \
+ NativeSerial_darwin.cpp \
+ TOSComm_wrap.cxx
+
+libtoscomm.jnilib: $(libtoscomm_jnilib_SOURCES)
+ $(CXX) -O2 -bundle "-I$(JDK)/Headers" \
+ -o $@ NativeSerial_darwin.cpp
+
libtoscomm-32.so: $(libtoscomm_so_SOURCES)
$(CXX) -m32 $(SOFLAGS) -o $@ NativeSerial_linux.cpp