CC_BIN ?= gcc LEX_BIN ?= flex YACC_BIN ?= bison GRAMMARS_DIR ?= ./grammars GRAMMAR_ID ?= quut output ?= $(GRAMMAR_ID)-cocc all: $(output) $(GRAMMAR_ID).tab.h: $(GRAMMARS_DIR)/$(GRAMMAR_ID).y $(YACC_BIN) -d $? lex.yy.c: $(GRAMMARS_DIR)/$(GRAMMAR_ID).l $(GRAMMAR_ID).tab.h $(LEX_BIN) $< $(output): lex.yy.c $(GRAMMAR_ID).tab.c $(GRAMMAR_ID).tab.h $(CC_BIN) -o $@ lex.yy.c $(GRAMMAR_ID).tab.c clean: rm -f lex.yy.c *.tab.c *.tab.h *-cocc