from http://blog.csdn.net/chenglibin1988/article/details/8789882
2013.04
三個(gè)文件
1 add函數(shù)頭文件-計(jì)算兩個(gè)數(shù)的和 m.h
2 add函數(shù)的實(shí)現(xiàn)文件 m.c
3 main函數(shù)調(diào)用文件 main.c
源代碼:
m.h:
- #include <stdio.h>
-
- int add(int a, int b);
m.c:
- #include "m.h"
-
- int add(int a, int b)
- {
- return a + b;
- }
main.c
- #include <stdlib.h>
- #include "m.h"
-
- int main()
- {
- int sum = add(5,3);
- printf("sum= %d\n",sum);
- return 0;
- }
makefile文件形式如下:
- sum : main.o m.o
- gcc -o sum main.o m.o
-
- main.o : main.c m.h
- gcc -c main.c
-
- m.o : m.c m.h
- gcc -c m.c
-
- clean :
- rm *.o
執(zhí)行命令 make,即生成sum可執(zhí)行文件
make clean 即執(zhí)行 rm *.o
注意 命令行 比如 gcc -c m.c需要用tab鍵空行。
2 使用變量的方式寫 makefile
- obj = main.o m.o
-
- sum : $(obj)
- gcc -o sum $(obj)
-
- main.o : main.c m.h
- gcc -c main.c
-
- m.o : m.c m.h
- gcc -c m.c
-
- clean :
- rm $(obj)
3 使用GCC的自動(dòng)推導(dǎo)功能
- obj = main.o m.o
-
- sum : $(obj)
- gcc -o sum $(obj)
-
- main.o : m.h
-
-
- m.o : m.h
-
-
- clean :
- rm $(obj)
4 只寫 m.h 一次
- obj = main.o m.o
-
- sum : $(obj)
- gcc -o sum $(obj)
-
- $(obj) : m.h
-
-
- clean :
- rm $(obj)
|