linux下C语言开发-makefile的编写

文章目录

继续之前linux下C语言开发的系列文章,中间耽搁了不少时间,我需要更加努力一些才行。今天来简单介绍下makefile的编写。

makefile简介

实际上你可以将makefile理解为一个类似于shell脚本的自动化脚本,在一个工程中源文件非常多的情况下,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。

makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。

makefile编写

makefile有自己的一套语法规则,有很多不错的教程介绍了如何编写makefile。

参考:跟我一起写Makefile

makefile示例

这里给出一个最简单的例子。

首先编写add.c文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "test.h"  
#include <stdio.h>  
 
int add(int a, int b)  
{  
    return a + b;  
}  
 
int main()  
{  
    printf(" 2 + 3 = %d\n", add(2, 3));  
    printf(" 2 - 3 = %d\n", sub(2, 3));  
    return 1;  
}

然后编写sub.c文件:

1
2
3
4
5
6
#include "test.h"  
 
int sub(int a, int b)  
{  
    return a - b;  
}

最后编写test.h文件:

1
2
3
4
5
6
#ifndef _TEST_H  
#define _TEST_H  
 
int add(int a, int b);  
int sub(int a, int b);  
#endif

那么,就是这三个简单的文件,应该怎么编写makefile呢?

1
2
3
4
5
6
7
8
9
10
11
12
test: add.o sub.o  
    gcc -o test add.o sub.o  
 
add.o: add.c test.h  
    gcc -c add.c  
 
sub.o: sub.c test.h  
    gcc -c sub.c      
 
clean:  
    rm -rf test  
    rm -rf *.o

参考文章: linux下的C语言开发(makefile编写)



本文出自 TENNFY WU,转载时请注明出处及相应链接。

本文永久链接: http://www.tennfy.com/4238.html

下一篇文章:

上一篇文章:

1人参与了讨论

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

4 + 5 = ?


您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

返回顶部