Makefile 调试记录
一.常用函数
1.输出log
可以使用info、warnning:
$(info "内容")
$(warning "内容")
二.常用命令
1.指定执行mk
make -f file.mk
1.判断文件路径是否存在
ifeq ($(shell if [ -d $(TOPDIR)path ]; then echo "exist"; else echo "notexist"; fi;), exist)
todo
endif
$(TOPDIR)表示顶层目录路径
2.执行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)
后续补充