如何将所有规则添加到此Makefile?

时间:2009-11-16 00:47:44

标签: makefile

我想只输入'make all'并让以下Makefile执行它应该做的所有事情:

LEX = lex
YACC = yacc
CC = gcc

calcu: y.tab.o lex.yy.o
    $(CC) -o calcu y.tab.o lex.yy.o -ly -lfl

y.tab.c y.tab.h: parser.y
    $(YACC) -d parser.y

y.tab.o: y.tab.c parser.h
    $(CC) -c y.tab.c

lex.yy.o: y.tab.h lex.yy.c 
    $(CC) -c lex.yy.c

lex.yy.c: calclexer.l parser.h
    $(LEX) calclexer.l

clean:
    rm *.o
    rm *.c
    rm calcu

1 个答案:

答案 0 :(得分:5)

应该怎么做?如果您只想构建calcu,那么您只需键入make,它就会将其与所依赖的内容一起使用,因为它是文件中的第一条规则。

如果您仍想制定all规则,可以这样做。我建议将其置于所有其他规则之上,以便您只需键入make而不是make all

all: calcu