目录
序言
make和Makefile
- make 是一条命令
- Makefile 是一个文件
多文件编译
创建多个文件
touch main.c mytest.c mytest.h
编写mytest.h
#ifndef __MYTEST_H__ //#ifndef __MYTEST_H__这个先把=不用管
#define __MYTEST_H__
#include <stdio.h>
void show();
#endif
编写mytest.c
#include "mytest.h"
void show()
{
int i = 0;
for(;i<10;i++)
{
printf("%d ",i);
}
printf("\n");
}
编写main.c
#include "mytest.h"
int main()
{
show();
return 0;
}
Makefile/makefile文件
创建
touch Makefile
基础
编写一
mybin: main.c mytest.c
gcc main.c mytest.c -o mybin
我们首先要知道一点:一个Makefile文件存在下面的东西,缺一不可
- 依赖关系
- 依赖方法
成果一
进阶
进阶一
gcc $^ -o $@
我们在这里看到了 : 冒号,这是一个很关键的东西
目标文件 :依赖文件
- 冒号左边 目标文件 也就是 $@
- 冒号左边 依赖文件 也就是 $^
进阶二
- %.o 对应.c文件生成的.o文件
- %.c 本目录下所有的.c文件
- $< 所有的.c文件一一展开在gcc下生成对应的.o文件