]> sjero.net Git - linphone/blob - build/android/common.mk
5846497355d9ffa3d5e5aa9d322588f10643f21c
[linphone] / build / android / common.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_CPP_EXTENSION := .cc
23
24 LOCAL_SRC_FILES := \
25         linphonecore.c \
26         misc.c  \
27         enum.c \
28         presence.c \
29         proxy.c \
30         friend.c \
31         authentication.c \
32         lpconfig.c \
33         chat.c \
34         sipsetup.c \
35         siplogin.c \
36         address.c \
37         linphonecore_jni.cc \
38         sal.c \
39         sal_eXosip2.c \
40         sal_eXosip2_presence.c \
41         sal_eXosip2_sdp.c \
42         offeranswer.c \
43         callbacks.c \
44         linphonecall.c \
45         conference.c \
46         ec-calibrator.c \
47         linphone_tunnel_config.c \
48         message_storage.c
49
50 ifndef LINPHONE_VERSION
51 LINPHONE_VERSION = "Devel"
52 endif
53
54 LOCAL_CFLAGS += \
55         -D_BYTE_ORDER=_LITTLE_ENDIAN \
56         -DORTP_INET6 \
57         -DINET6 \
58         -DOSIP_MT \
59         -DENABLE_TRACE \
60         -DHAVE_CONFIG_H \
61         -DLINPHONE_VERSION=\"$(LINPHONE_VERSION)\" \
62         -DLINPHONE_PLUGINS_DIR=\"\\tmp\" \
63
64 LOCAL_CFLAGS += -DIN_LINPHONE
65
66 ifeq ($(LINPHONE_VIDEO),1)
67 LOCAL_CFLAGS += -DVIDEO_ENABLED
68 ifeq ($(BUILD_X264),1)
69 LOCAL_CFLAGS += -DHAVE_X264
70 endif
71 endif
72
73 ifeq ($(USE_JAVAH),1)
74 LOCAL_CFLAGS += -DUSE_JAVAH
75 endif
76
77 LOCAL_C_INCLUDES += \
78         $(LOCAL_PATH) \
79         $(LOCAL_PATH)/include \
80         $(LOCAL_PATH)/../build/android \
81         $(LOCAL_PATH)/../oRTP/include \
82         $(LOCAL_PATH)/../mediastreamer2/include \
83         $(LOCAL_PATH)/../../externals/exosip/include \
84         $(LOCAL_PATH)/../../externals/osip/include \
85         $(LOCAL_PATH)/../../../gen
86
87 LOCAL_LDLIBS += -llog -ldl
88
89
90
91 LOCAL_STATIC_LIBRARIES := \
92         cpufeatures \
93         libmediastreamer2 \
94         libortp \
95         libeXosip2 \
96         libosip2 \
97         libgsm 
98 ifeq ($(BUILD_REMOTE_PROVISIONING),1)
99 LOCAL_STATIC_LIBRARIES += \
100         libxml2lpc \
101         liblpc2xml
102 endif
103
104 ifeq ($(BUILD_TUNNEL),1)
105 LOCAL_CFLAGS +=-DTUNNEL_ENABLED
106 LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../tunnel/include $(LOCAL_PATH)/../../tunnel/src
107 LOCAL_SRC_FILES +=  linphone_tunnel.cc TunnelManager.cc
108 ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
109 LOCAL_SHARED_LIBRARIES += libtunnelclient
110 else
111 LOCAL_STATIC_LIBRARIES += libtunnelclient
112 endif
113 else
114 LOCAL_SRC_FILES += linphone_tunnel_stubs.c
115 endif
116
117
118 _BUILD_AMR=0
119 ifneq ($(BUILD_AMRNB), 0)
120 _BUILD_AMR=1
121 endif
122
123 ifneq ($(BUILD_AMRWB), 0)
124 _BUILD_AMR=1
125 endif
126
127 ifneq ($(_BUILD_AMR), 0)
128 LOCAL_CFLAGS += -DHAVE_AMR
129 LOCAL_STATIC_LIBRARIES += \
130         libmsamr \
131         libopencoreamr
132 endif
133
134 ifneq ($(BUILD_AMRWB), 0)
135 LOCAL_STATIC_LIBRARIES += \
136         libvoamrwbenc
137 endif
138
139
140 ifeq ($(BUILD_SILK),1)
141 LOCAL_CFLAGS += -DHAVE_SILK
142 LOCAL_STATIC_LIBRARIES += libmssilk
143 endif
144
145 ifeq ($(BUILD_G729),1)
146 LOCAL_CFLAGS += -DHAVE_G729
147 LOCAL_SHARED_LIBRARIES += libbcg729
148 LOCAL_STATIC_LIBRARIES += libmsbcg729
149 endif
150
151 ifeq ($(LINPHONE_VIDEO),1)
152 LOCAL_LDLIBS    += -lGLESv2
153 LOCAL_STATIC_LIBRARIES += libvpx
154 ifeq ($(BUILD_X264),1)
155 LOCAL_STATIC_LIBRARIES += \
156         libmsx264 \
157         libx264
158 endif
159 endif
160
161 ifeq ($(BUILD_UPNP),1)
162 LOCAL_CFLAGS += -DBUILD_UPNP
163 LOCAL_SRC_FILES += upnp.c
164 endif
165
166 LOCAL_STATIC_LIBRARIES += libspeex 
167
168 ifeq ($(BUILD_SRTP), 1)
169         LOCAL_C_INCLUDES += $(SRTP_C_INCLUDE)
170 endif
171
172 ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
173 LOCAL_CFLAGS += -DHAVE_ILBC=1
174 LOCAL_STATIC_LIBRARIES += libmsilbc
175 endif
176
177 LOCAL_C_INCLUDES += $(LIBLINPHONE_EXTENDED_C_INCLUDES) 
178 LOCAL_WHOLE_STATIC_LIBRARIES += $(LIBLINPHONE_EXTENDED_STATIC_LIBS)
179 LOCAL_SRC_FILES  += $(LIBLINPHONE_EXTENDED_SRC_FILES)
180
181 ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
182         LOCAL_SHARED_LIBRARIES += liblinssl liblincrypto
183         ifeq ($(BUILD_GPLV3_ZRTP),1)
184         LOCAL_SHARED_LIBRARIES += libzrtpcpp
185         endif
186
187         ifeq ($(BUILD_SRTP),1)
188         LOCAL_SHARED_LIBRARIES += libsrtp
189         endif
190 else
191         LOCAL_LDLIBS += -lz
192         #LOCAL_STATIC_LIBRARIES += libz libdl
193         LOCAL_STATIC_LIBRARIES += \
194                 libssl-static libcrypto-static
195         ifeq ($(BUILD_GPLV3_ZRTP),1)
196                 LOCAL_STATIC_LIBRARIES += libzrtpcpp-static
197         endif
198
199         ifeq ($(BUILD_SRTP),1)
200                 LOCAL_STATIC_LIBRARIES += libsrtp-static
201         endif
202 endif
203