基本格式:
target(目标生成文件):prerequisites(依赖文件)
(tab) 命令语句
clean:
例题:需求描述
编写程序实现两个整数相加、相减操作
要求
1、文件分布(xiangjian.c xiangjian.h xiangjia.c xiangjia.h main.c)
2、编写makefile进行编译
步骤:
1.在虚拟机上建立一个文件夹xiangjiajian
2.在xiangjiajian中分别建立xiangjia和xiangjian文件夹
3.在xiangjia中建立xiangjia.c和xiangjia.h和xiangjia.mk,xiangjian文件夹之中相同
4.在xiangjiajian中建立一个main.c(主函数)再建立一个makefile。
5.调用。
xiangjia.c:
#include<stdio.h>
int xiangjia(int a,int b)
{
return a+b;
}
xiangjia.h
#include<stdio.h>
int xiangjia(int a,int b);
xiangjia.mk
xiangjia.o:xiangjia/xiangjia.c xiangjia/xiangjia.h
gcc -c xiangjia/xiangjia.c -o xiangjia.o
xiangjian.c
#include<stdio.h>
int xiangjian(int c,int d)
{
return c-d;
}
xiangjian.h
#include<stdio.h>
int xiangjian(int c,int d);
xiangjian.mk
xiangjian.o:xiangjian/xiangjian.c xiangjian/xiangjian.h
gcc -c xiangjian/xiangjian.c -o xiangjian.o
main.c
#include<stdio.h>
#include"xiangjia/xiangjia.h"
#include"xiangjian/xiangjian.h"
int main()
{
int x,y;
x=xiangjia(1,2);
y=xiangjian(2,1);
printf("1+2=%d\n2-1=%d\n",x,y);
return 0;
}
makefile
all: main
include xiangjia/xiangjia.mk
include xiangjian/xiangjian.mk
main: main.o xiangjia.o xiangjian.o
gcc *.o -o main
main.o: main.c
gcc -c main.c -o main.o
clean:
rm -f *.o main