📄 makefile
字号:
VERSION = Bison#VERSION = LLgenSOURCES = declaration.c error.c expression.c io.c list.c main.c salloc.c scope.c statement.c token.c type.c printlist.cY_SOURCES = grammar.yG_SOURCES = grammar.gL_SOURCES = lex.lRTS_SOURCES = libcb.c rts.cCC = gccINCLUDES = -I.DEBUG_FLAGS = -g -ansi -pedantic -WallDEP_FLAGS = -MM -MGCFLAGS = $(INCLUDES) $(DEBUG_FLAGS) -MMDLIBRARIES =BISON = bisonBISONFLAGS = -dLLGEN = LLgenLLGENFLAGS = -aLEX = flexLEXFLAGS =BISON_C_SRC = $(Y_SOURCES:%.y=%.tab.c)BISON_H_SRC = $(Y_SOURCES:%.y=%.tab.h)LLGEN_C_SRC = $(G_SOURCES:%.g=%.c) Lpars.cLLGEN_H_SRC = Lpars.hifeq "$(VERSION)" "Bison"GEN_C_SRC = $(BISON_C_SRC) $(L_SOURCES:%.l=%.yy.c)GEN_H_SRC = $(BISON_H_SRC)PARSER = $(Y_SOURCES)endififeq "$(VERSION)" "LLgen"GEN_C_SRC = $(LLGEN_C_SRC) $(L_SOURCES:%.l=%.yy.c)GEN_H_SRC = $(LLGEN_H_SRC)PARSER = $(G_SOURCES)endifGEN_SOURCES = $(GEN_C_SRC) $(GEN_H_SRC)C_SOURCES = $(SOURCES) $(GEN_C_SRC)OBJECTS = $(C_SOURCES:%.c=%.o)RTS_OBJECTS = $(RTS_SOURCES:%.c=%.o)FILES= Makefile README cbc $(SOURCES) $(RTS_SOURCES) \ $(PARSER) $(L_SOURCES) \ bool.h declaration.h error.h expression.h io.h lex.h \ libcb.h list.h rts.h salloc.h scope.h statement.h token.h type.h printlist.hDEPENDENCIES= $(C_SOURCES:%.c=%.d)%.d: %.c @$(CC) $(CFLAGS) $(DEP_FLAGS) $<%.o: %.c $(CC) $(CFLAGS) -c $<all:: compiler libcb.a#compiler:: $(GEN_C_SRC) cbfcompiler:: cbflibcb.a: libcb.o rts.o @$(AR) rcs $@ $? cbf: $(OBJECTS) @$(CC) $(CFLAGS) $(OBJECTS) $(LIBRARIES) -o $@submit:: @tar cfz submit.tgz $(FILES)clean:: @$(RM) $(GEN_SOURCES) $(OBJECTS) $(RTS_OBJECTS)\ $(OBJECTS:%.o=%.d) $(RTS_OBJECTS:%.o=%.d)\ cbf libcb.a parser cb.[ch] a.out submit.tgz @echo "cleaned"ifeq "$(VERSION)" "Bison"$(BISON_C_SRC): $(Y_SOURCES) @$(RM) -rf $(LLGEN_C_SRC:%.c=%.[cdo]) $(LLGEN_H_SRC) $(BISON) $(BISONFLAGS) $< @touch parserendififeq "$(VERSION)" "LLgen"$(LLGEN_C_SRC): $(G_SOURCES) @$(RM) -rf $(BISON_C_SRC:%.c=%.[cdo]) $(BISON_H_SRC) $(LLGEN) $(LLGENFLAGS) $< @touch parserendif%.yy.c: %.l $(LEX) $(LEXFLAGS) $<libcb.o: libcb.c libcb.hrts.o: rts.c rts.hifeq ($(filter clean, $(MAKECMDGOALS)),)-include $(DEPENDENCIES)endif.PHONY:all clean compiler.SECONDARY:lex.yy.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -