|
A build Android NDK script from: http://stackoverflow.com/questions/17869333/makefile-needed-for-compiling-the-opus-codec-for-android
Android.mk 放到源码目录下
- <div>LOCAL_PATH := $(call my-dir)</div><div>include $(CLEAR_VARS)</div><div>MY_MODULE_DIR := opus</div><div>LOCAL_MODULE := $(MY_MODULE_DIR)
- LOCAL_SRC_FILES := \
- $(subst $(ROOT_DIR)/$(MY_MODULE_DIR)/,,$(wildcard $(ROOT_DIR)/$(MY_MODULE_DIR)/src/*.c*)) \
- $(subst $(ROOT_DIR)/$(MY_MODULE_DIR)/,,$(wildcard $(ROOT_DIR)/$(MY_MODULE_DIR)/celt/*.c*)) \
- $(subst $(ROOT_DIR)/$(MY_MODULE_DIR)/,,$(wildcard $(ROOT_DIR)/$(MY_MODULE_DIR)/silk/*.c*)) \
- $(subst $(ROOT_DIR)/$(MY_MODULE_DIR)/,,$(wildcard $(ROOT_DIR)/$(MY_MODULE_DIR)/silk/fixed/*.c*))
- LOCAL_LDLIBS := -lm -llog
- LOCAL_C_INCLUDES := \
- $(ROOT_DIR)/$(MY_MODULE_DIR)/include \
- $(ROOT_DIR)/$(MY_MODULE_DIR)/silk \
- $(ROOT_DIR)/$(MY_MODULE_DIR)/silk/fixed \
- $(ROOT_DIR)/$(MY_MODULE_DIR)/celt
- LOCAL_CFLAGS := -DNULL=0 -DSOCKLEN_T=socklen_t -DLOCALE_NOT_USED -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
- LOCAL_CFLAGS += -Drestrict='' -D__EMX__ -DOPUS_BUILD -DFIXED_POINT -DUSE_ALLOCA -DHAVE_LRINT -DHAVE_LRINTF -O3 -fno-math-errno
- LOCAL_CPPFLAGS := -DBSD=1
- LOCAL_CPPFLAGS += -ffast-math -O3 -funroll-loops</div><div>include $(BUILD_STATIC_LIBRARY)</div>
复制代码
Steps:
- Download the opus source files into 'opus' directory. Opus version 1.1 works well: http://downloads.xiph.org/releases/opus/opus-1.1.tar.gz For latest version 1.1.1-beta, a build error happens in the next build step.
- Build it using Android 'ndk-build' command:
ndk-build APP_BUILD_SCRIPT=Android.mk NDK_PROJECT_PATH=build - Find the built static library at 'build/obj/local/armeabi/libopus.a'.
|
|