summaryrefslogtreecommitdiff
path: root/pjsip-apps/src/pjsua/android/jni/Makefile
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2016-12-21 08:33:57 +0000
committerNanang Izzuddin <nanang@teluu.com>2016-12-21 08:33:57 +0000
commit9ab2ca6fb9463c9d942bd3f0af75acc28602334b (patch)
treeeb2450b449315f1e1d0c523f70879e0b578502f8 /pjsip-apps/src/pjsua/android/jni/Makefile
parent4396e6f8a065a9d400039d4c21fe359d0ae07399 (diff)
Re #1986: Convert pjsua sample app Android project from Eclipse to Android Studio.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5506 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps/src/pjsua/android/jni/Makefile')
-rw-r--r--pjsip-apps/src/pjsua/android/jni/Makefile56
1 files changed, 56 insertions, 0 deletions
diff --git a/pjsip-apps/src/pjsua/android/jni/Makefile b/pjsip-apps/src/pjsua/android/jni/Makefile
new file mode 100644
index 00000000..1ce34921
--- /dev/null
+++ b/pjsip-apps/src/pjsua/android/jni/Makefile
@@ -0,0 +1,56 @@
+include ../../../../../build.mak
+include ../../../../../build/common.mak
+
+MY_MODULE_PATH := $(PJDIR)/pjsip-apps/build/output/pjsua-$(TARGET_NAME)
+MY_MODULES := $(MY_MODULE_PATH)/pjsua_app.o \
+ $(MY_MODULE_PATH)/pjsua_app_cli.o \
+ $(MY_MODULE_PATH)/pjsua_app_common.o \
+ $(MY_MODULE_PATH)/pjsua_app_config.o \
+ $(MY_MODULE_PATH)/pjsua_app_legacy.o
+
+OUT_DIR := ../build/jni
+LIBPJSUA_SO := ../app/src/main/jniLibs/armeabi/libpjsua.so
+
+# Env settings, e.g: path to SWIG, JDK, java(.exe), javac(.exe)
+MY_SWIG := swig
+MY_JNI_CFLAGS := -D__ANDROID__
+MY_JNI_LDFLAGS := -Wl,-soname,libpjsua.so
+SWIG_FLAGS := -D__ANDROID__ -c++
+
+# Build settings
+MY_CFLAGS := $(PJ_CXXFLAGS) $(CFLAGS)
+MY_LDFLAGS := $(PJ_LDXXFLAGS) $(PJ_LDXXLIBS) $(LDFLAGS)
+MY_PACKAGE_NAME := org.pjsip.pjsua
+MY_PACKAGE_PATH := ../app/src/main/java/$(subst .,/,$(MY_PACKAGE_NAME))
+
+all: $(LIBPJSUA_SO) java
+
+$(LIBPJSUA_SO): $(OUT_DIR)/pjsua_wrap.o
+ mkdir -p ../app/src/main/jniLibs/armeabi
+ $(PJ_CXX) -shared -o $(LIBPJSUA_SO) \
+ $(OUT_DIR)/pjsua_wrap.o $(OUT_DIR)/pjsua_app_callback.o \
+ $(MY_MODULES) \
+ $(MY_CFLAGS) $(MY_LDFLAGS)
+
+$(OUT_DIR)/pjsua_wrap.o: $(OUT_DIR)/pjsua_wrap.cpp pjsua_app_callback.cpp Makefile
+ $(PJ_CXX) -c $(OUT_DIR)/pjsua_wrap.cpp -o $(OUT_DIR)/pjsua_wrap.o \
+ $(MY_CFLAGS)
+ $(PJ_CXX) -c pjsua_app_callback.cpp -o $(OUT_DIR)/pjsua_app_callback.o \
+ $(MY_CFLAGS)
+
+$(OUT_DIR)/pjsua_wrap.cpp: pjsua.i
+ mkdir -p $(MY_PACKAGE_PATH)
+ mkdir -p $(OUT_DIR)
+ swig $(SWIG_FLAGS) -java -package $(MY_PACKAGE_NAME) \
+ -outdir $(MY_PACKAGE_PATH) \
+ -o $(OUT_DIR)/pjsua_wrap.cpp pjsua.i
+
+clean distclean realclean:
+ rm -rf $(LIBPJSUA_SO) $(OUT_DIR)/* \
+ $(MY_PACKAGE_PATH)/*.java
+
+java:
+ifneq (,$(findstring PJMEDIA_VIDEO_DEV_HAS_ANDROID=1,$(ANDROID_CFLAGS)))
+ @echo "Copying Android camera helper components..."
+ cp $(PJDIR)/pjmedia/src/pjmedia-videodev/android/PjCamera*.java $(MY_PACKAGE_PATH)/..
+endif