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

最近在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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值