Makefile Intro
Makefile
Makefile 关系到整个工程的编译规则(先后顺序)
make: 一个解释makefile中指令的命令工具
课前小知识
- 编译(compile)、链接(link)、库文件(Library File)
- 编译: 将源文件编译成中间代码文件(windows .obj文件, Unix下的.o文件)
 - 编译器值检测程序语法和函数、变量是否被声明.
 - 链接: 将大量的Object File合成执行文件
 - 链接器会在所有的Object File中寻找函数的实现
 - 库文件: 将编译的中间文件打包(windows .lib文件, Unix .a Archive File)
 
 
Makefile
- 规则
prerequisties中如果有一个以上的文件比target文件要新的话,command所定义的命令就会被执行
 
1  | target ... : prerequisities ...  | 
- target:
  - object file 目标文件:
  - execute file 可执行文件:
  - label 标签:
- prerequisites:
  - 依赖的文件
- command:
  - 执行的命令
- make如何工作
1
2
3# makefile
edit : main.o kbd.o command.o display.o \
> make 会一层层找文件的依赖关系,知道最终编译初第一个目标文件, make只关注文件的依赖性. 
参考资料
- [跟我一起写Makefile (PDF重制版)] (https://seisman.github.io/how-to-write-makefile/Makefile.pdf)