Makefile
$@ 当前规则的目标名
$< 当前规则依赖文件列表中第一个依赖文件
$? 所有修改日期比当前规则目标文件创建日期晚的依赖文件(只有在用显示规则时才会被使用)
$* 目标文件和依赖文件共享的文件名,不含扩展名
$^ 整个依赖文件列表(除掉了所有重复的文件名)
e.g.
OBJS =main.o hello.o
CC =gcc
CFLAGS =-Wall -O -g
excuteable :$(OBJS)
$(CC) :$^ -o $@
%.o :%.c
$(CC) $(CFLAGS) -c $< -o $@
#main.o :main.c
$(CC) $(CFLAGS) -c main.c -o main.o
本文详细介绍了一个具体的Makefile实例,解释了如何使用Makefile中的特殊变量如$@, $<, $?, $*, $^等来构建编译流程。通过一个简单的C语言程序编译过程,演示了Makefile在自动化构建中的应用。

被折叠的 条评论
为什么被折叠?



