#
# Makefile for genser
#
LEX=flex -s
YACC=bison -yvt
TOP=..
include $(TOP)/rules

CFLAGS = $(CPP)
CPP='-DCPP="/lib/cpp -Ulinux -C"'
LDFLAGS=-s
LIBS= #-lfl

ALLSRC=gencode.c genhdr.c $(SRC)
ALLOBJ=$(ALLSRC:%.c=%.o)

SRC=symtab.c lex.yy.c y.tab.c format.c misc.c
HDR=symtab.h y.tab.h 
OBJ=$(SRC:%.c=%.o)

.SUFFIXES: .ty

.ty.c:	gencode
	gencode -dse $< > $@

.ty.h:	genhdr
	genhdr $< > $@

all:: genhdr gencode

genhdr: genhdr.o $(OBJ)
	$(CC) $(LDFLAGS) -o $@ genhdr.o $(OBJ) $(LIBS)

gencode: gencode.o $(OBJ)
	$(CC) $(LDFLAGS) -o $@ gencode.o $(OBJ) $(LIBS)

lex.yy.c:	lexer.l y.tab.h
	$(LEX) $<

lex.yy.o:	lex.yy.c y.tab.h
	$(CC) $(XCFLAGS) $(CFLAGS) -w -c $<

y.tab.c y.tab.h: parser.y
	$(YACC) -d $<

dep depend::	$(ALLSRC) $(HDR)
	$(CC) -M $(ALLSRC) > .depend

clean::
	rm -f *.o lex.yy.c y.output y.tab.[ch] *~ genhdr gencode core

