blob: 6d56b19680c40924242e2e43af07c221367f386a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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__ -fPIC
MY_JNI_LDFLAGS := -Wl,-soname,libpjsua.so
SWIG_FLAGS := -D__ANDROID__ -c++
# Build settings
MY_CFLAGS := $(PJ_CXXFLAGS) $(MY_JNI_CFLAGS) $(CFLAGS)
MY_LDFLAGS := $(PJ_LDXXFLAGS) $(PJ_LDXXLIBS) $(MY_JNI_LDFLAGS) $(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
|