# This Makefile is designed to be simple and readable. It does not # aim at portability. It requires GNU Make. BASE = reccalc BISON = bison FLEX = flex all: $(BASE) %.c %.h %.xml %.gv: %.y $(BISON) $(BISONFLAGS) --header --graph -o $*.c $< %.c %.h: %.l $(FLEX) $(FLEXFLAGS) -o$*.c --header=$*.h $< scan.o: parse.h parse.o: scan.h $(BASE): parse.o scan.o $(CC) $(CFLAGS) -o $@ $^ run: $(BASE) @echo "Type arithmetic expressions. Quit with ctrl-d." ./$< CLEANFILES = \ $(BASE) *.o \ parse.[ch] parse.output parse.xml parse.html parse.gv \ scan.[ch] clean: rm -f $(CLEANFILES)