Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := hftalk
LOCAL_CPP_EXTENTION := .cpp
LOCAL_CXXFLAGS := -D_GNU_SOURCE -D_REENTRANT -D__cplusplus -g -D_STREAM_PLAYER -DUDP_PORT=1516 -D_ANDROID -fexceptions -fpermissive -lz -DNDK_DEBUG=1 -pthread -frtti
LOCAL_CFLAGS := -DHAVE_CONFIG_H -std=gnu99 -Wall -pipe -g3 -fvisibility=hidden -O3 -funroll-loops -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 -fPIC -DPIC -D_ANDROID -DNDEBUG -D__MSDOS__ -DVAD2

LOCAL_LDFLAGS += $(LOCAL_PATH)/libProtobuf.a
#LOCAL_LDFLAGS += $(LOCAL_PATH)/x86/libProtobuf.a
#LOCAL_LDFLAGS += $(LOCAL_PATH)/arm64-v8a/libProtobuf.a

#LOCAL_C_INCLUDES := $(LOCAL_PATH)/src/common
$(LOCAL_PATH)/src/player
$(LOCAL_PATH)/src/third_party/mp3/lame/include
$(LOCAL_PATH)/src/third_party/mp3/lame/libmp3lame
$(LOCAL_PATH)/src/third_party/mp3/lame
$(LOCAL_PATH)/src/third_party/codec/speex/include
$(LOCAL_PATH)/src/third_party/codec/libfaac/include
$(LOCAL_PATH)/src/third_party/codec/libfaad/include
$(LOCAL_PATH)/src/third_party/codec/libfaad
$(LOCAL_PATH)/src/third_party/jemalloc/include

LOCAL_C_INCLUDES += $(LOCAL_PATH)/third_party/libjson
$(LOCAL_PATH)/third_party/libjson/_internal/Source
$(LOCAL_PATH)/third_party/libjson/_internal/Source/JSONDefs
$(LOCAL_PATH)/third_party/jsoncpp-master/include/
$(LOCAL_PATH)/jthread
$(LOCAL_PATH)/third_party/amr_code_wb
$(LOCAL_PATH)/third_party/sqlite
$(LOCAL_PATH)/third_party/libghttp-1.0.9
$(LOCAL_PATH)/include
$(LOCAL_PATH)/TimingWheel
$(LOCAL_PATH)/third_party/protobuf-2.6.1/src
$(LOCAL_PATH)/common/http
$(LOCAL_PATH)/common/json
$(LOCAL_PATH)/common/log
$(LOCAL_PATH)/common/md5
$(LOCAL_PATH)/common/protbuf
$(LOCAL_PATH)/common/protocol
$(LOCAL_PATH)/common/utility

# 配置自己的源文件目录和源文件后缀名
#MY_FILES_PATH := $(LOCAL_PATH)/src/third_party/codec/speex/libspeex
#MY_FILES_PATH += $(LOCAL_PATH)/src/third_party/codec/libfaad
#MY_FILES_PATH += $(LOCAL_PATH)/src/third_party/codec/libfaac
#MY_FILES_PATH += $(LOCAL_PATH)/src/common
#MY_FILES_PATH += $(LOCAL_PATH)/src/player
#MY_FILES_PATH += $(LOCAL_PATH)/src/third_party/cjson
#MY_FILES_PATH += $(LOCAL_PATH)/src/third_party/codec/ilbc
#MY_FILES_PATH += $(LOCAL_PATH)/src/third_party/mp3/lame/libmp3lame
#MY_FILES_PATH += $(LOCAL_PATH)/third_party/amr_code_wb
#MY_FILES_PATH += $(LOCAL_PATH)/third_party/sqlite

MY_FILES_PATH += $(LOCAL_PATH)/third_party/libjson/_internal/Source
MY_FILES_PATH += $(LOCAL_PATH)/TimingWheel
MY_FILES_PATH += $(LOCAL_PATH)/third_party/libghttp-1.0.9


