Fix mbox native build
[gpl/argeo-tp.git] / rebuild / org.argeo.tp.utils / Makefile
index 99dff70f3a69bafe29aea370ce80fe7ad0c23eb8..72d581c95f7f546515de6bc5433d5dcc6a7aee33 100644 (file)
@@ -1,7 +1,12 @@
 include ../../sdk.mk
 .PHONY: clean all osgi
 
-all: retrieve-ee4j-mbox osgi
+export NO_SDK_LEGAL := true
+
+MBOX_JNI_SRC=jni/com_sun_mail_mbox
+MBOX_TARGET_EXEC=libmbox.so
+
+all: retrieve-ee4j-mbox osgi jni-ee4j-mbox
 
 retrieve-ee4j-mbox: SRC_DIR=src/ee4j-mail
 retrieve-ee4j-mbox:
@@ -15,6 +20,11 @@ retrieve-ee4j-mbox:
        git clone --branch 1.6.7 https://github.com/eclipse-ee4j/mail.git $(SRC_DIR)
        rm -rf $(SRC_DIR)/.git
        rsync -a --delete --exclude module-info.java $(SRC_DIR)/mbox/src/main/java/ com.sun.mail.mbox/src
+       # jni
+       rsync -a $(SRC_DIR)/mbox/src/main/cpp/com/sun/mail/mbox/ $(MBOX_JNI_SRC)
+       mkdir -p com.sun.mail.mbox/bin
+       javac -h jni/com_sun_mail_mbox/ -cp "$(A2_OUTPUT)/org.argeo.tp.utils/*" com.sun.mail.mbox/src/com/sun/mail/mbox/*.java
+       rm -rf com.sun.mail.mbox/bin
 
 A2_CATEGORY = org.argeo.tp.utils
 
@@ -26,4 +36,13 @@ clean:
 
 DEP_CATEGORIES = org.argeo.tp.utils
 
-include  $(SDK_SRC_BASE)/sdk/argeo-build/osgi.mk
\ No newline at end of file
+include  $(SDK_SRC_BASE)/sdk/argeo-build/osgi.mk
+
+A2_NATIVE_CATEGORY=$(A2_OUTPUT)/lib/linux/$(shell uname -m)/$(A2_CATEGORY)
+
+jni-ee4j-mbox:
+       mkdir -p $(A2_NATIVE_CATEGORY)
+       $(CC) -o $(A2_NATIVE_CATEGORY)/$(MBOX_TARGET_EXEC) \
+        -shared -fPIC -fpic -Wl,-soname,$(MBOX_TARGET_EXEC).1.6 \
+        -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux $(MBOX_JNI_SRC)/*.c
+