+all: cal calc
+
+# cal program
cal: y.tab.o
${CC} -o $@ $<
lex.yy.c: cal.l
lex $<
+# calc program
+calc: calc.tab.o calc.yy.o
+ gcc -o $@ calc.tab.o calc.yy.o
+
+calc.tab.h: calc.tab.c
+calc.tab.c: calc.y
+ bison -d $<
+
+calc.yy.o: calc.yy.c calc.tab.h
+calc.yy.c: calc.l
+ flex -o $@ $<
+
+# other
clean:
- rm -f *.o cal lex.yy.c y.tab.c
+ rm -f *.o cal lex.yy.c y.tab.c calc calc.tab.c calc.tab.h calc.yy.c