blob: 044e2a4e3a172f51a3cb2bd646ac25ae07a85680 [file] [log] [blame]
Alexandre Lision17b60c32014-02-03 14:37:59 -05001export PJDIR := /home/lisional/git/sflphone-android/jni/pjproject-android
2include $(PJDIR)/version.mak
3export PJ_DIR := $(PJDIR)
4
5# build.mak. Generated from build.mak.in by configure.
6export MACHINE_NAME := auto
7export OS_NAME := auto
8export HOST_NAME := unix
9export CC_NAME := gcc
10export TARGET_NAME := arm-unknown-linux-androideabi
11export CROSS_COMPILE := arm-linux-androideabi-
12export LINUX_POLL := select
13export SHLIB_SUFFIX := so
14
15export prefix := /usr/local
16export exec_prefix := ${prefix}
17export includedir := ${prefix}/include
18export libdir := ${exec_prefix}/lib
19
20LIB_SUFFIX = $(TARGET_NAME).a
21
22ifeq (,1)
23export PJ_SHARED_LIBRARIES := 1
24endif
25
26# Determine which party libraries to use
27export APP_THIRD_PARTY_EXT :=
28export APP_THIRD_PARTY_LIBS :=
29export APP_THIRD_PARTY_LIB_FILES := $(PJ_DIR)/third_party/lib/libmilenage-$(LIB_SUFFIX)
30ifeq ($(PJ_SHARED_LIBRARIES),)
31APP_THIRD_PARTY_LIBS += -lmilenage-$(TARGET_NAME)
32else
33APP_THIRD_PARTY_LIBS += -lmilenage
34APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libmilenage.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libmilenage.$(SHLIB_SUFFIX)
35endif
36
37ifeq (0,1)
38# External SRTP library
39APP_THIRD_PARTY_EXT += -lsrtp
40else
41APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libsrtp-$(LIB_SUFFIX)
42ifeq ($(PJ_SHARED_LIBRARIES),)
43APP_THIRD_PARTY_LIBS += -lsrtp-$(TARGET_NAME)
44else
45APP_THIRD_PARTY_LIBS += -lsrtp
46APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libsrtp.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libsrtp.$(SHLIB_SUFFIX)
47endif
48endif
49
50ifeq (libresample,libresample)
51APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample-$(LIB_SUFFIX)
52ifeq ($(PJ_SHARED_LIBRARIES),)
53ifeq (,1)
54export PJ_RESAMPLE_DLL := 1
55APP_THIRD_PARTY_LIBS += -lresample
56APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX)
57else
58APP_THIRD_PARTY_LIBS += -lresample-$(TARGET_NAME)
59endif
60else
61APP_THIRD_PARTY_LIBS += -lresample
62APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX)
63endif
64endif
65
66ifneq (1,1)
67ifeq (0,1)
68# External GSM library
69APP_THIRD_PARTY_EXT += -lgsm
70else
71APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec-$(LIB_SUFFIX)
72ifeq ($(PJ_SHARED_LIBRARIES),)
73APP_THIRD_PARTY_LIBS += -lgsmcodec-$(TARGET_NAME)
74else
75APP_THIRD_PARTY_LIBS += -lgsmcodec
76APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libgsmcodec.$(SHLIB_SUFFIX)
77endif
78endif
79endif
80
81ifneq (1,1)
82ifeq (0,1)
83APP_THIRD_PARTY_EXT += -lspeex -lspeexdsp
84else
85APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex-$(LIB_SUFFIX)
86ifeq ($(PJ_SHARED_LIBRARIES),)
87APP_THIRD_PARTY_LIBS += -lspeex-$(TARGET_NAME)
88else
89APP_THIRD_PARTY_LIBS += -lspeex
90APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libspeex.$(SHLIB_SUFFIX)
91endif
92endif
93endif
94
95ifneq (1,1)
96APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec-$(LIB_SUFFIX)
97ifeq ($(PJ_SHARED_LIBRARIES),)
98APP_THIRD_PARTY_LIBS += -lilbccodec-$(TARGET_NAME)
99else
100APP_THIRD_PARTY_LIBS += -lilbccodec
101APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libilbccodec.$(SHLIB_SUFFIX)
102endif
103endif
104
105ifneq (1,1)
106APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec-$(LIB_SUFFIX)
107ifeq ($(PJ_SHARED_LIBRARIES),)
108APP_THIRD_PARTY_LIBS += -lg7221codec-$(TARGET_NAME)
109else
110APP_THIRD_PARTY_LIBS += -lg7221codec
111APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libg7221codec.$(SHLIB_SUFFIX)
112endif
113endif
114
115ifneq ($(findstring pa,external),)
116ifeq (0,1)
117# External PA
118APP_THIRD_PARTY_EXT += -lportaudio
119else
120APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libportaudio-$(LIB_SUFFIX)
121ifeq ($(PJ_SHARED_LIBRARIES),)
122APP_THIRD_PARTY_LIBS += -lportaudio-$(TARGET_NAME)
123else
124APP_THIRD_PARTY_LIBS += -lportaudio
125APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libportaudio.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libportaudio.$(SHLIB_SUFFIX)
126endif
127endif
128endif
129
130# Additional flags
131
132
133#
134# Video
135# Note: there are duplicated macros in pjmedia/os-auto.mak.in (and that's not
136# good!
137
138# SDL flags
139SDL_CFLAGS =
140SDL_LDFLAGS =
141
142# FFMPEG dlags
143FFMPEG_CFLAGS =
144FFMPEG_LDFLAGS =
145
146# Video4Linux2
147V4L2_CFLAGS =
148V4L2_LDFLAGS =
149
150# QT
151AC_PJMEDIA_VIDEO_HAS_QT =
152QT_CFLAGS =
153
154# iOS
155IOS_CFLAGS =
156
157# PJMEDIA features exclusion
158PJ_VIDEO_CFLAGS += $(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(QT_CFLAGS) \
159 $(IOS_CFLAGS)
160PJ_VIDEO_LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS)
161
162
163# CFLAGS, LDFLAGS, and LIBS to be used by applications
164export APP_CC := /home/lisional/Dev/ADT/ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc
165export APP_CXX := /home/lisional/Dev/ADT/ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++
166export APP_CFLAGS := -DPJ_AUTOCONF=1\
167 -fpic -ffunction-sections -funwind-tables -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Os -g -DNDEBUG -fomit-frame-pointer -finline-limit=64 -O0 -UNDEBUG -marm -fno-omit-frame-pointer -Ijni -DANDROID -Wa,--noexecstack -Wformat -Werror=format-security -I/home/lisional/Dev/ADT/ndk/platforms/android-19/arch-arm/usr/include -I/home/lisional/Dev/ADT/ndk/sources/cxx-stl/gnu-libstdc++/4.8/include -I/home/lisional/Dev/ADT/ndk/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1\
168 $(PJ_VIDEO_CFLAGS) \
169 -I$(PJDIR)/pjlib/include\
170 -I$(PJDIR)/pjlib-util/include\
171 -I$(PJDIR)/pjnath/include\
172 -I$(PJDIR)/pjmedia/include\
173 -I$(PJDIR)/pjsip/include
174export APP_CXXFLAGS := $(APP_CFLAGS)
175# x x x x x x x x x x x x x x x x x x x x x x x x
176#
177# FIX THIS
178#
179# pjsua2 is c++ library hence maybe needs to be put in separate
180# variables. it will also require -lstdc++ or -static-libstdc++
181# x x x x x x x x x x x x x x x x x x x x x x x x
182export APP_LDFLAGS := -L$(PJDIR)/pjlib/lib\
183 -L$(PJDIR)/pjlib-util/lib\
184 -L$(PJDIR)/pjnath/lib\
185 -L$(PJDIR)/pjmedia/lib\
186 -L$(PJDIR)/pjsip/lib\
187 -L$(PJDIR)/third_party/lib\
188 $(PJ_VIDEO_LDFLAGS) \
189 -static-libstdc++ \
190 -nostdlib -L/home/lisional/Dev/ADT/ndk/platforms/android-19/arch-arm/usr/lib/ -L/home/lisional/Dev/ADT/ndk/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a
191
192# x x x x x x x x x x x x x x x x x x x x x x x x
193#
194# FIX THIS
195#
196# pjsua2 is c++ library hence maybe needs to be put in separate
197# variables. it will also require -lstdc++
198# x x x x x x x x x x x x x x x x x x x x x x x x
199export APP_LIB_FILES = \
200 $(PJ_DIR)/pjsip/lib/libpjsua2-$(LIB_SUFFIX) \
201 $(PJ_DIR)/pjsip/lib/libpjsua-$(LIB_SUFFIX) \
202 $(PJ_DIR)/pjsip/lib/libpjsip-ua-$(LIB_SUFFIX) \
203 $(PJ_DIR)/pjsip/lib/libpjsip-simple-$(LIB_SUFFIX) \
204 $(PJ_DIR)/pjsip/lib/libpjsip-$(LIB_SUFFIX) \
205 $(PJ_DIR)/pjmedia/lib/libpjmedia-codec-$(LIB_SUFFIX) \
206 $(PJ_DIR)/pjmedia/lib/libpjmedia-videodev-$(LIB_SUFFIX) \
207 $(PJ_DIR)/pjmedia/lib/libpjmedia-$(LIB_SUFFIX) \
208 $(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev-$(LIB_SUFFIX) \
209 $(PJ_DIR)/pjnath/lib/libpjnath-$(LIB_SUFFIX) \
210 $(PJ_DIR)/pjlib-util/lib/libpjlib-util-$(LIB_SUFFIX) \
211 $(APP_THIRD_PARTY_LIB_FILES) \
212 $(PJ_DIR)/pjlib/lib/libpj-$(LIB_SUFFIX)
213
214ifeq ($(PJ_SHARED_LIBRARIES),)
215export PJLIB_LDLIB := -lpj-$(TARGET_NAME)
216export PJLIB_UTIL_LDLIB := -lpjlib-util-$(TARGET_NAME)
217export PJNATH_LDLIB := -lpjnath-$(TARGET_NAME)
218export PJMEDIA_AUDIODEV_LDLIB := -lpjmedia-audiodev-$(TARGET_NAME)
219export PJMEDIA_VIDEODEV_LDLIB := -lpjmedia-videodev-$(TARGET_NAME)
220export PJMEDIA_LDLIB := -lpjmedia-$(TARGET_NAME)
221export PJMEDIA_CODEC_LDLIB := -lpjmedia-codec-$(TARGET_NAME)
222export PJSIP_LDLIB := -lpjsip-$(TARGET_NAME)
223export PJSIP_SIMPLE_LDLIB := -lpjsip-simple-$(TARGET_NAME)
224export PJSIP_UA_LDLIB := -lpjsip-ua-$(TARGET_NAME)
225export PJSUA_LIB_LDLIB := -lpjsua-$(TARGET_NAME)
226export PJSUA2_LIB_LDLIB := -lpjsua2-$(TARGET_NAME)
227else
228export PJLIB_LDLIB := -lpj
229export PJLIB_UTIL_LDLIB := -lpjlib-util
230export PJNATH_LDLIB := -lpjnath
231export PJMEDIA_AUDIODEV_LDLIB := -lpjmedia-audiodev
232export PJMEDIA_VIDEODEV_LDLIB := -lpjmedia-videodev
233export PJMEDIA_LDLIB := -lpjmedia
234export PJMEDIA_CODEC_LDLIB := -lpjmedia-codec
235export PJSIP_LDLIB := -lpjsip
236export PJSIP_SIMPLE_LDLIB := -lpjsip-simple
237export PJSIP_UA_LDLIB := -lpjsip-ua
238export PJSUA_LIB_LDLIB := -lpjsua
239export PJSUA2_LIB_LDLIB := -lpjsua2
240
241APP_LIB_FILES += $(PJ_DIR)/pjsip/lib/libpjsua.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsua.$(SHLIB_SUFFIX) \
242 $(PJ_DIR)/pjsip/lib/libpjsip-ua.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip-ua.$(SHLIB_SUFFIX) \
243 $(PJ_DIR)/pjsip/lib/libpjsip-simple.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip-simple.$(SHLIB_SUFFIX) \
244 $(PJ_DIR)/pjsip/lib/libpjsip.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip.$(SHLIB_SUFFIX) \
245 $(PJ_DIR)/pjmedia/lib/libpjmedia-codec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-codec.$(SHLIB_SUFFIX) \
246 $(PJ_DIR)/pjmedia/lib/libpjmedia-videodev.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-videodev.$(SHLIB_SUFFIX) \
247 $(PJ_DIR)/pjmedia/lib/libpjmedia.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia.$(SHLIB_SUFFIX) \
248 $(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev.$(SHLIB_SUFFIX) \
249 $(PJ_DIR)/pjnath/lib/libpjnath.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjnath/lib/libpjnath.$(SHLIB_SUFFIX) \
250 $(PJ_DIR)/pjlib-util/lib/libpjlib-util.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjlib-util/lib/libpjlib-util.$(SHLIB_SUFFIX) \
251 $(PJ_DIR)/pjlib/lib/libpj.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjlib/lib/libpj.$(SHLIB_SUFFIX)
252endif
253
254export APP_LDLIBS := $(PJSUA2_LIB_LDLIB) \
255 $(PJSUA_LIB_LDLIB) \
256 $(PJSIP_UA_LDLIB) \
257 $(PJSIP_SIMPLE_LDLIB) \
258 $(PJSIP_LDLIB) \
259 $(PJMEDIA_CODEC_LDLIB) \
260 $(PJMEDIA_LDLIB) \
261 $(PJMEDIA_VIDEODEV_LDLIB) \
262 $(PJMEDIA_AUDIODEV_LDLIB) \
263 $(PJNATH_LDLIB) \
264 $(PJLIB_UTIL_LDLIB) \
265 $(APP_THIRD_PARTY_LIBS)\
266 $(APP_THIRD_PARTY_EXT)\
267 $(PJLIB_LDLIB) \
268 -lm /home/lisional/Dev/ADT/ndk/platforms/android-19/arch-arm/usr/lib/crtbegin_so.o -lgnustl_shared -lc -lgcc -llog -lgcc
269
270# Here are the variabels to use if application is using the library
271# from within the source distribution
272export PJ_CC := $(APP_CC)
273export PJ_CXX := $(APP_CXX)
274export PJ_CFLAGS := $(APP_CFLAGS)
275export PJ_CXXFLAGS := $(APP_CXXFLAGS)
276export PJ_LDFLAGS := $(APP_LDFLAGS)
277export PJ_LDLIBS := $(APP_LDLIBS)
278export PJ_LIB_FILES := $(APP_LIB_FILES)
279
280# And here are the variables to use if application is using the
281# library from the install location (i.e. --prefix)
282export PJ_INSTALL_DIR := /usr/local
283export PJ_INSTALL_INC_DIR := ${prefix}/include
284export PJ_INSTALL_LIB_DIR := ${exec_prefix}/lib
285export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1 -fpic -ffunction-sections -funwind-tables -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Os -g -DNDEBUG -fomit-frame-pointer -finline-limit=64 -O0 -UNDEBUG -marm -fno-omit-frame-pointer -Ijni -DANDROID -Wa,--noexecstack -Wformat -Werror=format-security -I/home/lisional/Dev/ADT/ndk/platforms/android-19/arch-arm/usr/include -I/home/lisional/Dev/ADT/ndk/sources/cxx-stl/gnu-libstdc++/4.8/include -I/home/lisional/Dev/ADT/ndk/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1
286export PJ_INSTALL_CXXFLAGS := $(PJ_INSTALL_CFLAGS)
287export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(APP_LDLIBS)