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