ckati与ninja构建demo

1.编译出ckati工具
# git clone https://github.com/google/kati
# make -j8
# sudo cp ckati /usr/local/bin

2.ckati与ninja构建过程
注意:Android.mk本质上就是Makefile.
<1>.内容一致(注意:ckati默认找Makefile,可以ckati -f Android.mk指定)
# emacs Android.mk or Makefile
$(CC) = gcc
.PHONY:clean
all:hello
hello :hello.c
        $(CC) -o $@ $<
clean:
        rm hello
<2>.测试demo
# emacs hello.c
#include <stdio.h>
int main(){
  printf("Hello ckati!\n");
}

# ls 
Android.mk  Makefile  hello.c

# ckati --ninja -f Android.mk //直接执行:ckati(可直接编译出可执行文件)
Android.mk  Makefile  build.ninja  env.sh  hello.c  ninja.sh

# ninja -C . -v 
Android.mk  Makefile  build.ninja  env.sh  hello  hello.c  ninja.sh

# ./hello
Hello ckati!

# ninja -t clean //删除可执行文件
注意:更多的编译选项,可参考kati/flags.cc源文件.
--kati_stats //构建的时候打开log输出
-f //指定文件
-d //打开Debug选项
--regen //重新生成build.ninja
-j //多线程编译
....
....
发布了748 篇原创文章 · 获赞 458 · 访问量 243万+

猜你喜欢

转载自blog.csdn.net/u010164190/article/details/104945195