先写一个简单的例子

我们先在 cygwin 下建立文件夹 test001,再在文件夹 test001 下建立两个 .c 文件,三个 .h 文件。因为我们着重介绍的是 MakeFile,所以文件中几乎没有写代码。只是 math.c 文件中引入了头文件 math.h 和 common.h,main.c 文件中引入了头文件 main.h ,math.h 和 common.h。在 main.c 中写了一个空的 main 函数,如下

#include "common.h"
#include "math.h"
#include "main.h"
int main(void)
{
 return 0;
}

如果没有这个main函数,makefile 运行会出错。

下面我们建立我们的 makefile 文件 test001.mk,它的内容如下:

#井号是注释提示符
#执行方式:make -f test001.mk
#我们生成的最终目标是 test.exe
test.exe : main.o math.o         #test.exe 依赖于 main.o 和 math.o
#生成 test.exe 的命令,注意有命令那一行的最前面须是 Tab 键,且命令行不能写在最前面
#还有注释也不要写在命令后面,否则会在屏幕上显示出来
 cc -o test.exe main.o math.o

math.o : math.c math.h common.h #math.o 依赖于 math.c,math.h,common.h
#生成 math.o 的命令,注意有命令那一行的最前面须是 Tab 键
 cc -c math.c        
#下面相同,不再写注释
main.o : main.c main.h math.h common.h
 cc -c main.c

 

不要直接从这里拷下来,可以从 http://u.115.com/file/f4ad8d3e76 下载 test001.zip 文件。

在 cygwin 中进入 test001目录,执行命令:make -f test001.mk 看运行结果。

test001 下的 c 文件最终要生成一个 .exe 文件,先简单介绍下 .exe 文件的生成过程,首先在 Linux 下要把每个 .c 文件编译成 .o 文件,再把 .o 文件连接成 .exe 文件,这是基本知识,想详细了解请大家查找相关的资料。

在 makefile 文件中, 井号是注释符号。

首先列出我们要生成的最终目标是 test.exe,它依赖于 main.o 和 math.o 的生成,而 main.o 由 main.c 生成,math.o 由 math.c 生成。这样,makefile 文件的编制过程就是把这些依赖关系列出的过程,希望大家仔细研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值