Android.mki包含执行顺序

时间:2012-09-05 05:25:36

标签: android android-ndk makefile

LOCAL_PATH := $(call my-dir)  
TOP_LOCAL_PATH := $(call my-dir)/../ 

#Add target arm version 
ifeq ($(TARGET_ARCH_ABI),armeabi) 
MY_PJSIP_FLAGS := $(BASE_PJSIP_FLAGS) -DPJ_HAS_FLOATING_POINT=0 
else 
MY_PJSIP_FLAGS := $(BASE_PJSIP_FLAGS) -DPJ_HAS_FLOATING_POINT=1 
endif 

# Pjsip 
include $(TOP_LOCAL_PATH)/pjlib/build/Android.mk 
include $(TOP_LOCAL_PATH)/pjlib-util/build/Android.mk 

include $(TOP_LOCAL_PATH)/pjnath/build/Android.mk 
include $(TOP_LOCAL_PATH)/pjmedia/build/Android.mk 
include $(TOP_LOCAL_PATH)/pjsip/build/Android.mk 

#pjsip JNI 
include $(TOP_LOCAL_PATH)/jni/build/Android.mk 

#JSON 
include $(TOP_LOCAL_PATH)/third_party/build/json/Android.mk 

#GSLB 
include $(TOP_LOCAL_PATH)/pgslb/build/Android.mk 

有一个Android Make文件。编译GSLB需要此文件。 libpjnath.alibpjnath.a$(TOP_LOCAL_PATH)/pjnath/build/Android.mk编译。但make文件一旦执行就编译GSLB。无法找到libpjnath.a 如何指定包含执行顺序?

2 个答案:

答案 0 :(得分:0)

尝试在gslb中添加LOCAL_SHARED_LIBRARIES:= pjnath。希望对你有所帮助。

答案 1 :(得分:0)

实际上, ndk-build 运行 make ,依靠make决定构建其目标的顺序并不是一个好习惯。例如,它可以启动并行构建以使用您的多核CPU。正确的方法是向 make 解释一个目标依赖于另一个目标。

LOCAL_STATIC_LIBRARIES LOCAL_SHARED_LIBRARIES 正是为此目的而设计的。有关详细说明,请参阅NDK documentation