]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tools/tinyos/java/env/Makefile.am
build both 32 and 64-bit versions of the JNI code so as to support both
[tinyos-2.x.git] / tools / tinyos / java / env / Makefile.am
index ab66da62456a3e48dd25089a68d1a0c2cc65e4b8..32383bee779e70a9e3621c0e7f20a13883365389 100644 (file)
@@ -6,12 +6,20 @@ tinyoslibdir=$(libdir)/tinyos
 
 tinyoslib_PROGRAMS = @GETENVLIB@
 
-EXTRA_PROGRAMS = libgetenv.so getenv.dll
+EXTRA_PROGRAMS = libgetenv-32.so libgetenv-64.so getenv.dll
 
-libgetenv_so_SOURCES = net_tinyos_util_Env.h net_tinyos_util_Env.c
+SOFLAGS = "-I$(JDK)/include/linux" "-I$(JDK)/include" -shared -fpic
 
-libgetenv.so : net_tinyos_util_Env.h net_tinyos_util_Env.c
-       gcc "-I$(JDK)/include/linux" "-I$(JDK)/include" -shared -fpic -m32 net_tinyos_util_Env.c -o$@
+libgetenv_32_so_SOURCES = net_tinyos_util_Env.h net_tinyos_util_Env.c
+libgetenv_64_so_SOURCES = $(libgetenv_32_so_SOURCES)
+
+libgetenv-32.so : net_tinyos_util_Env.h net_tinyos_util_Env.c
+       $(CC) $(SOFLAGS) -m32 net_tinyos_util_Env.c -o$@
+
+libgetenv-64.so : net_tinyos_util_Env.h net_tinyos_util_Env.c
+       @echo $(CC) $(SOFLAGS) -m64 net_tinyos_util_Env.c -o$@
+       @$(CC) $(SOFLAGS) -m64 net_tinyos_util_Env.c -o$@ || \
+       (echo 64-bit libgetenv.so NOT GENERATED - DO NOT USE THIS RUN TO BUILD AN RPM; echo Press return to continue; read; rm -f libtoscomm-64.so)
 
 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