Add another version slightly cleaned up and using flex/bison with a header file
[calc.git] / Makefile
index ecd7219..b1c5ad5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,6 @@
+all: cal calc
+
+# cal program
 cal: y.tab.o
        ${CC} -o $@ $<
 
@@ -9,5 +12,18 @@ y.tab.c: cal.y
 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