📄 makefile
字号:
# %W% %G%# make and run all the example programs for# lex & yacc, Second EditionCC = gcc -gLIBS = -ly -llLEX = flexYACC = yaccCFLAGS = -DYYDEBUG=1PROGRAMS1 = ch1-01.pgm ch1-02.pgm ch1-03.pgm ch1-04.pgm ch1-05.pgm ch1-06.pgmPROGRAMS2 = ch2-01.pgm ch2-02.pgm ch2-03.pgm ch2-04.pgm ch2-05.pgm \ ch2-06.pgm ch2-07.pgm ch2-08.pgm ch2-09.pgmPROGRAMS3 = ch3-01.pgm ch3-02.pgm ch3-03.pgm ch3-04.pgm ch3-05.pgmPROGRAMS4 = mglPROGRAMS5 = sql1 sql2PROGRAMSE = ape-05.pgm ape-06.pgmall: ${PROGRAMS1} ${PROGRAMS2} ${PROGRAMS3} ${PROGRAMS4} ${PROGRAMS5} \ ${PROGRAMSE}progs.tar: tar cvf $@ \ Makefile ape-05.l ape-06.l ch1-01.l ch1-02.l ch1-03.l ch1-04.l \ ch1-05.l ch1-05.y ch1-05y.h ch1-06.l ch1-06.y ch1-06y.h ch2-01.l \ ch2-02.l ch2-03.l ch2-04.l ch2-05.l ch2-06.l ch2-07.l ch2-08.l \ ch2-09.l ch3-01.l ch3-01.y ch3-02.y ch3-03.l ch3-03.y ch3-04.l \ ch3-04.y ch3-05.l ch3-05.y ch3-06.y ch3hdr.h ch3hdr2.h magic.input \ mgl-code mgl-in mgllex.l mglyac.y mmain.c sample.c subr.c \ scn1.l scn2.l sql1.y sql2.y sqltext.c# Chapter 1ch1-05.pgm: ch1-05l.o ch1-05y.o ${CC} -o ch1-05.pgm ch1-05l.o ch1-05y.o ${LIBS}ch1-05l.c: ch1-05.l ${LEX} ch1-05.l mv lex.yy.c ch1-05l.cch1-05l.o: ch1-05l.c ch1-05y.hch1-05y.h ch1-05y.c: ch1-05.y ${YACC} -d ch1-05.y mv y.tab.c ch1-05y.c mv y.tab.h ch1-05y.hch1-06.pgm: ch1-06l.o ch1-06y.o ${CC} -o ch1-06.pgm ch1-06l.o ch1-06y.o ${LIBS}ch1-06l.c: ch1-06.l ${LEX} ch1-06.l mv lex.yy.c ch1-06l.cch1-06l.o: ch1-06l.c ch1-06y.hch1-06y.h ch1-06y.c: ch1-06.y ${YACC} -d ch1-06.y mv y.tab.c ch1-06y.c mv y.tab.h ch1-06y.h# Chapter 2# all use single lex source files# Chapter 3ch3-01.pgm: ch3-01.l ch3-01.y ${LEX} ch3-01.l ${YACC} -d ch3-01.y ${CC} ${CFLAGS} -o ch3-01.pgm y.tab.c lex.yy.c ${LIBS}ch3-02.pgm: ch3-01.l ch3-02.y ${LEX} ch3-01.l ${YACC} -d ch3-02.y ${CC} ${CFLAGS} -o ch3-02.pgm y.tab.c lex.yy.c ${LIBS}ch3-03.pgm: ch3-03.l ch3-03.y ${LEX} ch3-03.l ${YACC} -d ch3-03.y ${CC} ${CFLAGS} -o ch3-03.pgm y.tab.c lex.yy.c ${LIBS}ch3-04.pgm: ch3-04.l ch3-04.y ch3hdr.h ${LEX} ch3-04.l ${YACC} -d ch3-04.y ${CC} ${CFLAGS} -o ch3-04.pgm y.tab.c lex.yy.c ${LIBS}ch3-05.pgm: ch3-05.l ch3-05.y ch3hdr2.h ${LEX} ch3-05.l ${YACC} -d ch3-05.y ${CC} ${CFLAGS} -o ch3-05.pgm y.tab.c lex.yy.c ${LIBS} -lm# chapter 4mgl: subr.o mglyac.o mgllex.o ${CC} -o $@ subr.o mglyac.o mgllex.o ${LIBS}subr.o: subr.c mglyac.h mgl-codemgllex.o: mgllex.c mglyac.hmgllex.c: mgllex.l ${LEX} mgllex.l mv lex.yy.c mgllex.cmglyac.c mglyac.h: mglyac.y ${YACC} -d mglyac.y mv y.tab.c mglyac.c mv y.tab.h mglyac.h # chapter 5sql1: sql1.o scn1.o ${CC} -o $@ sql1.o scn1.osql1.c sql1.h: sql1.y ${YACC} -vd sql1.y mv y.tab.h sql1.h mv y.tab.c sql1.c mv y.output sql1.outscn1.o: sql1.h scn1.csql2: sql2.o scn2.o sqltext.o ${CC} -o $@ sql2.o scn2.o sqltext.osql2.c sql2.h: sql2.y ${YACC} -vd sql2.y mv y.tab.h sql2.h mv y.tab.c sql2.c mv y.output sql2.outscn2.o: sql2.h scn2.c.SUFFIXES: .pgm .l .y.l.pgm: ${LEX} $< mv lex.yy.c $*.c ${CC} -o $@ $*.c ${LIBS}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -