我有这个Makefile这似乎是工作,但我不知道如何:调用此模式匹配规则的是什么?
EXECUTABLE=hello
CC=gcc
OBJS = a.o
all: $(EXECUTABLE)
%.o : %.c
$(CC) -o [email protected] -c $<
$(EXECUTABLE): $(OBJS)
$(CC) -o [email protected] $<
我知道前3行是本地定义的,当我输入“make”将建立在all
目标。现在,从这里我有点失落......我猜:
- 制作看到
$(EXECUTABLE)
标签和跳是构建命令 - 它看到
$(OBJS)
标签,因为a.o
不存在本地目录就跳转到模式匹配规则 - 制作认定
a.c
和运行规则来产生a.o
- 现在做返回到
$(EXECUTABLE)
指挥和运行的.o文件相结合,使“你好”节目 个
问题:
- 是我认为流动的理解是否正确?
- 此文件中“标签”的位置是否相关?
- 是否有一些我错过的GNU文档证实了我对此工作原理的怀疑?
感谢您的信息。因此,最后一个链接告诉我#3的答案(这是标签**的顺序**是重要的)是否正确? – Mike 2013-03-08 15:25:31
它唯一重要的是你不打算提供一个make的目标,比如它给出的“make all”“make clean”等例子 – ThePosey 2013-03-08 15:27:51