Android.mk 9.21 KiB
##
## Android.mk -Android build script-
##
##
## Copyright (C) 2010  Belledonne Communications, Grenoble, France
##
##  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 2 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 Library 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
LOCAL_PATH:= $(call my-dir)/../../src
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
MEDIASTREAMER2_INCLUDES := \
	$(LOCAL_PATH)/../build/android \
	$(LOCAL_PATH)/base \
	$(LOCAL_PATH)/utils \
	$(LOCAL_PATH)/voip \
	$(LOCAL_PATH)/audiofilters \
	$(LOCAL_PATH)/android \
	$(LOCAL_PATH)/otherfilters \
	$(LOCAL_PATH)/videofilters \
	$(LOCAL_PATH)/../include \
	$(LOCAL_PATH)/../../oRTP \
	$(LOCAL_PATH)/../../oRTP/include \
	$(LOCAL_PATH)/../../../bctoolbox/include \
	$(LOCAL_PATH)/../../../externals/speex/include \
	$(LOCAL_PATH)/../../../externals/build/speex \
	$(LOCAL_PATH)/../../../externals/gsm/inc \
	$(LOCAL_PATH)/../../../externals/ffmpeg \
	$(LOCAL_PATH)/../../../externals/ \
	$(LOCAL_PATH)/../../../externals/build/ffmpeg/$(TARGET_ARCH) \
	$(LOCAL_PATH)/../../../externals/libvpx/
