Refactor Argeo Third Parties categories
[gpl/argeo-tp.git] / rebuild / org.argeo.tp.utils / Makefile
index 689838fcd6eb1ec35a8332c1f6100fff6862b955..5a1fa46e815a27301ba8f5d21152b9d502f25f53 100644 (file)
@@ -3,7 +3,14 @@ include ../../sdk.mk
 
 export NO_SDK_LEGAL := true
 
-all: retrieve-ee4j-mbox osgi
+MBOX_JNI_SRC=jni/com_sun_mail_mbox
+MBOX_TARGET_EXEC=libmbox.so
+
+all: retrieve-ee4j-mbox osgi jni-ee4j-mbox
+
+install: osgi-install
+       
+uninstall: osgi-uninstall
 
 retrieve-ee4j-mbox: SRC_DIR=src/ee4j-mail
 retrieve-ee4j-mbox:
@@ -17,8 +24,13 @@ 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.sys/*" com.sun.mail.mbox/src/com/sun/mail/mbox/*.java
+       rm -rf com.sun.mail.mbox/bin
 
-A2_CATEGORY = org.argeo.tp.utils
+A2_CATEGORY = org.argeo.tp.sys
 
 BUNDLES = \
 com.sun.mail.mbox \
@@ -26,6 +38,15 @@ com.sun.mail.mbox \
 clean:
        rm -rf $(BUILD_BASE)
 
-DEP_CATEGORIES = org.argeo.tp.utils
+DEP_CATEGORIES = org.argeo.tp.sys
+
+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
 
-include  $(SDK_SRC_BASE)/sdk/argeo-build/osgi.mk
\ No newline at end of file