您的位置:首页 > 运维架构 > Linux

linux c编程:make Makefile工具的使用

2014-04-09 13:48 246 查看
最近在linux平台上写C代码,学习了make工具,在此做个小结,备忘,希望对新手有些帮助。

make的命令格式:

make [选项] [宏] [目标]

-f 指定makefile文件名

-i 忽略命令执行返回的出错信息,继续向下执行,如果没有的话碰到错误就停了

-s 沉默模式, 在执行前不输出相应的命令行信息

-r 禁止build-in规则

-n 非执行模式, 输出所有执行命令,但不执行。这个常用来检查makefile文件的重要性~

-t 更新目标文件的日期~

-q make将根据目标文件是否更新返回0或非0

-p 输出所有宏定义和目标文件描述在屏幕上

-d debug模式,输出有关文件和检测时间的详细信息

-c dir 在读取makefile之前改变到指定的目录dir

-I dir 指定使用的makefile所在的目录

-h help文档,显示所有的make选项

-w 在处理makefile之前和之后, 都显示工作目录"

Makefile文件中的make规则:

目标文件列表:依赖文件列表

<Tab>命令列表

目标文件列表:即make最终要创建的文件,中间用空格隔开,如可执行文件,目标可以是要执行的动作,比如clean

依赖文件列表:通常是编译文件所需要的其他文件

命令列表:是make执行的动作,通常是指定的相关文件编译成目标文件的编译命令,每一个命令的起始字符必须是Tab字符,不然字符颜色不会改变

实例:

test.h 内容如下:

#include<stdio.h>

void print(int n);

test.c 内容如下:

#include<stdio.h>

void print(int n)

{

int i=0;

for( ;i<n;i++)

printf("i=%d\n",i);

}

main.c 内容如下:

#include<stdio.h>

#include"test.h"

int main()

{

int n=10;

print(n);

return 0;

}

Makefile 内容如下:

test:test.c test.h main.c

gcc -o test main.c test.c

clean:

rm -f *.o

执行make之后:

运行:./test

结果:

i=0

i=1

i=2

i=3

i=4

i=5

i=6

i=7

i=8

i=9
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: