默认目标是makefile中的第一个规则

时间:2015-12-27 16:21:04

标签: makefile

我有简单的makefile:

CC=gcc
CFLAGS=-I.
DEPS = hellomake.h

%.o: %.c $(DEPS)
    $(CC) -c -o $@ $< $(CFLAGS)

hellomake: hellomake.o hellofunc.o 
    gcc -o hellomake hellomake.o hellofunc.o -I.

根据makefile描述&#34; makefile中的第一个规则是默认目标&#34;。根据我的理解,第一条规则是:

%.o: %.c $(DEPS)
    $(CC) -c -o $@ $< $(CFLAGS) 

但我认为这不是&#34;默认目标&#34;既然目标是创建hellomake可执行文件?我的错误在哪里?

1 个答案:

答案 0 :(得分:0)

根据gnu制作手册,By default, make starts with the first target (not targets whose names start with ‘.’)

%.o : ...不算作实际目标,而是一种模式,在需要时可以解析为实际目标。