1export PJDIR := @ac_pjdir@
2include $(PJDIR)/version.mak
3export PJ_DIR := $(PJDIR)
4
5# @configure_input@
6export MACHINE_NAME := auto
7export OS_NAME := auto
8export HOST_NAME := unix
9export CC_NAME := gcc
10export TARGET_ARCH := @ac_target_arch@
11export TARGET_NAME := @target@
12export CROSS_COMPILE := @ac_cross_compile@
13export LINUX_POLL := @ac_linux_poll@
14export SHLIB_SUFFIX := @ac_shlib_suffix@
15
16export prefix := @prefix@
17export exec_prefix := @exec_prefix@
18export includedir := @includedir@
19export libdir := @libdir@
20
21LIB_SUFFIX := $(TARGET_NAME).a
22
23ifeq (@ac_shared_libraries@,1)
24export PJ_SHARED_LIBRARIES := 1
25endif
26
27ifeq (@ac_no_pjsua2@,1)
28export PJ_EXCLUDE_PJSUA2 := 1
29endif
30
31ifndef EXCLUDE_APP
32ifeq ($(findstring android,$(TARGET_NAME)),)
33export EXCLUDE_APP := 0
34else
35export EXCLUDE_APP := 1
36endif
37endif
38
39# Determine which party libraries to use
40export APP_THIRD_PARTY_EXT :=
41export APP_THIRD_PARTY_LIBS :=
42export APP_THIRD_PARTY_LIB_FILES :=
43
44ifneq (@ac_external_srtp@,0)
45# External SRTP library
46APP_THIRD_PARTY_EXT += -l@ac_external_srtp_lib@
47else
48APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libsrtp-$(LIB_SUFFIX)
49ifeq ($(PJ_SHARED_LIBRARIES),)
50APP_THIRD_PARTY_LIBS += -lsrtp-$(TARGET_NAME)
51else
52APP_THIRD_PARTY_LIBS += -lsrtp
53APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libsrtp.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libsrtp.$(SHLIB_SUFFIX)
54endif
55endif
56
57ifeq (@ac_pjmedia_resample@,libresample)
58APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample-$(LIB_SUFFIX)
59ifeq ($(PJ_SHARED_LIBRARIES),)
60ifeq (@ac_resample_dll@,1)
61export PJ_RESAMPLE_DLL := 1
62APP_THIRD_PARTY_LIBS += -lresample
63APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX)
64else
65APP_THIRD_PARTY_LIBS += -lresample-$(TARGET_NAME)
66endif
67else
68APP_THIRD_PARTY_LIBS += -lresample
69APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX)
70endif
71endif
72
73ifneq (@ac_no_gsm_codec@,1)
74ifeq (@ac_external_gsm@,1)
75# External GSM library
76APP_THIRD_PARTY_EXT += -lgsm
77else
78APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec-$(LIB_SUFFIX)
79ifeq ($(PJ_SHARED_LIBRARIES),)
80APP_THIRD_PARTY_LIBS += -lgsmcodec-$(TARGET_NAME)
81else
82APP_THIRD_PARTY_LIBS += -lgsmcodec
83APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libgsmcodec.$(SHLIB_SUFFIX)
84endif
85endif
86endif
87
88ifneq (@ac_no_speex_codec@,1)
89ifeq (@ac_external_speex@,1)
90APP_THIRD_PARTY_EXT += -lspeex -lspeexdsp
91else
92APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex-$(LIB_SUFFIX)
93ifeq ($(PJ_SHARED_LIBRARIES),)
94APP_THIRD_PARTY_LIBS += -lspeex-$(TARGET_NAME)
95else
96APP_THIRD_PARTY_LIBS += -lspeex
97APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libspeex.$(SHLIB_SUFFIX)
98endif
99endif
100endif
101
102ifneq (@ac_no_ilbc_codec@,1)
103APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec-$(LIB_SUFFIX)
104ifeq ($(PJ_SHARED_LIBRARIES),)
105APP_THIRD_PARTY_LIBS += -lilbccodec-$(TARGET_NAME)
106else
107APP_THIRD_PARTY_LIBS += -lilbccodec
108APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libilbccodec.$(SHLIB_SUFFIX)
109endif
110endif
111
112ifneq (@ac_no_g7221_codec@,1)
113APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec-$(LIB_SUFFIX)
114ifeq ($(PJ_SHARED_LIBRARIES),)
115APP_THIRD_PARTY_LIBS += -lg7221codec-$(TARGET_NAME)
116else
117APP_THIRD_PARTY_LIBS += -lg7221codec
118APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libg7221codec.$(SHLIB_SUFFIX)
119endif
120endif
121
122ifeq (@ac_external_pa@,1)
123# External PA
124APP_THIRD_PARTY_EXT += -lportaudio
125endif
126
127ifneq (@ac_no_yuv@,1)
128ifeq (@ac_external_yuv@,1)
129APP_THIRD_PARTY_EXT += -lyuv
130else
131APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libyuv-$(LIB_SUFFIX)
132ifeq ($(PJ_SHARED_LIBRARIES),)
133APP_THIRD_PARTY_LIBS += -lyuv-$(TARGET_NAME)
134else
135APP_THIRD_PARTY_LIBS += -lyuv
136APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libyuv.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libyuv.$(SHLIB_SUFFIX)
137endif
138endif
139endif
140
141ifneq (@ac_no_webrtc@,1)
142ifeq (@ac_external_webrtc@,1)
143APP_THIRD_PARTY_EXT += -lwebrtc
144else
145APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libwebrtc-$(LIB_SUFFIX)
146ifeq ($(PJ_SHARED_LIBRARIES),)
147APP_THIRD_PARTY_LIBS += -lwebrtc-$(TARGET_NAME)
148else
149APP_THIRD_PARTY_LIBS += -lwebrtc
150APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libwebrtc.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libwebrtc.$(SHLIB_SUFFIX)
151endif
152endif
153endif
154
155
156# Additional flags
157@ac_build_mak_vars@
158
159#
160# Video
161# Note: there are duplicated macros in pjmedia/os-auto.mak.in (and that's not
162#       good!
163
164# SDL flags
165SDL_CFLAGS = @ac_sdl_cflags@
166SDL_LDFLAGS = @ac_sdl_ldflags@
167
168# FFMPEG flags
169FFMPEG_CFLAGS = @ac_ffmpeg_cflags@
170FFMPEG_LDFLAGS =  @ac_ffmpeg_ldflags@
171
172# Video4Linux2
173V4L2_CFLAGS = @ac_v4l2_cflags@
174V4L2_LDFLAGS = @ac_v4l2_ldflags@
175
176# OPENH264 flags
177OPENH264_CFLAGS = @ac_openh264_cflags@
178OPENH264_LDFLAGS =  @ac_openh264_ldflags@
179
180# VPX flags
181VPX_CFLAGS = @ac_vpx_cflags@
182VPX_LDFLAGS =  @ac_vpx_ldflags@
183
184# QT
185AC_PJMEDIA_VIDEO_HAS_QT = @ac_pjmedia_video_has_qt@
186# QT_CFLAGS = @ac_qt_cflags@
187
188# Darwin (Mac and iOS)
189AC_PJMEDIA_VIDEO_HAS_DARWIN = @ac_pjmedia_video_has_darwin@
190AC_PJMEDIA_VIDEO_HAS_VTOOLBOX = @ac_pjmedia_video_has_vtoolbox@
191AC_PJMEDIA_VIDEO_HAS_IOS_OPENGL = @ac_pjmedia_video_has_ios_opengl@
192DARWIN_CFLAGS = @ac_darwin_cflags@
193
194# mingw
195AC_PJMEDIA_VIDEO_DEV_HAS_DSHOW = @ac_pjmedia_video_dev_has_dshow@
196ifeq (@ac_pjmedia_video_dev_has_dshow@,yes)
197DSHOW_CFLAGS = @ac_dshow_cflags@
198DSHOW_LDFLAGS = @ac_dshow_ldflags@
199APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libbaseclasses-$(LIB_SUFFIX)
200APP_THIRD_PARTY_LIBS += -lbaseclasses-$(TARGET_NAME)
201endif
202
203# Android
204ANDROID_CFLAGS = @ac_android_cflags@
205
206# PJMEDIA features exclusion
207PJ_VIDEO_CFLAGS += $(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(DSHOW_CFLAGS) $(QT_CFLAGS) \
208		   $(OPENH264_CFLAGS) $(VPX_CFLAGS) $(DARWIN_CFLAGS)
209PJ_VIDEO_LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS) $(DSHOW_LDFLAGS) \
210                   $(OPENH264_LDFLAGS) $(VPX_LDFLAGS)
211
212# CFLAGS, LDFLAGS, and LIBS to be used by applications
213export APP_CC := @CC@
214export APP_CXX := @CXX@
215export APP_CFLAGS := -DPJ_AUTOCONF=1\
216	@CFLAGS@\
217	$(PJ_VIDEO_CFLAGS) \
218	-I$(PJDIR)/pjlib/include\
219	-I$(PJDIR)/pjlib-util/include\
220	-I$(PJDIR)/pjnath/include\
221	-I$(PJDIR)/pjmedia/include\
222	-I$(PJDIR)/pjsip/include
223export APP_CXXFLAGS := @CXXFLAGS@ $(APP_CFLAGS)
224export APP_LDFLAGS := -L$(PJDIR)/pjlib/lib\
225	-L$(PJDIR)/pjlib-util/lib\
226	-L$(PJDIR)/pjnath/lib\
227	-L$(PJDIR)/pjmedia/lib\
228	-L$(PJDIR)/pjsip/lib\
229	-L$(PJDIR)/third_party/lib\
230	$(PJ_VIDEO_LDFLAGS) \
231	@LDFLAGS@
232export APP_LDXXFLAGS := $(APP_LDFLAGS)
233
234export APP_LIB_FILES := \
235	$(PJ_DIR)/pjsip/lib/libpjsua-$(LIB_SUFFIX) \
236	$(PJ_DIR)/pjsip/lib/libpjsip-ua-$(LIB_SUFFIX) \
237	$(PJ_DIR)/pjsip/lib/libpjsip-simple-$(LIB_SUFFIX) \
238	$(PJ_DIR)/pjsip/lib/libpjsip-$(LIB_SUFFIX) \
239	$(PJ_DIR)/pjmedia/lib/libpjmedia-codec-$(LIB_SUFFIX) \
240	$(PJ_DIR)/pjmedia/lib/libpjmedia-videodev-$(LIB_SUFFIX) \
241	$(PJ_DIR)/pjmedia/lib/libpjmedia-$(LIB_SUFFIX) \
242	$(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev-$(LIB_SUFFIX) \
243	$(PJ_DIR)/pjnath/lib/libpjnath-$(LIB_SUFFIX) \
244	$(PJ_DIR)/pjlib-util/lib/libpjlib-util-$(LIB_SUFFIX) \
245	$(APP_THIRD_PARTY_LIB_FILES) \
246	$(PJ_DIR)/pjlib/lib/libpj-$(LIB_SUFFIX)
247export APP_LIBXX_FILES := \
248	$(PJ_DIR)/pjsip/lib/libpjsua2-$(LIB_SUFFIX) \
249	$(APP_LIB_FILES)
250
251ifeq ($(PJ_SHARED_LIBRARIES),)
252export PJLIB_LDLIB := -lpj-$(TARGET_NAME)
253export PJLIB_UTIL_LDLIB := -lpjlib-util-$(TARGET_NAME)
254export PJNATH_LDLIB := -lpjnath-$(TARGET_NAME)
255export PJMEDIA_AUDIODEV_LDLIB := -lpjmedia-audiodev-$(TARGET_NAME)
256export PJMEDIA_VIDEODEV_LDLIB := -lpjmedia-videodev-$(TARGET_NAME)
257export PJMEDIA_LDLIB := -lpjmedia-$(TARGET_NAME)
258export PJMEDIA_CODEC_LDLIB := -lpjmedia-codec-$(TARGET_NAME)
259export PJSIP_LDLIB := -lpjsip-$(TARGET_NAME)
260export PJSIP_SIMPLE_LDLIB := -lpjsip-simple-$(TARGET_NAME)
261export PJSIP_UA_LDLIB := -lpjsip-ua-$(TARGET_NAME)
262export PJSUA_LIB_LDLIB := -lpjsua-$(TARGET_NAME)
263export PJSUA2_LIB_LDLIB := -lpjsua2-$(TARGET_NAME)
264else
265export PJLIB_LDLIB := -lpj
266export PJLIB_UTIL_LDLIB := -lpjlib-util
267export PJNATH_LDLIB := -lpjnath
268export PJMEDIA_AUDIODEV_LDLIB := -lpjmedia-audiodev
269export PJMEDIA_VIDEODEV_LDLIB := -lpjmedia-videodev
270export PJMEDIA_LDLIB := -lpjmedia
271export PJMEDIA_CODEC_LDLIB := -lpjmedia-codec
272export PJSIP_LDLIB := -lpjsip
273export PJSIP_SIMPLE_LDLIB := -lpjsip-simple
274export PJSIP_UA_LDLIB := -lpjsip-ua
275export PJSUA_LIB_LDLIB := -lpjsua
276export PJSUA2_LIB_LDLIB := -lpjsua2
277
278export ADD_LIB_FILES := $(PJ_DIR)/pjsip/lib/libpjsua.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsua.$(SHLIB_SUFFIX) \
279	$(PJ_DIR)/pjsip/lib/libpjsip-ua.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip-ua.$(SHLIB_SUFFIX) \
280	$(PJ_DIR)/pjsip/lib/libpjsip-simple.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip-simple.$(SHLIB_SUFFIX) \
281	$(PJ_DIR)/pjsip/lib/libpjsip.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip.$(SHLIB_SUFFIX) \
282	$(PJ_DIR)/pjmedia/lib/libpjmedia-codec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-codec.$(SHLIB_SUFFIX) \
283	$(PJ_DIR)/pjmedia/lib/libpjmedia-videodev.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-videodev.$(SHLIB_SUFFIX) \
284	$(PJ_DIR)/pjmedia/lib/libpjmedia.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia.$(SHLIB_SUFFIX) \
285	$(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev.$(SHLIB_SUFFIX) \
286	$(PJ_DIR)/pjnath/lib/libpjnath.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjnath/lib/libpjnath.$(SHLIB_SUFFIX) \
287	$(PJ_DIR)/pjlib-util/lib/libpjlib-util.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjlib-util/lib/libpjlib-util.$(SHLIB_SUFFIX) \
288	$(PJ_DIR)/pjlib/lib/libpj.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjlib/lib/libpj.$(SHLIB_SUFFIX)
289
290APP_LIB_FILES += $(ADD_LIB_FILES)
291
292APP_LIBXX_FILES += $(PJ_DIR)/pjsip/lib/libpjsua2.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsua2.$(SHLIB_SUFFIX) \
293	$(ADD_LIB_FILES)
294endif
295
296ifeq ($(PJ_EXCLUDE_PJSUA2),1)
297export PJSUA2_LIB_LDLIB :=
298endif
299
300export APP_LDLIBS := $(PJSUA_LIB_LDLIB) \
301	$(PJSIP_UA_LDLIB) \
302	$(PJSIP_SIMPLE_LDLIB) \
303	$(PJSIP_LDLIB) \
304	$(PJMEDIA_CODEC_LDLIB) \
305	$(PJMEDIA_LDLIB) \
306	$(PJMEDIA_VIDEODEV_LDLIB) \
307	$(PJMEDIA_AUDIODEV_LDLIB) \
308	$(PJMEDIA_LDLIB) \
309	$(PJNATH_LDLIB) \
310	$(PJLIB_UTIL_LDLIB) \
311	$(APP_THIRD_PARTY_LIBS)\
312	$(APP_THIRD_PARTY_EXT)\
313	$(PJLIB_LDLIB) \
314	@LIBS@
315export APP_LDXXLIBS := $(PJSUA2_LIB_LDLIB) \
316	-lstdc++ \
317	$(APP_LDLIBS)
318
319# Here are the variables to use if application is using the library
320# from within the source distribution
321export PJ_CC := $(APP_CC)
322export PJ_CXX := $(APP_CXX)
323export PJ_CFLAGS := $(APP_CFLAGS)
324export PJ_CXXFLAGS := $(APP_CXXFLAGS)
325export PJ_LDFLAGS := $(APP_LDFLAGS)
326export PJ_LDXXFLAGS := $(APP_LDXXFLAGS)
327export PJ_LDLIBS := $(APP_LDLIBS)
328export PJ_LDXXLIBS := $(APP_LDXXLIBS)
329export PJ_LIB_FILES := $(APP_LIB_FILES)
330export PJ_LIBXX_FILES := $(APP_LIBXX_FILES)
331
332# And here are the variables to use if application is using the
333# library from the install location (i.e. --prefix)
334export PJ_INSTALL_DIR := @prefix@
335export PJ_INSTALL_INC_DIR := @includedir@
336export PJ_INSTALL_LIB_DIR := @libdir@
337export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1 @ac_cflags@
338export PJ_INSTALL_LDFLAGS_PRIVATE := $(APP_THIRD_PARTY_LIBS) $(APP_THIRD_PARTY_EXT) @LIBS@
339export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(filter-out $(PJ_INSTALL_LDFLAGS_PRIVATE),$(APP_LDXXLIBS))
340