Alexandre Lision | 17b60c3 | 2014-02-03 14:37:59 -0500 | [diff] [blame] | 1 | export PJDIR := /home/lisional/git/sflphone-android/jni/pjproject-android |
| 2 | include $(PJDIR)/version.mak |
| 3 | export PJ_DIR := $(PJDIR) |
| 4 | |
| 5 | # build.mak. Generated from build.mak.in by configure. |
| 6 | export MACHINE_NAME := auto |
| 7 | export OS_NAME := auto |
| 8 | export HOST_NAME := unix |
| 9 | export CC_NAME := gcc |
| 10 | export TARGET_NAME := arm-unknown-linux-androideabi |
| 11 | export CROSS_COMPILE := arm-linux-androideabi- |
| 12 | export LINUX_POLL := select |
| 13 | export SHLIB_SUFFIX := so |
| 14 | |
| 15 | export prefix := /usr/local |
| 16 | export exec_prefix := ${prefix} |
| 17 | export includedir := ${prefix}/include |
| 18 | export libdir := ${exec_prefix}/lib |
| 19 | |
| 20 | LIB_SUFFIX = $(TARGET_NAME).a |
| 21 | |
| 22 | ifeq (,1) |
| 23 | export PJ_SHARED_LIBRARIES := 1 |
| 24 | endif |
| 25 | |
| 26 | # Determine which party libraries to use |
| 27 | export APP_THIRD_PARTY_EXT := |
| 28 | export APP_THIRD_PARTY_LIBS := |
| 29 | export APP_THIRD_PARTY_LIB_FILES := $(PJ_DIR)/third_party/lib/libmilenage-$(LIB_SUFFIX) |
| 30 | ifeq ($(PJ_SHARED_LIBRARIES),) |
| 31 | APP_THIRD_PARTY_LIBS += -lmilenage-$(TARGET_NAME) |
| 32 | else |
| 33 | APP_THIRD_PARTY_LIBS += -lmilenage |
| 34 | APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libmilenage.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libmilenage.$(SHLIB_SUFFIX) |
| 35 | endif |
| 36 | |
| 37 | ifeq (0,1) |
| 38 | # External SRTP library |
| 39 | APP_THIRD_PARTY_EXT += -lsrtp |
| 40 | else |
| 41 | APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libsrtp-$(LIB_SUFFIX) |
| 42 | ifeq ($(PJ_SHARED_LIBRARIES),) |
| 43 | APP_THIRD_PARTY_LIBS += -lsrtp-$(TARGET_NAME) |
| 44 | else |
| 45 | APP_THIRD_PARTY_LIBS += -lsrtp |
| 46 | APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libsrtp.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libsrtp.$(SHLIB_SUFFIX) |
| 47 | endif |
| 48 | endif |
| 49 | |
| 50 | ifeq (libresample,libresample) |
| 51 | APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample-$(LIB_SUFFIX) |
| 52 | ifeq ($(PJ_SHARED_LIBRARIES),) |
| 53 | ifeq (,1) |
| 54 | export PJ_RESAMPLE_DLL := 1 |
| 55 | APP_THIRD_PARTY_LIBS += -lresample |
| 56 | APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX) |
| 57 | else |
| 58 | APP_THIRD_PARTY_LIBS += -lresample-$(TARGET_NAME) |
| 59 | endif |
| 60 | else |
| 61 | APP_THIRD_PARTY_LIBS += -lresample |
| 62 | APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX) |
| 63 | endif |
| 64 | endif |
| 65 | |
| 66 | ifneq (1,1) |
| 67 | ifeq (0,1) |
| 68 | # External GSM library |
| 69 | APP_THIRD_PARTY_EXT += -lgsm |
| 70 | else |
| 71 | APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec-$(LIB_SUFFIX) |
| 72 | ifeq ($(PJ_SHARED_LIBRARIES),) |
| 73 | APP_THIRD_PARTY_LIBS += -lgsmcodec-$(TARGET_NAME) |
| 74 | else |
| 75 | APP_THIRD_PARTY_LIBS += -lgsmcodec |
| 76 | APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libgsmcodec.$(SHLIB_SUFFIX) |
| 77 | endif |
| 78 | endif |
| 79 | endif |
| 80 | |
| 81 | ifneq (1,1) |
| 82 | ifeq (0,1) |
| 83 | APP_THIRD_PARTY_EXT += -lspeex -lspeexdsp |
| 84 | else |
| 85 | APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex-$(LIB_SUFFIX) |
| 86 | ifeq ($(PJ_SHARED_LIBRARIES),) |
| 87 | APP_THIRD_PARTY_LIBS += -lspeex-$(TARGET_NAME) |
| 88 | else |
| 89 | APP_THIRD_PARTY_LIBS += -lspeex |
| 90 | APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libspeex.$(SHLIB_SUFFIX) |
| 91 | endif |
| 92 | endif |
| 93 | endif |
| 94 | |
| 95 | ifneq (1,1) |
| 96 | APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec-$(LIB_SUFFIX) |
| 97 | ifeq ($(PJ_SHARED_LIBRARIES),) |
| 98 | APP_THIRD_PARTY_LIBS += -lilbccodec-$(TARGET_NAME) |
| 99 | else |
| 100 | APP_THIRD_PARTY_LIBS += -lilbccodec |
| 101 | APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libilbccodec.$(SHLIB_SUFFIX) |
| 102 | endif |
| 103 | endif |
| 104 | |
| 105 | ifneq (1,1) |
| 106 | APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec-$(LIB_SUFFIX) |
| 107 | ifeq ($(PJ_SHARED_LIBRARIES),) |
| 108 | APP_THIRD_PARTY_LIBS += -lg7221codec-$(TARGET_NAME) |
| 109 | else |
| 110 | APP_THIRD_PARTY_LIBS += -lg7221codec |
| 111 | APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libg7221codec.$(SHLIB_SUFFIX) |
| 112 | endif |
| 113 | endif |
| 114 | |
| 115 | ifneq ($(findstring pa,external),) |
| 116 | ifeq (0,1) |
| 117 | # External PA |
| 118 | APP_THIRD_PARTY_EXT += -lportaudio |
| 119 | else |
| 120 | APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libportaudio-$(LIB_SUFFIX) |
| 121 | ifeq ($(PJ_SHARED_LIBRARIES),) |
| 122 | APP_THIRD_PARTY_LIBS += -lportaudio-$(TARGET_NAME) |
| 123 | else |
| 124 | APP_THIRD_PARTY_LIBS += -lportaudio |
| 125 | APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libportaudio.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libportaudio.$(SHLIB_SUFFIX) |
| 126 | endif |
| 127 | endif |
| 128 | endif |
| 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 |
| 139 | SDL_CFLAGS = |
| 140 | SDL_LDFLAGS = |
| 141 | |
| 142 | # FFMPEG dlags |
| 143 | FFMPEG_CFLAGS = |
| 144 | FFMPEG_LDFLAGS = |
| 145 | |
| 146 | # Video4Linux2 |
| 147 | V4L2_CFLAGS = |
| 148 | V4L2_LDFLAGS = |
| 149 | |
| 150 | # QT |
| 151 | AC_PJMEDIA_VIDEO_HAS_QT = |
| 152 | QT_CFLAGS = |
| 153 | |
| 154 | # iOS |
| 155 | IOS_CFLAGS = |
| 156 | |
| 157 | # PJMEDIA features exclusion |
| 158 | PJ_VIDEO_CFLAGS += $(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(QT_CFLAGS) \ |
| 159 | $(IOS_CFLAGS) |
| 160 | PJ_VIDEO_LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS) |
| 161 | |
| 162 | |
| 163 | # CFLAGS, LDFLAGS, and LIBS to be used by applications |
| 164 | export APP_CC := /home/lisional/Dev/ADT/ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc |
| 165 | export APP_CXX := /home/lisional/Dev/ADT/ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ |
| 166 | export 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 |
| 174 | export 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 |
| 182 | export 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 |
| 199 | export 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 | |
| 214 | ifeq ($(PJ_SHARED_LIBRARIES),) |
| 215 | export PJLIB_LDLIB := -lpj-$(TARGET_NAME) |
| 216 | export PJLIB_UTIL_LDLIB := -lpjlib-util-$(TARGET_NAME) |
| 217 | export PJNATH_LDLIB := -lpjnath-$(TARGET_NAME) |
| 218 | export PJMEDIA_AUDIODEV_LDLIB := -lpjmedia-audiodev-$(TARGET_NAME) |
| 219 | export PJMEDIA_VIDEODEV_LDLIB := -lpjmedia-videodev-$(TARGET_NAME) |
| 220 | export PJMEDIA_LDLIB := -lpjmedia-$(TARGET_NAME) |
| 221 | export PJMEDIA_CODEC_LDLIB := -lpjmedia-codec-$(TARGET_NAME) |
| 222 | export PJSIP_LDLIB := -lpjsip-$(TARGET_NAME) |
| 223 | export PJSIP_SIMPLE_LDLIB := -lpjsip-simple-$(TARGET_NAME) |
| 224 | export PJSIP_UA_LDLIB := -lpjsip-ua-$(TARGET_NAME) |
| 225 | export PJSUA_LIB_LDLIB := -lpjsua-$(TARGET_NAME) |
| 226 | export PJSUA2_LIB_LDLIB := -lpjsua2-$(TARGET_NAME) |
| 227 | else |
| 228 | export PJLIB_LDLIB := -lpj |
| 229 | export PJLIB_UTIL_LDLIB := -lpjlib-util |
| 230 | export PJNATH_LDLIB := -lpjnath |
| 231 | export PJMEDIA_AUDIODEV_LDLIB := -lpjmedia-audiodev |
| 232 | export PJMEDIA_VIDEODEV_LDLIB := -lpjmedia-videodev |
| 233 | export PJMEDIA_LDLIB := -lpjmedia |
| 234 | export PJMEDIA_CODEC_LDLIB := -lpjmedia-codec |
| 235 | export PJSIP_LDLIB := -lpjsip |
| 236 | export PJSIP_SIMPLE_LDLIB := -lpjsip-simple |
| 237 | export PJSIP_UA_LDLIB := -lpjsip-ua |
| 238 | export PJSUA_LIB_LDLIB := -lpjsua |
| 239 | export PJSUA2_LIB_LDLIB := -lpjsua2 |
| 240 | |
| 241 | APP_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) |
| 252 | endif |
| 253 | |
| 254 | export 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 |
| 272 | export PJ_CC := $(APP_CC) |
| 273 | export PJ_CXX := $(APP_CXX) |
| 274 | export PJ_CFLAGS := $(APP_CFLAGS) |
| 275 | export PJ_CXXFLAGS := $(APP_CXXFLAGS) |
| 276 | export PJ_LDFLAGS := $(APP_LDFLAGS) |
| 277 | export PJ_LDLIBS := $(APP_LDLIBS) |
| 278 | export 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) |
| 282 | export PJ_INSTALL_DIR := /usr/local |
| 283 | export PJ_INSTALL_INC_DIR := ${prefix}/include |
| 284 | export PJ_INSTALL_LIB_DIR := ${exec_prefix}/lib |
| 285 | export 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 |
| 286 | export PJ_INSTALL_CXXFLAGS := $(PJ_INSTALL_CFLAGS) |
| 287 | export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(APP_LDLIBS) |