文章目录
Makefile target 标签学习
在 Makefile 中,标签(targets)表示要生成的文件或者执行的步骤。标签通常是文件名,但也可以是执行某些命令的名称。
每个标签后面跟着一个冒号,然后是这个标签的依赖项。在下一行,我们用缩进(通常是一个Tab)来开始编写命令。
这是一个简单的 Makefile 文件的示例,用于编译名为 “program” 的程序:
program: program.o utils.o
gcc -o program program.o utils.o
program.o: program.c program.h
gcc -c program.c
utils.o: utils.c program.h
gcc -c utils.c
clean:
rm program program.o utils.o
在这个例子中,program, program.o, utils.o 和 clean 就是标签。
program 标签依赖 program.o 和 utils.o 两个文件,生成 program 文件。
program.o 标签依赖 program.c 和 program.h 两个文件,生成 program.o 文件。
utils.o 标签依赖 utils.c 和 program.h 两个文件,生成 utils.o 文件。
clean 标签没有依赖项,它的作用是执行 rm 命令来删除生成的文件。
使用 make 命令时,默认会执行第一个标签。你也可以通过 make target 来指定要执行的标签。例如,make clean
会执行 clean 标签,删除生成的文件。