]> sjero.net Git - linphone/blob - build/android/Android.mk
g729 integration for Android
[linphone] / build / android / Android.mk
1 ##
2 ## Android.mk -Android build script-
3 ##
4 ##
5 ## Copyright (C) 2010  Belledonne Communications, Grenoble, France
6 ##
7 ##  This program is free software; you can redistribute it and/or modify
8 ##  it under the terms of the GNU General Public License as published by
9 ##  the Free Software Foundation; either version 2 of the License, or
10 ##  (at your option) any later version.
11 ##
12 ##  This program is distributed in the hope that it will be useful,
13 ##  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 ##  GNU General Public License for more details.
16 ##
17 ##  You should have received a copy of the GNU General Public License
18 ##  along with this program; if not, write to the Free Software
19 ##  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 ##
21
22 LOCAL_PATH:= $(call my-dir)/../../coreapi
23
24
25 include $(CLEAR_VARS)
26
27 LOCAL_CPP_EXTENSION := .cc
28
29 LOCAL_SRC_FILES := \
30         linphonecore.c \
31         misc.c  \
32         enum.c \
33         presence.c \
34         proxy.c \
35         friend.c \
36         authentication.c \
37         lpconfig.c \
38         chat.c \
39         sipsetup.c \
40         siplogin.c \
41         address.c \
42         linphonecore_jni.cc \
43         sal.c \
44         sal_eXosip2.c \
45         sal_eXosip2_presence.c \
46         sal_eXosip2_sdp.c \
47         offeranswer.c \
48         callbacks.c \
49         linphonecall.c \
50         conference.c \
51         ec-calibrator.c
52
53 ifndef MY_LOG_DOMAIN
54 MY_LOG_DOMAIN = \"Linphone\"
55 endif
56
57 LOCAL_CFLAGS += \
58         -D_BYTE_ORDER=_LITTLE_ENDIAN \
59         -DORTP_INET6 \
60         -DINET6 \
61         -DOSIP_MT \
62         -DENABLE_TRACE \
63         -DLINPHONE_VERSION=\"3.4.0\" \
64         -DLINPHONE_PLUGINS_DIR=\"\\tmp\" \
65         -DLOG_DOMAIN=$(MY_LOG_DOMAIN) 
66
67 LOCAL_CFLAGS += -DIN_LINPHONE
68
69 ifeq ($(LINPHONE_VIDEO),1)
70 LOCAL_CFLAGS += -DVIDEO_ENABLED
71 ifeq ($(BUILD_X264),1)
72 LOCAL_CFLAGS += -DHAVE_X264
73 endif
74 endif
75
76 LOCAL_C_INCLUDES += \
77         $(LOCAL_PATH) \
78         $(LOCAL_PATH)/include \
79         $(LOCAL_PATH)/../oRTP/include \
80         $(LOCAL_PATH)/../mediastreamer2/include \
81         $(LOCAL_PATH)/../../externals/exosip/include \
82         $(LOCAL_PATH)/../../externals/osip/include 
83
84 LOCAL_LDLIBS += -llog -ldl
85
86
87
88 LOCAL_STATIC_LIBRARIES := \
89         cpufeatures \
90         libmediastreamer2 \
91         libortp \
92         libeXosip2 \
93         libosip2 \
94         libgsm 
95
96 ifeq ($(BUILD_TUNNEL),1)
97 LOCAL_CFLAGS +=-DTUNNEL_ENABLED
98 LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../tunnel/include $(LOCAL_PATH)/../../tunnel/src
99 LOCAL_SRC_FILES += linphone_tunnel.cc TunnelManager.cc
100 ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
101 LOCAL_SHARED_LIBRARIES += libtunnelclient
102 else
103 LOCAL_STATIC_LIBRARIES += libtunnelclient
104 endif
105 endif
106
107
108 _BUILD_AMR=0
109 ifneq ($(BUILD_AMRNB), 0)
110 _BUILD_AMR=1
111 endif
112
113 ifneq ($(BUILD_AMRWB), 0)
114 _BUILD_AMR=1
115 endif
116
117 ifneq ($(_BUILD_AMR), 0)
118 LOCAL_CFLAGS += -DHAVE_AMR
119 LOCAL_STATIC_LIBRARIES += \
120         libmsamr \
121         libopencoreamr
122 endif
123
124 ifneq ($(BUILD_AMRWB), 0)
125 LOCAL_STATIC_LIBRARIES += \
126         libvoamrwbenc
127 endif
128
129
130 ifeq ($(BUILD_SILK),1)
131 LOCAL_CFLAGS += -DHAVE_SILK
132 LOCAL_STATIC_LIBRARIES += libmssilk
133 endif
134
135 ifeq ($(BUILD_G729),1)
136 LOCAL_CFLAGS += -DHAVE_G729
137 LOCAL_SHARED_LIBRARIES += libbcg729
138 LOCAL_STATIC_LIBRARIES += libmsbcg729
139 endif
140
141 ifeq ($(LINPHONE_VIDEO),1)
142 LOCAL_LDLIBS    += -lGLESv2
143 LOCAL_STATIC_LIBRARIES += libvpx
144 ifeq ($(BUILD_X264),1)
145 LOCAL_STATIC_LIBRARIES += \
146         libmsx264 \
147         libx264
148 endif
149 LOCAL_SHARED_LIBRARIES += \
150         libavcodec \
151         libswscale \
152         libavcore \
153         libavutil
154 endif
155
156 LOCAL_STATIC_LIBRARIES += libspeex 
157
158 ifeq ($(BUILD_SRTP), 1)
159         LOCAL_C_INCLUDES += $(SRTP_C_INCLUDE)
160 endif
161
162 ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
163 LOCAL_CFLAGS += -DHAVE_ILBC=1
164 LOCAL_STATIC_LIBRARIES += libmsilbc
165 endif
166
167 LOCAL_C_INCLUDES += $(LIBLINPHONE_EXTENDED_C_INCLUDES) 
168 LOCAL_WHOLE_STATIC_LIBRARIES += $(LIBLINPHONE_EXTENDED_STATIC_LIBS)
169 LOCAL_SRC_FILES  += $(LIBLINPHONE_EXTENDED_SRC_FILES)
170
171 ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
172         LOCAL_SHARED_LIBRARIES += liblinssl liblincrypto
173         ifeq ($(BUILD_GPLV3_ZRTP),1)
174         LOCAL_SHARED_LIBRARIES += libzrtpcpp
175         endif
176
177         ifeq ($(BUILD_SRTP),1)
178         LOCAL_SHARED_LIBRARIES += libsrtp
179         endif
180 else
181         LOCAL_LDLIBS += -lz
182         #LOCAL_STATIC_LIBRARIES += libz libdl
183         LOCAL_STATIC_LIBRARIES += \
184                 libssl-static libcrypto-static
185         ifeq ($(BUILD_GPLV3_ZRTP),1)
186                 LOCAL_STATIC_LIBRARIES += libzrtpcpp-static
187         endif
188
189         ifeq ($(BUILD_SRTP),1)
190                 LOCAL_STATIC_LIBRARIES += libsrtp-static
191         endif
192 endif
193
194 LOCAL_MODULE := liblinphone
195 include $(BUILD_SHARED_LIBRARY)
196
197 $(call import-module,android/cpufeatures)
198
199