如何高效编写Makefile学习笔记?
- 内容介绍
- 文章标签
- 相关推荐
本文共计506个文字,预计阅读时间需要3分钟。
1. Makefile简介: + Windows系统中的Visual Studio/Dev-C++等IDE工具(Integrated Development Environment)将C语言的预处理、编译、汇编、链接等过程集成在一起,而在Linux系统下则需要编写GCC命令才能完成。
1. makefile简单介绍:
▶ Windows系统里的 Visual studio/Dev C++等IDE工具(Integrated Development Environment)将C语言的预处理、编译、汇编、链接等过程集成在一起,而在Linux系统下需要编写GCC命令才能完成编译操作。当项目文件很多时,效率太低了。因此采用Makefile的方法实现编译的统一管理。
2. makefile的规则
目标:目标依赖
命令
目标是最终想要的文件,一般为可执行文件;目标依赖是生成可执行文件所依赖的文件;命令一般为GCC命令、shell命令、链接命令、objcopy命令等。
3. makefile的目标依赖
makefile通过比较目标依赖文件和目标文件的更新时间,当依赖文件更新后,目标文件才会随着编译更新。
但有一个问题,目标依赖文件中的头文件更新不会被记录到,导致目标文件不会更新。这个问题可以通过gcc-M hello.c这个命令解决。
[xuanmiao@localhost Demo_makefile]$ gcc -M hello.c
hello.o: hello.c /usr/include/stdc-predef.h hello.h
4. makefile的自动变量
本文共计506个文字,预计阅读时间需要3分钟。
1. Makefile简介: + Windows系统中的Visual Studio/Dev-C++等IDE工具(Integrated Development Environment)将C语言的预处理、编译、汇编、链接等过程集成在一起,而在Linux系统下则需要编写GCC命令才能完成。
1. makefile简单介绍:
▶ Windows系统里的 Visual studio/Dev C++等IDE工具(Integrated Development Environment)将C语言的预处理、编译、汇编、链接等过程集成在一起,而在Linux系统下需要编写GCC命令才能完成编译操作。当项目文件很多时,效率太低了。因此采用Makefile的方法实现编译的统一管理。
2. makefile的规则
目标:目标依赖
命令
目标是最终想要的文件,一般为可执行文件;目标依赖是生成可执行文件所依赖的文件;命令一般为GCC命令、shell命令、链接命令、objcopy命令等。
3. makefile的目标依赖
makefile通过比较目标依赖文件和目标文件的更新时间,当依赖文件更新后,目标文件才会随着编译更新。
但有一个问题,目标依赖文件中的头文件更新不会被记录到,导致目标文件不会更新。这个问题可以通过gcc-M hello.c这个命令解决。
[xuanmiao@localhost Demo_makefile]$ gcc -M hello.c
hello.o: hello.c /usr/include/stdc-predef.h hello.h
4. makefile的自动变量