MY_FILES_SUFFIX := %.cpp %.c

# 递归遍历目录下的所有的文件
rwildcard=$(wildcard $1$2) $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2))

# 获取相应的源文件
MY_ALL_FILES := $(foreach src_path,$(MY_FILES_PATH), $(call rwildcard,$(src_path),*.*) )
MY_ALL_FILES := $(MY_ALL_FILES:$(MY_CPP_PATH)/./%=$(MY_CPP_PATH)%)
MY_SRC_LIST := $(filter $(MY_FILES_SUFFIX),$(MY_ALL_FILES))
MY_SRC_LIST := $(MY_SRC_LIST:$(LOCAL_PATH)/%=%)
LOCAL_SRC_FILES := $(MY_SRC_LIST)

LOCAL_SRC_FILES += jthread/pthread/jmutex.cpp
LOCAL_SRC_FILES += jthread/pthread/jthread.cpp

LOCAL_SRC_FILES += third_party/jsoncpp-master/src/lib_json/json_reader.cpp
LOCAL_SRC_FILES += third_party/jsoncpp-master/src/lib_json/json_value.cpp
LOCAL_SRC_FILES += third_party/jsoncpp-master/src/lib_json/json_writer.cpp

LOCAL_SRC_FILES += File.cpp
LOCAL_SRC_FILES += Mutex.cpp
LOCAL_SRC_FILES += MutexOwner.cpp
LOCAL_SRC_FILES += Thread.cpp
LOCAL_SRC_FILES += Event.cpp
LOCAL_SRC_FILES += Cond.cpp
LOCAL_SRC_FILES += Timer.cpp
LOCAL_SRC_FILES += ProtocolData.cpp

LOCAL_SRC_FILES += AudioCoder.cpp

LOCAL_SRC_FILES += CSocket.cpp
LOCAL_SRC_FILES += MsgPack.cpp
LOCAL_SRC_FILES += MsgPackImpl.cpp
LOCAL_SRC_FILES += MsgUnPack.cpp
LOCAL_SRC_FILES += MsgUnPackImpl.cpp
LOCAL_SRC_FILES += TcpClient.cpp
LOCAL_SRC_FILES += TcpClientImpl.cpp
LOCAL_SRC_FILES += MsgDispatch.cpp
LOCAL_SRC_FILES += MsgDispatchImpl.cpp
LOCAL_SRC_FILES += IHandler.cpp
LOCAL_SRC_FILES += MsgHandler.cpp
LOCAL_SRC_FILES += MsgHandlerImpl.cpp
LOCAL_SRC_FILES += GroupSessionHandler.cpp
LOCAL_SRC_FILES += FriendSessionHandler.cpp
LOCAL_SRC_FILES += TimerOutHandler.cpp
LOCAL_SRC_FILES += AudioClient.cpp
LOCAL_SRC_FILES += SqliteAgent.cpp

LOCAL_SRC_FILES += CallBack.cpp
LOCAL_SRC_FILES += JNICallBack.cpp
LOCAL_SRC_FILES += PlatFormFactory.cpp
LOCAL_SRC_FILES += Client.cpp
LOCAL_SRC_FILES += CClientMng.cpp

LOCAL_SRC_FILES += common/protbuf/UserMessage.pb.cc
LOCAL_SRC_FILES += common/http/http.cpp
LOCAL_SRC_FILES += common/log/Log.cpp
LOCAL_SRC_FILES += common/md5/md5.cpp
LOCAL_SRC_FILES += common/json/JSON.cpp
LOCAL_SRC_FILES += common/utility/utility.cpp

#LOCAL_SRC_FILES += IOSInterface.cpp
#LOCAL_SRC_FILES += IOSCallBack.cpp

LOCAL_SRC_FILES += JNIInterface.cpp
LOCAL_LDLIBS += -llog

include $(BUILD_SHARED_LIBRARY)

原文地址:https://www.cnblogs.com/keepsilence/p/5918931.html