YACC=bison YFLAGS=-t CFLAGS=-g LEX=flex .SUFFIXES: _lex.c _yacc.c .l_lex.c : $(LEX) $(LFLAGS) -t $< > $@ %.c : %.y # Cancel this rule, and create our own .y_yacc.c : $(YACC) $(YFLAGS) -d $< -o $@ all: olmenu olmenu_lex_test.c : olmenu.l olmenu_tokens.y $(YACC) $(YFLAGS) -d olmenu_tokens.y mv olmenu_tokens.tab.h olmenu_yacc.h $(LEX) -d -t olmenu.l > $@ olmenu_lex_test : olmenu_lex_test.c $(CC) $(CFLAGS) -DTEST_LEX $< -o $@ -ll olmenu-proto1_yacc.c : olmenu-proto1.y $(YACC) $(YFLAGS) -d $< -o $@ mv olmenu-proto1_yacc.h olmenu_yacc.h olmenu-proto1 : olmenu-proto1_yacc.o olmenu_lex.o $(CC) -o $@ olmenu-proto1_yacc.o olmenu_lex.o olmenu-proto2_yacc.c : olmenu-proto2.y $(YACC) $(YFLAGS) -d $< -o $@ mv olmenu-proto2_yacc.h olmenu_yacc.h olmenu-proto2 : olmenu-proto2_yacc.o olmenu_lex.o $(CC) -o $@ olmenu-proto2_yacc.o olmenu_lex.o olmenu : olmenu_yacc.o olmenu_lex.o dtwmrc.o $(CC) -o $@ olmenu_yacc.o olmenu_lex.o dtwmrc.o olmenu_yacc.o : olmenu_yacc.c olmenu.h olmenu_lex.o : olmenu_lex.c olmenu_yacc.h dtwmrc.o : dtwmrc.c olmenu.h olmenu_yacc.h clean : rm -f *_yacc.[ch] *_lex.c *.o *.tab.[ch] *_yacc.output olmenu_lex_test.c