通过 Makefile 对 C 语言进行编译并运行
通过 Makefile 对 C 语言进行编译并运行
Makefile 介绍
Makefile 可以简单的认为是一个工程文件的编译规则,描述了整个工程的编译和链接等规则。其中包含了那些文件需要编译,那些文件不需要编译,那些文件需要先编译,那些文件需要后编译,那些文件需要重建等等。编译整个工程需要涉及到的,在Makefile 中都可以进行描述。换句话说,Makefile 可以使得我们的项目工程的编译变得自动化,不需要每次都手动输入一堆源文件和参数。
Makefile 文件编写规则
target : prerequisites
command
target是一个目标文件,可以是Object File,也可以是执行文件。还可以是一个标签(Label),对于标签这种特性,在后续的“伪目标”章节中会有叙述。
prerequisites是需要生成那个target所需要的文件或是目标。
command也就是make需要执行的命令。(任意的Shell命令)
Makefile 文件格式与实例
main: main.o sub1.o
gcc main.o sub1.o -o main
main.o: main.c
gcc -c main.c -o mian.o
sub1.o: sub1.c
gcc -c sub1.c -o sub1.o
clean:
rm main *.o
使用 Makefile 对 C 语言进行编译,需要有 .h 头文件对函数进行定义
Makefile 编译并运行 C 语言源文件
总结
Makefile 通过指定的 Makefile 文件,让整个编译过程变得更加简单,我们只需要在 Makefile 文件中补充完全我们需要的文件,通过以下指令:
sudo make
即可简单快捷的编译整个文件,总体来说,就相当于在 Windows 环境下使用 CMakeList 对 C 语言进行编译