blob: 477c1ece34a1a1acb773d107775776c99361b0a7 [file] [log] [blame]
Tristan Matthews0a329cc2013-07-17 13:20:14 -04001export 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_NAME := @target@
11export CROSS_COMPILE := @ac_cross_compile@
12export LINUX_POLL := @ac_linux_poll@
13export SHLIB_SUFFIX := @ac_shlib_suffix@
14
Alexandre Lision8af73cb2013-12-10 14:11:20 -050015export prefix := @prefix@
16export exec_prefix := @exec_prefix@
17export includedir := @includedir@
18export libdir := @libdir@
Tristan Matthews0a329cc2013-07-17 13:20:14 -040019
20LIB_SUFFIX = $(TARGET_NAME).a
21
Alexandre Lision8af73cb2013-12-10 14:11:20 -050022ifeq (@ac_shared_libraries@,1)
23export PJ_SHARED_LIBRARIES := 1
24endif
Tristan Matthews0a329cc2013-07-17 13:20:14 -040025
Alexandre Lision8af73cb2013-12-10 14:11:20 -050026# 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) $(PJ_DIR)/third_party/lib/libsrtp-$(LIB_SUFFIX)
30ifeq ($(PJ_SHARED_LIBRARIES),)
31APP_THIRD_PARTY_LIBS += -lmilenage-$(TARGET_NAME) -lsrtp-$(TARGET_NAME)
32else
33APP_THIRD_PARTY_LIBS += -lmilenage -lsrtp
34APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libmilenage.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libmilenage.$(SHLIB_SUFFIX) \
35 $(PJ_DIR)/third_party/lib/libsrtp.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libsrtp.$(SHLIB_SUFFIX)
36endif
37
38APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample-$(LIB_SUFFIX)
39ifeq ($(PJ_SHARED_LIBRARIES),)
Tristan Matthews0a329cc2013-07-17 13:20:14 -040040ifeq (@ac_resample_dll@,1)
41export PJ_RESAMPLE_DLL := 1
Alexandre Lision8af73cb2013-12-10 14:11:20 -050042APP_THIRD_PARTY_LIBS += -lresample
43APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX)
Tristan Matthews0a329cc2013-07-17 13:20:14 -040044else
Alexandre Lision8af73cb2013-12-10 14:11:20 -050045APP_THIRD_PARTY_LIBS += -lresample-$(TARGET_NAME)
46endif
47else
48APP_THIRD_PARTY_LIBS += -lresample
49APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX)
Tristan Matthews0a329cc2013-07-17 13:20:14 -040050endif
51
52ifneq (@ac_no_gsm_codec@,1)
53ifeq (@ac_external_gsm@,1)
54# External GSM library
55APP_THIRD_PARTY_EXT += -lgsm
56else
Tristan Matthews0a329cc2013-07-17 13:20:14 -040057APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec-$(LIB_SUFFIX)
Alexandre Lision8af73cb2013-12-10 14:11:20 -050058ifeq ($(PJ_SHARED_LIBRARIES),)
59APP_THIRD_PARTY_LIBS += -lgsmcodec-$(TARGET_NAME)
60else
61APP_THIRD_PARTY_LIBS += -lgsmcodec
62APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libgsmcodec.$(SHLIB_SUFFIX)
63endif
Tristan Matthews0a329cc2013-07-17 13:20:14 -040064endif
65endif
66
67ifneq (@ac_no_speex_codec@,1)
68ifeq (@ac_external_speex@,1)
69APP_THIRD_PARTY_EXT += -lspeex -lspeexdsp
70else
Tristan Matthews0a329cc2013-07-17 13:20:14 -040071APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex-$(LIB_SUFFIX)
Alexandre Lision8af73cb2013-12-10 14:11:20 -050072ifeq ($(PJ_SHARED_LIBRARIES),)
73APP_THIRD_PARTY_LIBS += -lspeex-$(TARGET_NAME)
74else
75APP_THIRD_PARTY_LIBS += -lspeex
76APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libspeex.$(SHLIB_SUFFIX)
77endif
Tristan Matthews0a329cc2013-07-17 13:20:14 -040078endif
79endif
80
81ifneq (@ac_no_ilbc_codec@,1)
Tristan Matthews0a329cc2013-07-17 13:20:14 -040082APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec-$(LIB_SUFFIX)
Alexandre Lision8af73cb2013-12-10 14:11:20 -050083ifeq ($(PJ_SHARED_LIBRARIES),)
84APP_THIRD_PARTY_LIBS += -lilbccodec-$(TARGET_NAME)
85else
86APP_THIRD_PARTY_LIBS += -lilbccodec
87APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libilbccodec.$(SHLIB_SUFFIX)
88endif
Tristan Matthews0a329cc2013-07-17 13:20:14 -040089endif
90
91ifneq (@ac_no_g7221_codec@,1)
Tristan Matthews0a329cc2013-07-17 13:20:14 -040092APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec-$(LIB_SUFFIX)
Alexandre Lision8af73cb2013-12-10 14:11:20 -050093ifeq ($(PJ_SHARED_LIBRARIES),)
94APP_THIRD_PARTY_LIBS += -lg7221codec-$(TARGET_NAME)
95else
96APP_THIRD_PARTY_LIBS += -lg7221codec
97APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libg7221codec.$(SHLIB_SUFFIX)
98endif
Tristan Matthews0a329cc2013-07-17 13:20:14 -040099endif
100
101ifneq ($(findstring pa,@ac_pjmedia_snd@),)
102ifeq (@ac_external_pa@,1)
103# External PA
104APP_THIRD_PARTY_EXT += -lportaudio
105else
Tristan Matthews0a329cc2013-07-17 13:20:14 -0400106APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libportaudio-$(LIB_SUFFIX)
Alexandre Lision8af73cb2013-12-10 14:11:20 -0500107ifeq ($(PJ_SHARED_LIBRARIES),)
108APP_THIRD_PARTY_LIBS += -lportaudio-$(TARGET_NAME)
109else
110APP_THIRD_PARTY_LIBS += -lportaudio
111APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libportaudio.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libportaudio.$(SHLIB_SUFFIX)
112endif
Tristan Matthews0a329cc2013-07-17 13:20:14 -0400113endif
114endif
115
116# Additional flags
117@ac_build_mak_vars@
118
119#
120# Video
121# Note: there are duplicated macros in pjmedia/os-auto.mak.in (and that's not
122# good!
123
124# SDL flags
125SDL_CFLAGS = @ac_sdl_cflags@
126SDL_LDFLAGS = @ac_sdl_ldflags@
127
128# FFMPEG dlags
129FFMPEG_CFLAGS = @ac_ffmpeg_cflags@
130FFMPEG_LDFLAGS = @ac_ffmpeg_ldflags@
131
132# Video4Linux2
133V4L2_CFLAGS = @ac_v4l2_cflags@
134V4L2_LDFLAGS = @ac_v4l2_ldflags@
135
136# QT
137AC_PJMEDIA_VIDEO_HAS_QT = @ac_pjmedia_video_has_qt@
138QT_CFLAGS = @ac_qt_cflags@
139
140# iOS
141IOS_CFLAGS = @ac_ios_cflags@
142
143# PJMEDIA features exclusion
144PJ_VIDEO_CFLAGS += $(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(QT_CFLAGS) \
145 $(IOS_CFLAGS)
146PJ_VIDEO_LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS)
147
148
149# CFLAGS, LDFLAGS, and LIBS to be used by applications
150export APP_CC := @CC@
151export APP_CXX := @CXX@
152export APP_CFLAGS := -DPJ_AUTOCONF=1\
153 @CFLAGS@\
154 $(PJ_VIDEO_CFLAGS) \
155 -I$(PJDIR)/pjlib/include\
156 -I$(PJDIR)/pjlib-util/include\
157 -I$(PJDIR)/pjnath/include\
158 -I$(PJDIR)/pjmedia/include\
159 -I$(PJDIR)/pjsip/include
160export APP_CXXFLAGS := $(APP_CFLAGS)
161export APP_LDFLAGS := -L$(PJDIR)/pjlib/lib\
162 -L$(PJDIR)/pjlib-util/lib\
163 -L$(PJDIR)/pjnath/lib\
164 -L$(PJDIR)/pjmedia/lib\
165 -L$(PJDIR)/pjsip/lib\
166 -L$(PJDIR)/third_party/lib\
167 $(PJ_VIDEO_LDFLAGS) \
168 @LDFLAGS@
Tristan Matthews0a329cc2013-07-17 13:20:14 -0400169export APP_LIB_FILES = $(PJ_DIR)/pjsip/lib/libpjsua-$(LIB_SUFFIX) \
170 $(PJ_DIR)/pjsip/lib/libpjsip-ua-$(LIB_SUFFIX) \
171 $(PJ_DIR)/pjsip/lib/libpjsip-simple-$(LIB_SUFFIX) \
172 $(PJ_DIR)/pjsip/lib/libpjsip-$(LIB_SUFFIX) \
173 $(PJ_DIR)/pjmedia/lib/libpjmedia-codec-$(LIB_SUFFIX) \
174 $(PJ_DIR)/pjmedia/lib/libpjmedia-videodev-$(LIB_SUFFIX) \
175 $(PJ_DIR)/pjmedia/lib/libpjmedia-$(LIB_SUFFIX) \
176 $(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev-$(LIB_SUFFIX) \
177 $(PJ_DIR)/pjnath/lib/libpjnath-$(LIB_SUFFIX) \
178 $(PJ_DIR)/pjlib-util/lib/libpjlib-util-$(LIB_SUFFIX) \
179 $(APP_THIRD_PARTY_LIB_FILES) \
180 $(PJ_DIR)/pjlib/lib/libpj-$(LIB_SUFFIX)
181
Alexandre Lision8af73cb2013-12-10 14:11:20 -0500182ifeq ($(PJ_SHARED_LIBRARIES),)
183export PJLIB_LDLIB := -lpj-$(TARGET_NAME)
184export PJLIB_UTIL_LDLIB := -lpjlib-util-$(TARGET_NAME)
185export PJNATH_LDLIB := -lpjnath-$(TARGET_NAME)
186export PJMEDIA_AUDIODEV_LDLIB := -lpjmedia-audiodev-$(TARGET_NAME)
187export PJMEDIA_VIDEODEV_LDLIB := -lpjmedia-videodev-$(TARGET_NAME)
188export PJMEDIA_LDLIB := -lpjmedia-$(TARGET_NAME)
189export PJMEDIA_CODEC_LDLIB := -lpjmedia-codec-$(TARGET_NAME)
190export PJSIP_LDLIB := -lpjsip-$(TARGET_NAME)
191export PJSIP_SIMPLE_LDLIB := -lpjsip-simple-$(TARGET_NAME)
192export PJSIP_UA_LDLIB := -lpjsip-ua-$(TARGET_NAME)
193export PJSUA_LIB_LDLIB := -lpjsua-$(TARGET_NAME)
194else
195export PJLIB_LDLIB := -lpj
196export PJLIB_UTIL_LDLIB := -lpjlib-util
197export PJNATH_LDLIB := -lpjnath
198export PJMEDIA_AUDIODEV_LDLIB := -lpjmedia-audiodev
199export PJMEDIA_VIDEODEV_LDLIB := -lpjmedia-videodev
200export PJMEDIA_LDLIB := -lpjmedia
201export PJMEDIA_CODEC_LDLIB := -lpjmedia-codec
202export PJSIP_LDLIB := -lpjsip
203export PJSIP_SIMPLE_LDLIB := -lpjsip-simple
204export PJSIP_UA_LDLIB := -lpjsip-ua
205export PJSUA_LIB_LDLIB := -lpjsua
206
207APP_LIB_FILES += $(PJ_DIR)/pjsip/lib/libpjsua.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsua.$(SHLIB_SUFFIX) \
208 $(PJ_DIR)/pjsip/lib/libpjsip-ua.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip-ua.$(SHLIB_SUFFIX) \
209 $(PJ_DIR)/pjsip/lib/libpjsip-simple.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip-simple.$(SHLIB_SUFFIX) \
210 $(PJ_DIR)/pjsip/lib/libpjsip.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip.$(SHLIB_SUFFIX) \
211 $(PJ_DIR)/pjmedia/lib/libpjmedia-codec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-codec.$(SHLIB_SUFFIX) \
212 $(PJ_DIR)/pjmedia/lib/libpjmedia-videodev.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-videodev.$(SHLIB_SUFFIX) \
213 $(PJ_DIR)/pjmedia/lib/libpjmedia.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia.$(SHLIB_SUFFIX) \
214 $(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev.$(SHLIB_SUFFIX) \
215 $(PJ_DIR)/pjnath/lib/libpjnath.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjnath/lib/libpjnath.$(SHLIB_SUFFIX) \
216 $(PJ_DIR)/pjlib-util/lib/libpjlib-util.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjlib-util/lib/libpjlib-util.$(SHLIB_SUFFIX) \
217 $(PJ_DIR)/pjlib/lib/libpj.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjlib/lib/libpj.$(SHLIB_SUFFIX)
218endif
219
220export APP_LDLIBS := $(PJSUA_LIB_LDLIB) \
221 $(PJSIP_UA_LDLIB) \
222 $(PJSIP_SIMPLE_LDLIB) \
223 $(PJSIP_LDLIB) \
224 $(PJMEDIA_CODEC_LDLIB) \
225 $(PJMEDIA_LDLIB) \
226 $(PJMEDIA_VIDEODEV_LDLIB) \
227 $(PJMEDIA_AUDIODEV_LDLIB) \
228 $(PJNATH_LDLIB) \
229 $(PJLIB_UTIL_LDLIB) \
230 $(APP_THIRD_PARTY_LIBS)\
231 $(APP_THIRD_PARTY_EXT)\
232 $(PJLIB_LDLIB) \
233 @LIBS@
234
Tristan Matthews0a329cc2013-07-17 13:20:14 -0400235# Here are the variabels to use if application is using the library
236# from within the source distribution
237export PJ_CC := $(APP_CC)
238export PJ_CXX := $(APP_CXX)
239export PJ_CFLAGS := $(APP_CFLAGS)
240export PJ_CXXFLAGS := $(APP_CXXFLAGS)
241export PJ_LDFLAGS := $(APP_LDFLAGS)
242export PJ_LDLIBS := $(APP_LDLIBS)
243export PJ_LIB_FILES := $(APP_LIB_FILES)
244
245# And here are the variables to use if application is using the
246# library from the install location (i.e. --prefix)
247export PJ_INSTALL_DIR := @prefix@
Alexandre Lision8af73cb2013-12-10 14:11:20 -0500248export PJ_INSTALL_INC_DIR := @includedir@
249export PJ_INSTALL_LIB_DIR := @libdir@
Tristan Matthews0a329cc2013-07-17 13:20:14 -0400250export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1 @CFLAGS@
251export PJ_INSTALL_CXXFLAGS := $(PJ_INSTALL_CFLAGS)
252export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(APP_LDLIBS)