一个简单的Makefile,它不';t创建可执行文件
我有以下生成文件:一个简单的Makefile,它不';t创建可执行文件,makefile,Makefile,我有以下生成文件: CC = gcc OBJS = a.o b.o c.o EXEC = prog DEBUG = #-g for debug CFLAGS = -std=c99 -Wall -Werror $(DEBUG) $(EXEC) : $(OBJS) a.o : a.c a.h b.h b.o : b.c b.h c.o : c.c c.h b.h clean: rm -f $(OBJS) $(EXEC) 它创建对象文件,但不创建可执行文件-prog。 我怎么修理
CC = gcc
OBJS = a.o b.o c.o
EXEC = prog
DEBUG = #-g for debug
CFLAGS = -std=c99 -Wall -Werror $(DEBUG)
$(EXEC) : $(OBJS)
a.o : a.c a.h b.h
b.o : b.c b.h
c.o : c.c c.h b.h
clean:
rm -f $(OBJS) $(EXEC)
它创建对象文件,但不创建可执行文件-prog
。
我怎么修理它
谢谢
$(EXEC): $(OBJS)
$(CC) -o $@ $(CFLAGS) $(OBJS)
基本上,当您将多个对象列为依赖项时,无法使用隐式规则,因此您必须编写命令以自行执行。在本例中,$@
是$(EXEC)
的缩写;它是正在创建的目标