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\n", add(2, 3)); 12 printf(" 2 - 3 = %d\n", 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