规则
target:目标文件1 目标文件2…
gcc -o 欲建立的执行文件 目标文件1 目标文件2…
template:
TARGET = test
CFLAGS = -Wall -g
LDFLAGS = -lresolv -lpthread
OBJS = probe.o jhash.o timer.o
.PHONY clean
$(TARGET) : $(OBJS)
cc $^ -o $@ $(LDFLAGS)
test.o : probe.c jhash.h timer.h list.h
jhash.o : jhash.h
timer.o : timer.h list.h
clean:
-rm *.o $(TARGET)
TARGET...:DEPENDEDS...
COMMAND
...
...
COMMAND:命令必须以Tab键开头,Tab告诉make程序这是一个命令行。
自动变量 | 含义 |
---|---|
$@ | 目标项中目标文件的名称,本例中为test |
$^ | 所有的依赖文件,本例为probe.o jhash.o timer.o |
$< | 依赖项中第一个依赖文件 |