# $Id$ LEVEL = ../.. UNAME := $(shell uname) include $(LEVEL)/Makefile.config include $(LEVEL)/Makefile.$(UNAME) TARGET = burg.$(UNAME) #CFLAGS = #CFLAGS = -O #CFLAGS = -O -DNOLEX CFLAGS = -g -DDEBUG #CFLAGS = -g -DNOLEX -DDEBUG SRCS = \ be.c \ burs.c \ closure.c \ delta.c \ fe.c \ item.c \ lex.c \ list.c \ main.c \ map.c \ nonterminal.c \ operator.c \ pattern.c \ plank.c \ queue.c \ rule.c \ string.c \ symtab.c \ table.c \ trim.c \ zalloc.c BU_OBJS = \ burs.o \ closure.o \ delta.o \ item.o \ list.o \ map.o \ nonterminal.o \ operator.o \ pattern.o \ queue.o \ rule.o \ table.o \ trim.o \ zalloc.o BU_OBJS := $(addprefix $(UNAME)/,$(BU_OBJS)) FE_OBJS = \ be.o \ fe.o \ lex.o \ main.o \ plank.o \ string.o \ symtab.o \ y.tab.o FE_OBJS := $(addprefix $(UNAME)/,$(FE_OBJS)) all: $(TARGET) $(TARGET): $(BU_OBJS) $(FE_OBJS) $(CC) -o $(TARGET) $(CFLAGS) $(BU_OBJS) $(FE_OBJS) y.tab.c y.tab.h: gram.y yacc -d gram.y clean: rm -rf $(UNAME) *.o y.tab.h y.tab.c core burg *.aux *.log *.dvi sample sample.c tmp $(FE_OBJS): b.h $(BU_OBJS): b.h $(FE_OBJS): fe.h lex.o: y.tab.h doc.dvi: doc.tex latex doc; latex doc $(UNAME)/%.o: %.c $(VERB) $(CC) -c -g $< -o $@ test: $(TARGET) sample.gr ./$(TARGET) -I sample.c && cc $(CFLAGS) -o sample sample.c && ./sample ./$(TARGET) -I sample.gr >tmp && cmp tmp sample.c ./$(TARGET) -I tmp && cmp tmp sample.c ./$(TARGET) -I -= tmp && cmp tmp sample.c