blob: bf5591ab0a66698aa7f74079a302e9aea7107904 [file] [log] [blame]
# Copyright (C) 2004-2014 Savoir-Faire Linux Inc.
#
# Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
# Adrien Beraud <adrien.beraud@gmail.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Additional permission under GNU GPL version 3 section 7:
#
# If you modify this program, or any covered work, by linking or
# combining it with the OpenSSL project's OpenSSL library (or a
# modified version of that library), containing parts covered by the
# terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc.
# grants you additional permission to convey the resulting work.
# Corresponding Source for a non-source form of such a combination
# shall include the source code for the parts of OpenSSL used as well
# as that of the covered work.
LOCAL_PATH:= $(call my-dir)
LOCAL_CODECS_PATH = $(LOCAL_PATH)/sflphone/daemon/src/audio/codecs
LOCAL_SRC_PATH = $(LOCAL_PATH)/sflphone/daemon/src
include $(call all-subdir-makefiles)
include $(CLEAR_VARS)
# FIXME
VERSION="1.1.0"
MY_PREFIX=/sdcard
MY_DATADIR=/data/data
MY_PJPROJECT=sflphone/daemon/libs/pjproject-2.2.1
MY_COMMONCPP=libucommon/sources
MY_CCRTP=libccrtp/sources
MY_OPENSSL=libopenssl
MY_SPEEX=libspeex/sources
MY_LIBZRTPCPP=libzrtp/sources
# FIXME: It would be cool to call the swig script automatically
#$(shell $(LOCAL_PATH)/../make-swig.sh)
LOCAL_CPPFLAGS += -frtti
LOCAL_CPPFLAGS += -fexceptions
LOCAL_SRC_FILES := \
$(LOCAL_SRC_PATH)/conference.cpp \
$(LOCAL_SRC_PATH)/voiplink.cpp \
$(LOCAL_SRC_PATH)/preferences.cpp \
$(LOCAL_SRC_PATH)/managerimpl.cpp \
$(LOCAL_SRC_PATH)/manager.cpp \
$(LOCAL_SRC_PATH)/eventthread.cpp \
$(LOCAL_SRC_PATH)/call.cpp \
$(LOCAL_SRC_PATH)/account.cpp \
$(LOCAL_SRC_PATH)/numbercleaner.cpp \
$(LOCAL_SRC_PATH)/fileutils.cpp \
$(LOCAL_SRC_PATH)/ip_utils.cpp \
$(LOCAL_SRC_PATH)/audio/audioloop.cpp \
$(LOCAL_SRC_PATH)/audio/ringbuffer.cpp \
$(LOCAL_SRC_PATH)/audio/mainbuffer.cpp \
$(LOCAL_SRC_PATH)/audio/audiorecord.cpp \
$(LOCAL_SRC_PATH)/audio/audiobuffer.cpp \
$(LOCAL_SRC_PATH)/audio/audiorecorder.cpp \
$(LOCAL_SRC_PATH)/audio/recordable.cpp \
$(LOCAL_SRC_PATH)/audio/audiolayer.cpp \
$(LOCAL_SRC_PATH)/audio/resampler.cpp \
$(LOCAL_SRC_PATH)/audio/dcblocker.cpp \
$(LOCAL_SRC_PATH)/audio/opensl/opensllayer.cpp \
$(LOCAL_SRC_PATH)/audio/sound/audiofile.cpp \
$(LOCAL_SRC_PATH)/audio/sound/tone.cpp \
$(LOCAL_SRC_PATH)/audio/sound/tonelist.cpp \
$(LOCAL_SRC_PATH)/audio/sound/dtmf.cpp \
$(LOCAL_SRC_PATH)/audio/dsp.cpp \
$(LOCAL_SRC_PATH)/audio/sound/dtmfgenerator.cpp \
$(LOCAL_SRC_PATH)/audio/codecs/audiocodecfactory.cpp \
$(LOCAL_SRC_PATH)/audio/audiortp/audio_rtp_session.cpp \
$(LOCAL_SRC_PATH)/audio/audiortp/audio_symmetric_rtp_session.cpp \
$(LOCAL_SRC_PATH)/audio/audiortp/audio_rtp_stream.cpp \
$(LOCAL_SRC_PATH)/audio/audiortp/audio_rtp_factory.cpp \
$(LOCAL_SRC_PATH)/audio/audiortp/audio_srtp_session.cpp \
$(LOCAL_SRC_PATH)/audio/audiortp/dtmf_event.cpp \
$(LOCAL_SRC_PATH)/config/sfl_config.cpp \
$(LOCAL_SRC_PATH)/config/yamlemitter.cpp \
$(LOCAL_SRC_PATH)/config/yamlparser.cpp \
$(LOCAL_SRC_PATH)/config/yamlnode.cpp \
$(LOCAL_SRC_PATH)/client/client.cpp \
$(LOCAL_SRC_PATH)/client/callmanager.cpp \
$(LOCAL_SRC_PATH)/client/android/callmanager_jni.cpp \
$(LOCAL_SRC_PATH)/client/configurationmanager.cpp \
$(LOCAL_SRC_PATH)/client/android/configurationmanager_jni.cpp \
$(LOCAL_SRC_PATH)/client/presencemanager.cpp \
$(LOCAL_SRC_PATH)/client/android/presencemanager_jni.cpp \
$(LOCAL_SRC_PATH)/client/android/callmanager_wrap.cpp \
$(LOCAL_SRC_PATH)/history/historyitem.cpp \
$(LOCAL_SRC_PATH)/history/history.cpp \
$(LOCAL_SRC_PATH)/history/historynamecache.cpp \
$(LOCAL_SRC_PATH)/hooks/urlhook.cpp \
$(LOCAL_SRC_PATH)/im/instant_messaging.cpp \
$(LOCAL_SRC_PATH)/sip/sdp.cpp \
$(LOCAL_SRC_PATH)/sip/sipaccount.cpp \
$(LOCAL_CODECS_PATH)/audiocodec.cpp \
$(LOCAL_SRC_PATH)/sip/sipcall.cpp \
$(LOCAL_SRC_PATH)/sip/sipvoiplink.cpp \
$(LOCAL_SRC_PATH)/sip/security_evaluator.cpp \
$(LOCAL_SRC_PATH)/sip/siptransport.cpp \
$(LOCAL_SRC_PATH)/sip/sip_utils.cpp \
$(LOCAL_SRC_PATH)/sip/sippresence.cpp \
$(LOCAL_SRC_PATH)/sip/pattern.cpp \
$(LOCAL_SRC_PATH)/sip/sdes_negotiator.cpp \
$(LOCAL_SRC_PATH)/sip/pres_sub_client.cpp \
$(LOCAL_SRC_PATH)/sip/pres_sub_server.cpp \
$(LOCAL_SRC_PATH)/audio/audiortp/audio_zrtp_session.cpp \
$(LOCAL_SRC_PATH)/audio/audiortp/zrtp_session_callback.cpp \
$(LOCAL_SRC_PATH)/iax/iaxvoiplink.cpp \
$(LOCAL_SRC_PATH)/iax/iaxaccount.cpp \
$(LOCAL_SRC_PATH)/iax/iaxcall.cpp \
# FIXME
LOCAL_C_INCLUDES += $(LOCAL_SRC_PATH)/.. \
$(LOCAL_SRC_PATH) \
$(LOCAL_SRC_PATH)/audio \
$(LOCAL_SRC_PATH)/audio/opensl \
$(LOCAL_SRC_PATH)/audio/sound \
$(LOCAL_SRC_PATH)/audio/codecs \
$(LOCAL_SRC_PATH)/audio/audiortp \
$(LOCAL_SRC_PATH)/config \
$(LOCAL_SRC_PATH)/client/android \
$(LOCAL_SRC_PATH)/history \
$(LOCAL_SRC_PATH)/hooks \
$(LOCAL_SRC_PATH)/im \
$(LOCAL_SRC_PATH)/sip \
$(MY_SPEEX) \
$(MY_SPEEX)/include \
$(MY_LIBYAML)/inc \
$(MY_LIBZRTPCPP) \
$(MY_LIBZRTPCPP)/src \
$(MY_LIBZRTPCPP)/src/libzrtpcpp \
$(MY_CCRTP)/src \
$(MY_LIBSAMPLE)/src \
$(MY_OPENSSL)/include \
$(MY_PJPROJECT)/pjsip/include \
$(MY_PJPROJECT)/pjlib/include \
$(MY_PJPROJECT)/pjlib-util/include \
$(MY_PJPROJECT)/pjmedia/include \
$(MY_PJPROJECT)/pjnath/include \
$(MY_LIBEXPAT) \
libsndfile/sources/src \
libpcre/sources \
$(MY_COMMONCPP)/inc \
$(LOCAL_SRC_PATH)/../libs/iax2 \
$(LOCAL_SRC_PATH)/iax \
LOCAL_MODULE := libsflphone
LOCAL_CPPFLAGS += $(NETWORKMANAGER) \
-DCCPP_PREFIX \
-DCODECS_DIR=\"/usr/lib/sflphone/audio/codec\" \
-DPREFIX=\"$(MY_PREFIX)\" \
-DPROGSHAREDIR=\"${MY_DATADIR}/sflphone\" \
-DHAVE_CONFIG_H \
-DHAVE_SPEEX_CODEC \
-DHAVE_GSM_CODEC \
-w \
-std=c++11 -fexceptions -fpermissive \
-DAPP_NAME=\"sflphone\" \
-DSWIG_JAVA_ATTACH_CURRENT_THREAD_AS_DAEMON \
-DDEBUG_DIRECTOR_OWNED \
-DPJ_AUTOCONF=1
LOCAL_CFLAGS := $(MY_PJSIP_FLAGS)
LOCAL_LDLIBS += -lz \
-llog \
-lOpenSLES \
# LOCAL_STATIC_LIBRARIES (NDK documentation)
# The list of static libraries modules (built with BUILD_STATIC_LIBRARY)
# that should be linked to this module.
LOCAL_STATIC_LIBRARIES += pjsip \
pjnath \
pjmedia \
pjlib \
pjlib-util \
libssl \
libpcre \
libccgnu2 \
libsamplerate \
libspeex \
libcrypto \
libzrtpcpp \
libsndfile \
libccrtp1 \
libexpat \
libspeexresampler \
libyaml \
libiax2
include $(BUILD_SHARED_LIBRARY)
############# ulaw ###############
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(LOCAL_CODECS_PATH)/ulaw.cpp \
$(LOCAL_CODECS_PATH)/audiocodec.cpp
# FIXME
LOCAL_C_INCLUDES += $(LOCAL_CODECS_PATH)/.. \
$(LOCAL_CODECS_PATH)/../.. \
$(APP_PROJECT_PATH)/jni/$(MY_CCRTP)/src \
$(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc
LOCAL_MODULE := libcodec_ulaw
LOCAL_LDLIBS := -llog
LOCAL_CPPFLAGS += $(NETWORKMANAGER) \
-DCCPP_PREFIX \
-DPREFIX=\"$(MY_PREFIX)\" \
-DPROGSHAREDIR=\"${MY_DATADIR}/sflphone\" \
-std=c++11 -frtti -fpermissive -fexceptions \
-DAPP_NAME=\"codec_ulaw\"
include $(BUILD_SHARED_LIBRARY)
############# alaw ###############
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(LOCAL_CODECS_PATH)/alaw.cpp \
$(LOCAL_CODECS_PATH)/audiocodec.cpp
LOCAL_C_INCLUDES += $(LOCAL_CODECS_PATH)/.. \
$(LOCAL_CODECS_PATH)/../.. \
$(APP_PROJECT_PATH)/jni/$(MY_CCRTP)/src \
$(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc \
LOCAL_MODULE := libcodec_alaw
LOCAL_LDLIBS := -llog
LOCAL_CPPFLAGS += $(NETWORKMANAGER) \
-DCCPP_PREFIX \
-DPREFIX=\"$(MY_PREFIX)\" \
-DPROGSHAREDIR=\"${MY_DATADIR}/sflphone\" \
-std=c++11 -frtti -fpermissive -fexceptions \
-DAPP_NAME=\"codec_alaw\"
LOCAL_LDFLAGS += -Wl,--export-dynamic
include $(BUILD_SHARED_LIBRARY)
############# g722 ###############
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(LOCAL_CODECS_PATH)/g722.cpp \
$(LOCAL_CODECS_PATH)/audiocodec.cpp
LOCAL_C_INCLUDES += $(LOCAL_CODECS_PATH)/.. \
$(LOCAL_CODECS_PATH)/../.. \
$(LOCAL_CODECS_PATH)/../../.. \
$(APP_PROJECT_PATH)/jni/$(MY_CCRTP)/src \
$(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc
LOCAL_MODULE := libcodec_g722
LOCAL_LDLIBS := -llog
LOCAL_CPPFLAGS += $(NETWORKMANAGER) \
-DCCPP_PREFIX \
-DCODECS_DIR=\"/usr/lib/sflphone/audio/codec\" \
-DPREFIX=\"$(MY_PREFIX)\" \
-DPROGSHAREDIR=\"${MY_DATADIR}/sflphone\" \
-DHAVE_CONFIG_H \
-std=c++11 -frtti -fpermissive -fexceptions \
-DAPP_NAME=\"codecfactory\"
include $(BUILD_SHARED_LIBRARY)
############# libgsm ###############
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(LOCAL_CODECS_PATH)/gsmcodec.cpp \
$(LOCAL_CODECS_PATH)/audiocodec.cpp \
LOCAL_C_INCLUDES += $(LOCAL_CODECS_PATH)/.. \
$(LOCAL_CODECS_PATH)/../.. \
$(LOCAL_CODECS_PATH)/../../.. \
$(APP_PROJECT_PATH)/jni/$(MY_LIBGSM)/inc \
LOCAL_MODULE := libcodec_gsm
LOCAL_STATIC_LIBRARIES = libgsm
LOCAL_LDLIBS := -llog
LOCAL_CPPFLAGS += $(NETWORKMANAGER) \
-DCCPP_PREFIX \
-DCODECS_DIR=\"/usr/lib/sflphone/audio/codec\" \
-DPREFIX=\"$(MY_PREFIX)\" \
-DPROGSHAREDIR=\"${MY_DATADIR}/sflphone\" \
-DHAVE_CONFIG_H \
-std=c++11 -frtti -fpermissive -fexceptions \
-DAPP_NAME=\"codecfactory\"
include $(BUILD_SHARED_LIBRARY)
############# libcodec_opus ###############
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(LOCAL_CODECS_PATH)/opuscodec.cpp \
$(LOCAL_CODECS_PATH)/audiocodec.cpp
LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. \
$(LOCAL_PATH)/../.. \
$(LOCAL_PATH)/../../.. \
$(APP_PROJECT_PATH)/jni/sflphone/daemon/src \
$(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc
LOCAL_MODULE := libcodec_opus
LOCAL_LDLIBS := -llog
LOCAL_CPPFLAGS += $(NETWORKMANAGER) \
-DCCPP_PREFIX \
-DCODECS_DIR=\"/usr/lib/sflphone/audio/codec\" \
-DPREFIX=\"$(MY_PREFIX)\" \
-DPROGSHAREDIR=\"${MY_DATADIR}/sflphone\" \
-DHAVE_CONFIG_H \
-std=c++11 -frtti -fpermissive -fexceptions \
-DAPP_NAME=\"codecfactory\"
LOCAL_STATIC_LIBRARIES := libopus
include $(BUILD_SHARED_LIBRARY)
############# speex_nb ###############
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(LOCAL_CODECS_PATH)/speexcodec_nb.cpp \
$(LOCAL_CODECS_PATH)/audiocodec.cpp
LOCAL_C_INCLUDES += $(LOCAL_SRC_PATH) \
$(MY_SPEEX)/include/speex \
$(MY_SPEEX)/include \
$(APP_PROJECT_PATH)/jni/$(MY_CCRTP)/src \
$(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc \
$(APP_PROJECT_PATH)/jni/sflphone/daemon
LOCAL_MODULE := libcodec_speex_nb
LOCAL_LDLIBS := -llog
LOCAL_STATIC_LIBRARIES := libspeex
LOCAL_CPPFLAGS += $(NETWORKMANAGER) \
-DCCPP_PREFIX \
-DCODECS_DIR=\"/usr/lib/sflphone/audio/codec\" \
-DPREFIX=\"$(MY_PREFIX)\" \
-DPROGSHAREDIR=\"${MY_DATADIR}/sflphone\" \
-DHAVE_CONFIG_H \
-std=c++11 -frtti -fpermissive -fexceptions \
-DAPP_NAME=\"codecfactory\"
include $(BUILD_SHARED_LIBRARY)
############# speex_ub ###############
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(LOCAL_CODECS_PATH)/speexcodec_ub.cpp \
$(LOCAL_CODECS_PATH)/audiocodec.cpp
LOCAL_C_INCLUDES += $(LOCAL_SRC_PATH) \
$(MY_SPEEX)/include/speex \
$(MY_SPEEX)/include \
$(APP_PROJECT_PATH)/jni/$(MY_CCRTP)/src \
$(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc \
$(APP_PROJECT_PATH)/jni/sflphone/daemon
LOCAL_MODULE := libcodec_speex_ub
LOCAL_LDLIBS := -llog
LOCAL_STATIC_LIBRARIES := libspeex
LOCAL_CPPFLAGS += $(NETWORKMANAGER) \
-DCCPP_PREFIX \
-DCODECS_DIR=\"/usr/lib/sflphone/audio/codec\" \
-DPREFIX=\"$(MY_PREFIX)\" \
-DPROGSHAREDIR=\"${MY_DATADIR}/sflphone\" \
-DHAVE_CONFIG_H \
-std=c++11 -frtti -fpermissive -fexceptions \
-DAPP_NAME=\"codecfactory\"
include $(BUILD_SHARED_LIBRARY)
############# speex_wb ###############
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(LOCAL_CODECS_PATH)/speexcodec_wb.cpp \
$(LOCAL_CODECS_PATH)/audiocodec.cpp
LOCAL_C_INCLUDES += $(LOCAL_SRC_PATH) \
$(MY_SPEEX)/include/speex \
$(MY_SPEEX)/include \
$(APP_PROJECT_PATH)/jni/$(MY_CCRTP)/src \
$(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc \
$(APP_PROJECT_PATH)/jni/sflphone/daemon
LOCAL_MODULE := libcodec_speex_wb
LOCAL_LDLIBS := -llog
LOCAL_STATIC_LIBRARIES := libspeex
LOCAL_CPPFLAGS += $(NETWORKMANAGER) \
-DCCPP_PREFIX \
-DCODECS_DIR=\"/usr/lib/sflphone/audio/codec\" \
-DPREFIX=\"$(MY_PREFIX)\" \
-DPROGSHAREDIR=\"${MY_DATADIR}/sflphone\" \
-DHAVE_CONFIG_H \
-std=c++11 -frtti -fpermissive -fexceptions \
-DAPP_NAME=\"codecfactory\"
include $(BUILD_SHARED_LIBRARY)