make能作为工程管理器,把不同的源文件进行编译链接到一个工程。make每次读取的都是Makefile,它也就是普通的文本文件,只是它有它自己的语法。make主要通过时间戳的原理来进行管理工程。比如main.c的文件总是会main.o的文件更旧,因为main.o是依赖于main.c而产生的。一旦出现main.c的文件比main.o时间还新,那说明main.c肯定是被更新了,这个时候make就会把该文件重新编译。
make能把工程实现模块化,一个大的工程也许包含了很多的源文件,每次完整编译的话会很浪费时间。程序员修改了一个模块的源文件,只需要把这个模块重新编译链接进到整个工程即可。效率很高,原理就是上面的时间戳比较。
下面是一些实例:
//main.c
#include <stdio.h>
void fun1();
void fun2();
int main()
{
fun1();
fun2();
return 0;
}
//fun1.c
#include <stdio.h>
void fun1()
{
printf("\nHello from fun1\n");
}
//fun2.c
#include <stdio.h>
void fun2()
{
printf("Hello from fun2");
}
下面是编辑Makefile文件
[firefox@fire Make_Test]$ vim Makefile
#target : dependency_files
# command
main : main.o fun1.o fun2.o
gcc -o main main.o fun1.o fun2.o
main.o : main.c
gcc -o main.o -c main.c
fun1.o : fun1.c
gcc -o fun1.o -c fun1.c
fun2.o : fun2.c
gcc -o fun2.o -c fun2.c
接着输入make,就会自动去读取Makefile文件,按照指定的语法进行执行。
[firefox@fire
Make_Test]$ make
gcc -o main.o -c main.c
gcc -o fun1.o -c fun1.c
gcc -o fun2.o -c fun2.c
gcc -o main main.o fun1.o fun2.o
要是更新了fun1.c,make就仅仅会重新编译fun1.c,然后重新链接所有.o文件。
分享到:
相关推荐
Makefile中文使用手册,pdf格式,共99页。
Makefile使用手册.pdf 很详细的Makefile学习资料
makefile使用手册 讲解makefile的编写与语法,linux下程序开发必不可少的工具书。中文版
本文所说的这个makefile是一个全能的makefile,可心经过简单的改动则可以移植到其它的驱动上去
makefile使用教程~~~~~~~~~~~~
makefile使用指南 pdf版的 学习C、C++布署好资料
企业级Makefile的使用
makefile的使用实例 主要功能是对两个数求平方根; 包含的文件为: main.cpp makefile my_multi.cpp my_multi.h my_sqrt.cpp my_sqrt.h
用于实现LInux内核的编译,模块的添加或者删除
Win平台下Makefile的入门介绍,简明的介绍了Makefile的基本语法、宏、预处理命令和自动推导规则。
简单的能够编译C和C++工程,以及C与C++混合工程, ,有一些基础的makefile, 供大家一起学习交流,不知道怎么编程了需要41积分。。。
1. 掌握Vi编辑器的使用; 2. 编写包含多文件的makefile。 实验重难点 Vim编辑器的使用,Makefile的使用 实验内容与要求 1. Vim编辑器使用 1) 运行编辑器vi。 2) 学习vi常用命令 :
Makefile的使用说明书 不错的资料 在此与大家分享分享
本文档详细介绍了Makefile的写作规则和原理~~ 本文档详细介绍了Makefile的写作规则和原理~~ 本文档详细介绍了Makefile的写作规则和原理~~
对MakeFile结构,用法阐述得很详细,希望有需要的朋友可以借鉴一下
本文将首先讲述 Makefile 与 make ,然后再讲述 configure 脚本。并且在讲述这两部分内容时,提供了尽可能详细的、可以运用于实践的参考资料。
makefile的使用手册,挺详细的,可作参考手册用
makefile的详细介绍,使用方法,高手编写的学习文档,希望对大家有帮助