Makefile调试记录

一.常用命令

1.输出log

可以使用warnning:
$(warning "内容")

2.判断文件路径是否存在

ifeq ($(shell if [ -d $(TOPDIR)path ]; then echo "exist"; else echo "notexist"; fi;), exist)
todo
endif

$(TOPDIR)表示顶层目录路径

3.执行shell脚本时的坑

ifeq ($(shell if [ `gcc --version | awk 'NR==1{print $$4}' | sed 's/\.\([0-9]\)/0\1/g'` -ge 40900 ]; then echo "yes"; fi;), yes)
endif

注意在mk文件中执行shell命令时,"$"符号需要两个,$$才是在访问一个shell命令内定义的变量

二.常用编译

1.在Android源码里,动态库引用第三方so库

include $(CLEAR_VARS)
# 指定引用so的路径,比如放到Android.mk同级的lib目录下
LOCAL_PREBUILT_LIBS := lib/libXxx.so
LOCAL_MODULE_TAGS := optional
include $(BUILD_MULTI_PREBUILT)
发布了3 篇原创文章 · 获赞 0 · 访问量 194

猜你喜欢

转载自blog.csdn.net/z9722/article/details/98510672
今日推荐