linux 下makefile

linux下c编程中makefile是必须会的,我刚开始学,将我对makefile的理解记录下来。

通常我们在windows下编写c程序,有各种ide工具为我们执行makefile工作但在linux下没有这些工具,编代码要靠你,测试要靠你,最后自动化编译设计也要靠你自己。所以我们要学会如何在linux下makefile。

首先编写首先编写add.c文件,

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

接着编写sub.c文件

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

编写test.h

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

编写makefile

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

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

具体makefile的使用请看http://blog.csdn.net/liang13664759/article/details/1771246

原文地址:https://www.cnblogs.com/weilq/p/3479305.html