本例由 main.c add.c sub.c add_sub.h 四个文件组成:编写Makefile执行程序
1 /************************************************************************* 2 > File Name: main.c 3 > Author: 4 > Mail: 5 > Created Time: Tue 25 Jul 2017 10:40:22 AM CST 6 ************************************************************************/
7
8 #include<stdio.h>
9 #include"add_sub.h"
10 int main() 11 { 12 printf(" 2 + 3 = %d\n", add(2, 3)); 13 printf(" 2 - 3 = %d\n", sub(2, 3)); 14 return 0; 15 }
1 /************************************************************************* 2 > File Name: add.c 3 > Author: 4 > Mail: 5 > Created Time: Tue 25 Jul 2017 10:36:26 AM CST 6 ************************************************************************/
7 #include "add_sub.h"
8
9 int add(int a, int b) 10 { 11 return a + b; 12 }
1 /************************************************************************* 2 > File Name: sub.c 3 > Author: 4 > Mail: 5 > Created Time: Tue 25 Jul 2017 10:37:54 AM CST 6 ************************************************************************/
7
8 #include "add_sub.h"
9
10 int sub(int a, int b) 11 { 12 return a - b; 13 }
1 /************************************************************************* 2 > File Name: add_sub.h 3 > Author: 4 > Mail: 5 > Created Time: Tue 25 Jul 2017 10:38:53 AM CST 6 ************************************************************************/
7
8 #ifndef _ADD_SUB_H 9 #define _ADD_SUB_H
10 int add(int a, int b); 11 int sub(int a, int b); 12 #endif
Makefile的内容:
我们可以把这个内容保存在文件为“Makefile”或“makefile”的文件中,然后在该目录下直接输入命令“make”,就会在当前目录下找名字叫“Makefile”或“makefile”的文件,可以生成执行文件main。
1 main: add.o sub.o main.o 2 gcc add.o sub.o main.o -o main 3 4 add.o: add.c add_sub.h 5 gcc -c add.c -o add.o 6 7 sub.o: sub.c add_sub.h 8 gcc -c sub.c -o sub.o 9 10 main.o:main.c add_sub.h 11 gcc -c main.c -o main.o 12 clean: 13 rm -rf *.o main
生成方法必须以TAB开头;若尝试用空格缩进会出现错误!
实验结果:

如果要删除执行文件和所有的中间目标文件,那么,只要简单地执行一下“make clean”就可以了。