blob: 5ea6e79d6a875415b6a2fdb1cb32a37bae1ae99a [file] [log] [blame]
Benny Prijono28d3c562012-03-30 07:10:13 +00001export PJDIR := @ac_pjdir@
2include $(PJDIR)/version.mak
3export PJ_DIR := $(PJDIR)
4
Benny Prijonoc4c61d02006-08-20 20:47:34 +00005# @configure_input@
6export MACHINE_NAME := auto
7export OS_NAME := auto
8export HOST_NAME := unix
Benny Prijono5b818b22006-09-17 22:58:51 +00009export CC_NAME := gcc
Benny Prijonoc4c61d02006-08-20 20:47:34 +000010export TARGET_NAME := @target@
11export CROSS_COMPILE := @ac_cross_compile@
12export LINUX_POLL := @ac_linux_poll@
Benny Prijono28d3c562012-03-30 07:10:13 +000013export SHLIB_SUFFIX := @ac_shlib_suffix@
Benny Prijono12483112007-03-12 10:44:38 +000014
Benny Prijonoddd47142010-01-15 15:06:20 +000015export ac_prefix := @prefix@
16
Benny Prijonob1c62042008-07-29 11:42:20 +000017LIB_SUFFIX = $(TARGET_NAME).a
18
Benny Prijono25dfd1d2007-04-17 16:16:01 +000019# Determine which party libraries to use
Benny Prijono28d3c562012-03-30 07:10:13 +000020export APP_THIRD_PARTY_LIBS := -lmilenage-$(TARGET_NAME) -lsrtp-$(TARGET_NAME)
Benny Prijonoddd47142010-01-15 15:06:20 +000021export APP_THIRD_PARTY_EXT :=
Benny Prijono28d3c562012-03-30 07:10:13 +000022export APP_THIRD_PARTY_LIB_FILES := $(PJ_DIR)/third_party/lib/libmilenage-$(LIB_SUFFIX) $(PJ_DIR)/third_party/lib/libsrtp-$(LIB_SUFFIX)
23
24ifeq (@ac_resample_dll@,1)
25export PJ_RESAMPLE_DLL := 1
26export APP_THIRD_PARTY_LIBS := -lresample $(APP_THIRD_PARTY_LIBS)
27export APP_THIRD_PARTY_LIB_FILES := $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX) $(APP_THIRD_PARTY_LIB_FILES)
28else
29export APP_THIRD_PARTY_LIBS := -lresample-$(TARGET_NAME) $(APP_THIRD_PARTY_LIBS)
30export APP_THIRD_PARTY_LIB_FILES := $(PJ_DIR)/third_party/lib/libresample-$(LIB_SUFFIX) $(APP_THIRD_PARTY_LIB_FILES)
31endif
Benny Prijono25dfd1d2007-04-17 16:16:01 +000032
33ifneq (@ac_no_gsm_codec@,1)
Benny Prijono8a9b3b22010-01-14 14:46:54 +000034ifeq (@ac_external_gsm@,1)
35# External GSM library
Benny Prijonoddd47142010-01-15 15:06:20 +000036APP_THIRD_PARTY_EXT += -lgsm
Benny Prijono8a9b3b22010-01-14 14:46:54 +000037else
Benny Prijono25dfd1d2007-04-17 16:16:01 +000038APP_THIRD_PARTY_LIBS += -lgsmcodec-$(TARGET_NAME)
Benny Prijonob1c62042008-07-29 11:42:20 +000039APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec-$(LIB_SUFFIX)
Benny Prijono25dfd1d2007-04-17 16:16:01 +000040endif
Benny Prijono8a9b3b22010-01-14 14:46:54 +000041endif
Benny Prijono25dfd1d2007-04-17 16:16:01 +000042
43ifneq (@ac_no_speex_codec@,1)
Benny Prijono8a9b3b22010-01-14 14:46:54 +000044ifeq (@ac_external_speex@,1)
Benny Prijonoddd47142010-01-15 15:06:20 +000045APP_THIRD_PARTY_EXT += -lspeex -lspeexdsp
Benny Prijono8a9b3b22010-01-14 14:46:54 +000046else
Benny Prijono25dfd1d2007-04-17 16:16:01 +000047APP_THIRD_PARTY_LIBS += -lspeex-$(TARGET_NAME)
Benny Prijonob1c62042008-07-29 11:42:20 +000048APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex-$(LIB_SUFFIX)
Benny Prijono25dfd1d2007-04-17 16:16:01 +000049endif
Benny Prijono8a9b3b22010-01-14 14:46:54 +000050endif
Benny Prijono25dfd1d2007-04-17 16:16:01 +000051
52ifneq (@ac_no_ilbc_codec@,1)
53APP_THIRD_PARTY_LIBS += -lilbccodec-$(TARGET_NAME)
Benny Prijonob1c62042008-07-29 11:42:20 +000054APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec-$(LIB_SUFFIX)
Benny Prijono25dfd1d2007-04-17 16:16:01 +000055endif
56
Nanang Izzuddin56e380a2009-04-15 14:45:41 +000057ifneq (@ac_no_g7221_codec@,1)
58APP_THIRD_PARTY_LIBS += -lg7221codec-$(TARGET_NAME)
59APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec-$(LIB_SUFFIX)
60endif
61
Benny Prijono8a9b3b22010-01-14 14:46:54 +000062ifneq ($(findstring pa,@ac_pjmedia_snd@),)
63ifeq (@ac_external_pa@,1)
Benny Prijonoddd47142010-01-15 15:06:20 +000064# External PA
65APP_THIRD_PARTY_EXT += -lportaudio
Benny Prijonofe0c1272010-01-13 16:28:15 +000066else
Benny Prijono25dfd1d2007-04-17 16:16:01 +000067APP_THIRD_PARTY_LIBS += -lportaudio-$(TARGET_NAME)
Benny Prijonob1c62042008-07-29 11:42:20 +000068APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libportaudio-$(LIB_SUFFIX)
Benny Prijono25dfd1d2007-04-17 16:16:01 +000069endif
Benny Prijonofe0c1272010-01-13 16:28:15 +000070endif
Benny Prijono25dfd1d2007-04-17 16:16:01 +000071
Benny Prijono0822c192008-08-21 20:59:58 +000072# Additional flags
73@ac_build_mak_vars@
Benny Prijono25dfd1d2007-04-17 16:16:01 +000074
Benny Prijono0bc99a92011-03-17 04:34:43 +000075#
76# Video
77# Note: there are duplicated macros in pjmedia/os-auto.mak.in (and that's not
78# good!
79
80# SDL flags
81SDL_CFLAGS = @ac_sdl_cflags@
82SDL_LDFLAGS = @ac_sdl_ldflags@
83
84# FFMPEG dlags
85FFMPEG_CFLAGS = @ac_ffmpeg_cflags@
86FFMPEG_LDFLAGS = @ac_ffmpeg_ldflags@
87
88# Video4Linux2
89V4L2_CFLAGS = @ac_v4l2_cflags@
90V4L2_LDFLAGS = @ac_v4l2_ldflags@
91
92# QT
93AC_PJMEDIA_VIDEO_HAS_QT = @ac_pjmedia_video_has_qt@
94QT_CFLAGS = @ac_qt_cflags@
95
96# iOS
97IOS_CFLAGS = @ac_ios_cflags@
98
99# PJMEDIA features exclusion
100PJ_VIDEO_CFLAGS += $(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(QT_CFLAGS) \
101 $(IOS_CFLAGS)
102PJ_VIDEO_LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS)
103
104
Benny Prijono25dfd1d2007-04-17 16:16:01 +0000105# CFLAGS, LDFLAGS, and LIBS to be used by applications
Benny Prijono8ec5eae2010-05-12 10:59:20 +0000106export APP_CC := @CC@
107export APP_CXX := @CXX@
Benny Prijono12483112007-03-12 10:44:38 +0000108export APP_CFLAGS := -DPJ_AUTOCONF=1\
109 @CFLAGS@\
Benny Prijono0bc99a92011-03-17 04:34:43 +0000110 $(PJ_VIDEO_CFLAGS) \
Benny Prijono12483112007-03-12 10:44:38 +0000111 -I$(PJDIR)/pjlib/include\
112 -I$(PJDIR)/pjlib-util/include\
Benny Prijono25dfd1d2007-04-17 16:16:01 +0000113 -I$(PJDIR)/pjnath/include\
Benny Prijono12483112007-03-12 10:44:38 +0000114 -I$(PJDIR)/pjmedia/include\
115 -I$(PJDIR)/pjsip/include
116export APP_CXXFLAGS := $(APP_CFLAGS)
117export APP_LDFLAGS := -L$(PJDIR)/pjlib/lib\
118 -L$(PJDIR)/pjlib-util/lib\
Benny Prijono25dfd1d2007-04-17 16:16:01 +0000119 -L$(PJDIR)/pjnath/lib\
Benny Prijono12483112007-03-12 10:44:38 +0000120 -L$(PJDIR)/pjmedia/lib\
121 -L$(PJDIR)/pjsip/lib\
Benny Prijono25dfd1d2007-04-17 16:16:01 +0000122 -L$(PJDIR)/third_party/lib\
Benny Prijono0bc99a92011-03-17 04:34:43 +0000123 $(PJ_VIDEO_LDFLAGS) \
Benny Prijono12483112007-03-12 10:44:38 +0000124 @LDFLAGS@
125export APP_LDLIBS := -lpjsua-$(TARGET_NAME)\
126 -lpjsip-ua-$(TARGET_NAME)\
127 -lpjsip-simple-$(TARGET_NAME)\
128 -lpjsip-$(TARGET_NAME)\
129 -lpjmedia-codec-$(TARGET_NAME)\
Benny Prijono69b1f822010-12-10 11:33:01 +0000130 -lpjmedia-videodev-$(TARGET_NAME)\
Benny Prijono12483112007-03-12 10:44:38 +0000131 -lpjmedia-$(TARGET_NAME)\
Benny Prijonoccd90bb2009-03-10 15:14:11 +0000132 -lpjmedia-audiodev-$(TARGET_NAME)\
Benny Prijono25dfd1d2007-04-17 16:16:01 +0000133 -lpjnath-$(TARGET_NAME)\
Benny Prijono12483112007-03-12 10:44:38 +0000134 -lpjlib-util-$(TARGET_NAME)\
Benny Prijono25dfd1d2007-04-17 16:16:01 +0000135 $(APP_THIRD_PARTY_LIBS)\
Benny Prijonoddd47142010-01-15 15:06:20 +0000136 $(APP_THIRD_PARTY_EXT)\
Benny Prijono12483112007-03-12 10:44:38 +0000137 -lpj-$(TARGET_NAME)\
138 @LIBS@
Benny Prijonob1c62042008-07-29 11:42:20 +0000139export APP_LIB_FILES = $(PJ_DIR)/pjsip/lib/libpjsua-$(LIB_SUFFIX) \
140 $(PJ_DIR)/pjsip/lib/libpjsip-ua-$(LIB_SUFFIX) \
141 $(PJ_DIR)/pjsip/lib/libpjsip-simple-$(LIB_SUFFIX) \
142 $(PJ_DIR)/pjsip/lib/libpjsip-$(LIB_SUFFIX) \
143 $(PJ_DIR)/pjmedia/lib/libpjmedia-codec-$(LIB_SUFFIX) \
Benny Prijono69b1f822010-12-10 11:33:01 +0000144 $(PJ_DIR)/pjmedia/lib/libpjmedia-videodev-$(LIB_SUFFIX) \
Benny Prijonob1c62042008-07-29 11:42:20 +0000145 $(PJ_DIR)/pjmedia/lib/libpjmedia-$(LIB_SUFFIX) \
Benny Prijonod0ebbc52009-04-06 10:00:56 +0000146 $(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev-$(LIB_SUFFIX) \
Benny Prijonob1c62042008-07-29 11:42:20 +0000147 $(PJ_DIR)/pjnath/lib/libpjnath-$(LIB_SUFFIX) \
148 $(PJ_DIR)/pjlib-util/lib/libpjlib-util-$(LIB_SUFFIX) \
149 $(APP_THIRD_PARTY_LIB_FILES) \
150 $(PJ_DIR)/pjlib/lib/libpj-$(LIB_SUFFIX)
Benny Prijono12483112007-03-12 10:44:38 +0000151
Benny Prijonoddd47142010-01-15 15:06:20 +0000152# Here are the variabels to use if application is using the library
153# from within the source distribution
Benny Prijono25dfd1d2007-04-17 16:16:01 +0000154export PJ_CC := $(APP_CC)
Benny Prijono8ec5eae2010-05-12 10:59:20 +0000155export PJ_CXX := $(APP_CXX)
Benny Prijono25dfd1d2007-04-17 16:16:01 +0000156export PJ_CFLAGS := $(APP_CFLAGS)
157export PJ_CXXFLAGS := $(APP_CXXFLAGS)
158export PJ_LDFLAGS := $(APP_LDFLAGS)
159export PJ_LDLIBS := $(APP_LDLIBS)
Benny Prijonob1c62042008-07-29 11:42:20 +0000160export PJ_LIB_FILES := $(APP_LIB_FILES)
Benny Prijono25dfd1d2007-04-17 16:16:01 +0000161
Benny Prijonoddd47142010-01-15 15:06:20 +0000162# And here are the variables to use if application is using the
163# library from the install location (i.e. --prefix)
164export PJ_INSTALL_DIR := @prefix@
165export PJ_INSTALL_INC_DIR := $(PJ_INSTALL_DIR)/include
166export PJ_INSTALL_LIB_DIR := $(PJ_INSTALL_DIR)/lib
167export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1 @CFLAGS@
168export PJ_INSTALL_CXXFLAGS := $(PJ_INSTALL_CFLAGS)
169export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(APP_LDLIBS)