ninja使用

原始引用地址: ninja使用
time: 2010.01.13 22:11

概述

​ 在android和chrome,還有webrtc的項目中都用到了ninja作爲編譯項目使用工具,與之對應的工具我們比較熟悉的是make,cmake。網上搜索ninja,說的ninja代理make最大的優點是編譯速度,使用ninja相比與make在編譯android和chrome時,可以節省大量的時間。

簡單使用

​ 首先工程目錄有以下文件:

bar.c  bar.h  build.ninja  foo.c

bar.c中定義了一個變量和函數,供foo.c調用:

// Filename:  bar.c
#include "bar.h"
#include <stdio.h>

int g_bar = 0;

int run_bar()
{
	printf("g_bar  = %d\n", g_bar);
	return 0;
}

foo.c內容爲:

// Filename: foo.c
#include <stdio.h>
int main() 
{
	int a = 10;
	int b = 5;
	printf("ok");
}

ninja編譯腳本內容爲:

# Filename: build.ninja

cc = g++
cflags = -Wall

rule cc
  command = gcc $cflags -c $in -o $out
  description = compile .cc

build out/bar.o: cc bar.c
build out/foo.o: cc foo.c

注意以上rule cc下面,command前面爲兩個空格,直接使用tab鍵,測試不行

編譯方法

編譯命令爲:

ninja

清理命令爲:

ninja -t clean 

代碼已上傳到github:

https://github.com/xyyangkun/t_ninja

參考:

Ninja 構建系統

The Ninja build system

首頁

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章