综述

编写一个文件,描述了编译哪些源码文件,如何编译
解决大工程编译的工具:make
描述文件(脚本文件):Makefile(唯一命名区分大小写)
终端使用make命令即可完成自动编译

  • 自动化工具
  • 不需要手工编译每个程序文件
  • 宗旨:让编译器知道编译一个文件需要依赖哪些文件,依赖文件改变时自动发现那些部分重新编译
  • 基本原理:如果某个源程序文件被修改,那么依赖这个源程序文件的所有目标文件都需要重新编译

举例

  1. main: main.o input.o calcu.o
  2. gcc -o main main.o input.o calcu.o
  3. main.o: main.c
  4. gcc -c main.c
  5. input.o: input.c
  6. gcc -c input.c
  7. calcu.o: calcu.c
  8. gcc -c calcu.c
  9. clean:
  10. rm *.o
  11. rm main

严格区分TAB键和空格键
如果make命令错误,可能是如下原因
image.png
image.png

参考资料

跟我一起写Makefile.pdf