LOCAL_MODULE := libmediastreamer2
LOCAL_SRC_FILES = \
	android/androidsound.cpp \
	android/androidsound_depr.cpp \
	android/androidsound_opensles.cpp \
	android/AudioRecord.cpp \
	android/AudioSystem.cpp \
	android/AudioTrack.cpp \
	android/hardware_echo_canceller.cpp \
	android/loader.cpp \
	android/String8.cpp \
	audiofilters/aac-eld-android.cpp \
	audiofilters/alaw.c \
	audiofilters/audiomixer.c \
	audiofilters/devices.c \
	audiofilters/dtmfgen.c \
	audiofilters/equalizer.c \
	audiofilters/flowcontrol.c \
	audiofilters/g711.c \
	audiofilters/genericplc.c \
	audiofilters/msgenericplc.c \
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
audiofilters/l16.c \ audiofilters/msfileplayer.c \ audiofilters/msfilerec.c \ audiofilters/msg722.c \ audiofilters/msresample.c \ audiofilters/msvaddtx.c \ audiofilters/msvolume.c \ audiofilters/tonedetector.c \ audiofilters/ulaw.c \ base/eventqueue.c \ base/mscommon.c \ base/msfactory.c \ base/msfilter.c \ base/msqueue.c \ base/mssndcard.c \ base/msticker.c \ base/msvideopresets.c \ base/mswebcam.c \ base/mtu.c \ crypto/dtls_srtp.c \ crypto/ms_srtp.c \ crypto/zrtp.c \ otherfilters/itc.c \ otherfilters/join.c \ otherfilters/msrtp.c \ otherfilters/tee.c \ otherfilters/void.c \ utils/audiodiff.c \ utils/dsptools.c \ utils/g722_decode.c \ utils/g722_encode.c \ utils/kiss_fft.c \ utils/kiss_fftr.c \ utils/msjava.c \ utils/stream_regulator.c \ voip/audioconference.c \ voip/audiostream.c \ voip/bitratecontrol.c \ voip/bitratedriver.c \ voip/ice.c \ voip/mediastream.c \ voip/msmediaplayer.c \ voip/msvoip.c \ voip/qosanalyzer.c \ voip/qualityindicator.c \ voip/ringstream.c \ voip/stun.c \ voip/stun_udp.c \ otherfilters/rfc4103_source.c \ otherfilters/rfc4103_sink.c \ voip/rfc4103_textstream.c LOCAL_STATIC_LIBRARIES := libbctoolbox LOCAL_CFLAGS += -D_XOPEN_SOURCE=600 ##if BUILD_ALSA ifeq ($(strip $(BOARD_USES_ALSA_AUDIO)),true) LOCAL_SRC_FILES += audiofilters/alsa.c LOCAL_CFLAGS += -D__ALSA_ENABLED__ endif ifeq ($(BUILD_SRTP), 1) LOCAL_C_INCLUDES += $(SRTP_C_INCLUDE) LOCAL_CFLAGS += -DHAVE_SRTP else endif LOCAL_STATIC_LIBRARIES += polarssl
141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../../externals/polarssl/include LOCAL_CFLAGS += -DHAVE_POLARSSL_SSL_H=1 -DHAVE_DTLS=1 ifeq ($(_BUILD_VIDEO),1) LOCAL_SRC_FILES += \ voip/video_preset_high_fps.c \ voip/videostarter.c \ voip/videostream.c \ voip/rfc3984.c \ voip/vp8rtpfmt.c \ voip/layouts.c \ utils/shaders.c \ utils/opengles_display.c \ utils/ffmpeg-priv.c \ videofilters/videoenc.c \ videofilters/videodec.c \ videofilters/pixconv.c \ videofilters/sizeconv.c \ videofilters/nowebcam.c \ videofilters/h264dec.c \ videofilters/mire.c \ videofilters/vp8.c \ videofilters/jpegwriter.c \ videofilters/msv4l2.c \ android/mediacodech264dec.c \ android/mediacodech264enc.c \ android/android_mediacodec.cpp \ android/android-display.c \ android/android-display-bad.cpp \ android/androidvideo.cpp \ android/android-opengl-display.c #uncomment this if you want to try loading v4l2 cameras on android (not really supported by google). #LOCAL_CFLAGS += -DHAVE_LINUX_VIDEODEV2_H=1 ifeq ($(TARGET_ARCH_ABI),armeabi-v7a) LOCAL_CFLAGS += -DVIDEO_ENABLED LOCAL_SRC_FILES+= \ voip/scaler.c.neon \ voip/scaler_arm.S.neon \ voip/msvideo.c \ voip/msvideo_neon.c.neon else ifeq ($(TARGET_ARCH), x86) LOCAL_CFLAGS += -DVIDEO_ENABLED endif LOCAL_SRC_FILES+= \ voip/scaler.c \ voip/msvideo.c endif ifeq ($(BUILD_MATROSKA), 1) LOCAL_CFLAGS += \ -DHAVE_MATROSKA \ -DCONFIG_EBML_WRITING \ -DCONFIG_EBML_UNICODE \ -DCONFIG_STDIO \ -DCONFIG_FILEPOS_64 \ -DNDEBUG LOCAL_C_INCLUDES += \ $(LOCAL_PATH)/../../../externals/libmatroska-c \ $(LOCAL_PATH)/../../../externals/libmatroska-c/corec \ $(LOCAL_PATH)/../../../externals/libmatroska-c/libebml2 \ $(LOCAL_PATH)/../../../externals/libmatroska-c/libmatroska2 LOCAL_SRC_FILES += \ utils/mkv_reader.c \ videofilters/mkv.c
211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
LOCAL_STATIC_LIBRARIES += \ libmatroska2 endif #BUILD_MATROSKA endif #_BUILD_VIDEO ifeq ($(BUILD_NON_FREE_CODECS),1) LOCAL_CFLAGS += -DHAVE_NON_FREE_CODECS=1 else LOCAL_CFLAGS += -DHAVE_NON_FREE_CODECS=0 endif ifeq ($(BUILD_OPUS),1) LOCAL_CFLAGS += -DHAVE_OPUS LOCAL_SRC_FILES += \ audiofilters/msopus.c LOCAL_C_INCLUDES += \ $(LOCAL_PATH)/../../../externals/opus/include endif ifeq ($(BUILD_UPNP),1) LOCAL_CFLAGS += -DBUILD_UPNP -DPTHREAD_MUTEX_RECURSIVE=PTHREAD_MUTEX_RECURSIVE LOCAL_SRC_FILES += \ upnp/upnp_igd.c \ upnp/upnp_igd_cmd.c \ upnp/upnp_igd_utils.c \ LOCAL_C_INCLUDES += \ $(LOCAL_PATH)/../../../externals/build/libupnp/inc \ $(LOCAL_PATH)/../../../externals/libupnp/upnp/inc \ $(LOCAL_PATH)/../../../externals/libupnp/threadutil/inc \ $(LOCAL_PATH)/../../../externals/libupnp/ixml/inc \ LOCAL_STATIC_LIBRARIES += libupnp endif #LOCAL_SRC_FILES += voip/videostream.c # ##if BUILD_THEORA #LOCAL_SRC_FILES += videofilters/theora.c #if BUILD_SPEEX LOCAL_SRC_FILES += \ audiofilters/msspeex.c \ audiofilters/speexec.c ##if BUILD_GSM LOCAL_SRC_FILES += audiofilters/gsm.c LOCAL_CFLAGS += \ -UHAVE_CONFIG_H \ -include $(LOCAL_PATH)/../build/android/libmediastreamer2_AndroidConfig.h \ -DMS2_INTERNAL \ -DMS2_FILTERS \ -D_POSIX_SOURCE \ -Wall -Werror -Wno-error=strict-aliasing -Wuninitialized ifeq ($(TARGET_ARCH_ABI),armeabi-v7a) LOCAL_CFLAGS += -DUSE_HARDWARE_RATE=1 endif #LOCAL_CFLAGS += -DDEBUG LOCAL_C_INCLUDES += \ $(MEDIASTREAMER2_INCLUDES)
281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
LOCAL_STATIC_LIBRARIES += \ libortp \ libspeex \ libspeexdsp ifeq ($(BUILD_ZRTP), 1) LOCAL_STATIC_LIBRARIES += libbzrtp LOCAL_CFLAGS += -DHAVE_ZRTP LOCAL_C_INCLUDES += $(ZRTP_C_INCLUDE) endif #ZRTP ifneq ($(BUILD_WEBRTC_AECM)$(BUILD_WEBRTC_ISAC), 00) LOCAL_CFLAGS += -DHAVE_WEBRTC LOCAL_STATIC_LIBRARIES += libmswebrtc endif ifneq ($(BUILD_WEBRTC_AECM), 0) LOCAL_STATIC_LIBRARIES += \ libwebrtc_aecm \ libwebrtc_apm_utility \ libwebrtc_spl \ libwebrtc_system_wrappers ifeq ($(TARGET_ARCH_ABI), armeabi-v7a) LOCAL_STATIC_LIBRARIES += \ libwebrtc_aecm_neon \ libwebrtc_spl_neon endif endif ifneq ($(BUILD_WEBRTC_ISAC), 0) LOCAL_STATIC_LIBRARIES += libwebrtc_spl libwebrtc_isacfix endif ifeq ($(strip $(BOARD_USES_ALSA_AUDIO)),true) LOCAL_SHARED_LIBRARIES += libasound endif LOCAL_STATIC_LIBRARIES += cpufeatures ifeq ($(BUILD_MEDIASTREAMER2_SDK), 1) LOCAL_SRC_FILES += \ ../tools/common.c \ ../tools/mediastream.c ifneq ($(_BUILD_AMR), 0) LOCAL_CFLAGS += -DHAVE_AMR LOCAL_STATIC_LIBRARIES += libmsamr libopencoreamr endif ifneq ($(BUILD_AMRWB), 0) LOCAL_STATIC_LIBRARIES += libvoamrwbenc endif ifeq ($(BUILD_SILK),1) LOCAL_CFLAGS += -DHAVE_SILK LOCAL_STATIC_LIBRARIES += libmssilk endif LOCAL_STATIC_LIBRARIES += libgsm ifeq ($(BUILD_OPUS),1) LOCAL_STATIC_LIBRARIES += libopus endif ifeq ($(BUILD_G729),1) LOCAL_CFLAGS += -DHAVE_G729 LOCAL_STATIC_LIBRARIES += libbcg729 libmsbcg729 endif ifeq ($(BUILD_CODEC2),1) LOCAL_CFLAGS += -DHAVE_CODEC2 LOCAL_STATIC_LIBRARIES += libcodec2 libmscodec2 endif ifeq ($(_BUILD_VIDEO),1)
351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381
LOCAL_STATIC_LIBRARIES += libvpx ifeq ($(BUILD_X264),1) LOCAL_STATIC_LIBRARIES += libmsx264 libx264 endif ifeq ($(BUILD_OPENH264),1) LOCAL_STATIC_LIBRARIES += libmsopenh264 libopenh264 endif LOCAL_SHARED_LIBRARIES += \ libffmpeg-linphone LOCAL_LDLIBS += -lGLESv2 endif ifeq ($(BUILD_SRTP),1) LOCAL_SHARED_LIBRARIES += libsrtp endif ifeq ($(BUILD_GPLV3_ZRTP),1) LOCAL_SHARED_LIBRARIES += libssl-linphone libcrypto-linphone LOCAL_SHARED_LIBRARIES += libzrtpcpp endif LOCAL_LDLIBS += -llog -ldl LOCAL_MODULE_FILENAME := libmediastreamer2-$(TARGET_ARCH_ABI) include $(BUILD_SHARED_LIBRARY) else include $(BUILD_STATIC_LIBRARY) endif LOCAL_CPPFLAGS = $(LOCAL_CLFAGS) LOCAL_CFLAGS += -Wdeclaration-after-statement $(call import-module,android/cpufeatures)