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

neu*_*cer 3 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
Run Code Online (Sandbox Code Playgroud)

Jer*_*ten 5

应该怎么做?如果你只是想要它来构建calcu,你所要做的就是键入make它,它将与它所依赖的一切一起使用,因为它是文件中的第一个规则.

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

all: calcu
Run Code Online (Sandbox Code Playgroud)

  • .PHONY:all这告诉make你不希望在构建之后实际上有一个名为"all"的文件. (2认同)