# Makefile for PQL Version 0.7 (Subset II)
# by Bjoern Lemke, 16-09-94

GDBMINC=/usr/include
GDBMLIB=/usr/lib
READLINEINC=/usr/include
READLINELIB=/usr/lib

# configure your lexer here
LEXTYPE=FLEX
#LEXTYPE=ATT_LEX
LEX=flex
#LEX = lex

# configure your OS here

#OS=SUNOS
OS=LINUX
#OS=AIX

LIBDIR= -L$(READLINELIB) -L$(GDBMLIB)
INCDIR= -I$(GDBMINC) -I$(READLINEINC)

CC= gcc
CFLAGS= -g -D$(LEXTYPE) -D$(OS) $(INCDIR)
LDFLAGS= $(LIBDIR)

yacc = yacc
#LIBS=-ll -lreadline -lhistory -ltermlib -lgdbm
LIBS=-ll -lreadline -lhistory -lgdbm
.SUFFIXES: .y .c .l .o

SRC=pql_parse.c pql_scan.c

OBJ=pql_parse.o pql_scan.o pql_query.o pql_insert.o pql_print.o pql_clean.o wildmat.o pql_vars.o pql_create.o eng.o

all:	pql 

.y.c:	
	$(YACC) -dv $<
	mv y.tab.h $*.h
	mv y.tab.c $@

.l.c:	
	$(LEX) $<
	mv lex.yy.c $@

.c.o:
	$(CC) ${CFLAGS} -c $<

pql:	$(SRC) $(OBJ)	
	$(CC) $(LDFLAGS) -o pql $(OBJ) $(LIBS)

clean:
	rm -f *.o pql pql_parse.c pql_scan.c pql_parse.h y.output

# dependencies
pql_parse.c:	pql_parse.y
pql_parse.h:	pql_parse.y
pql_scan.c:	pql_scan.l
pql_parse.o:	pql_parse.c pql_tree.h pql_conf.h
pql_scan.o:	pql_scan.c pql_parse.c pql_parse.h pql_conf.h
pql_query.o:    pql_query.c pql_tree.h pql_conf.h
pql_insert.o:	pql_insert.c pql_tree.h pql_conf.h
pql_print.o:	pql_print.c pql_tree.h pql_conf.h
pql_clean.o:	pql_clean.c pql_tree.h pql_conf.h
eng.o:		eng.c eng.h


