

CLEAN= y.tab.c y.tab.h y.tab.i y.output \
	errors *.out 

INCLUDE=db.h db.i p_sort.h p_db.h p_eval.h
FIX_PREFIX=fix_yacclex

LIB= libds.a
DLIB=$(LIB:.a=$(DSUFFIX))

.PRECIOUS : libdb.a 

MAN3 =  dbadd.3 \
	dbcompile.3 \
	dbdelete.3 \
	dbdestroy.3 \
	dbeval.3 \
	dbextfile.3 \
	dbfilename.3 \
	dbfree.3 \
	dbget.3 \
	dbget_range.3 \
	dbgetv.3 \
	dbgroup.3 \
	dbindexes.3 \
	dbintro.3 \
	dbinvalid.3 \
	dbjoin.3 \
	dblist2subset.3 \
	dblookup.3 \
	dbmatches.3  \
	dbnextid.3 \
	dbnojoin.3 \
	dbopen.3 \
	dbprocess.3 \
	dbquery.3 \
	dbremark.3 \
	dbsave_view.3 \
	dbselect.3 \
	dbset.3 \
	dbsever.3 \
	dbsort.3 \
	dbsubset.3 \
	dbtables.3 \
	dbunjoin.3 \
	dbuntangle.3 \
	\
	dbadd.3f \
	dbdelete.3f \
	dbeval.3f \
	dbextfile.3f \
	dbfilename.3f \
	dbget.3f \
	dbgetv.3f \
	dbjoin.3f \
	dblookup.3f \
	dbnextid.3f \
	dbopen.3f \
	dbquery.3f \
	dbremark.3f \
	dbsort.3f \
	dbsubset.3f \
	dbunjoin.3f

MAN5 = \
	dbdescriptor.5 \
	dbexpressions.5 \
	dbschema.5

# EXCLUDE = ex tests correct future

.y.c:
	$(YACC.y) $<
	mv y.tab.c $@

DSAPMAKE = /opt/dsap/3.4/DSAPMAKE
include $(DSAPMAKE)
DIRS=

FORTRAN_IF = \
		db_.o \
		dbaddv_.o \
		dbputv_.o \
		dbgetv_.o \
		dbextfile_.o 

PUBLIC = \
		db_pglobal.o \
		dbadd.o \
		dbadd_attribute.o \
		dbadd_like.o \
		dbadd_relation.o \
		dbaddnull.o \
		dbaddv.o \
		dbaddt.o \
		dbcompile.o \
		dbcreate.o \
		dbcreate_index.o \
		dbcrunch.o \
		dbdelete.o \
		dbdestroy.o \
		dbex_eval.o \
		dbex_evalstr.o \
		dbex_free.o \
		dbextfile.o \
		dbfilename.o \
		dbfree.o \
		dbget.o \
		dbgetv.o \
		dbget_range.o \
		dbgroup.o \
		dbinvalid.o \
		dbis_expression.o \
		dbjoin.o \
		dblist2subset.o \
		dblookup.o \
		dbmatches.o \
		dbmatch_range.o \
		dbnextid.o \
		dbnojoin.o \
		dbopen.o \
		dbopen_database.o \
		dbopen_table.o \
		dbprocess.o \
		dbput.o \
		dbputx.o \
		dbputv.o \
		dbquery.o \
		dbremark.o \
		dbrecord.o \
		dbsearch.o \
		dbselect.o \
		dbset.o \
		dbsever.o \
		dbsort.o \
		dbsubset.o \
		dbtables.o \
		dbtheta.o \
		dbunjoin.o \
		dbuntangle.o \
		dbview.o 

PRIVATE = \
		dbc2d.o \
		dbcmp.o \
		dbcmp_debug_search.o \
		dbcmp_envelope.o \
		dbcmp_search.o \
		dbcmp_sort.o \
		dbfield_type.o \
		dbfind_join_keys.o \
		dbfix_envelope.o \
		dbget_index.o \
		dbindex_name.o \
		dbmake_jig.o \
		dbmake_key.o \
		dbprt_key.o \
		dbread_index.o \
		dbref.o \
		dbresolve.o \
		dbsave_index.o \
		equiv_field.o \
		ex_to_type.o \
		exfunct.o \
		exshow.o \
		find_path.o \
		map_table.o \
		new.o \
		open_schema.o \
		show.o 

HFILES = p_eval.h p_sort.h result_type.h p_db.h

OBJS=dbyacc.o dblex.o exlex.o exyacc.o $(PUBLIC) $(PRIVATE) $(F2CFAILS) $(FORTRAN_IF)
$(LIB) : $(OBJS)
	$(AR) $(ARFLAGS) $@ $(LORDER) $(OBJS) $(TSORT)
	$(RANLIB) $@

$(DLIB) : $(OBJS)
	$(DLD) $(DLDFLAGS) -o $@ $(LORDER) $(OBJS) $(TSORT)

dbaddv_.o : dbputv_.c
	$(CC) $(CFLAGS) -c -DDBADDV dbputv_.c -o dbaddv_.o

dbaddv.o : dbputv.c
	$(CC) $(CFLAGS) -c -DDBADDV dbputv.c -o dbaddv.o

yacc.o : yacc.c
yacc.o lex.o : db.h p_db.h 
lex.o : y.tab.h 


private :
	mkheaders $(PRIVATE) 

public :
	mkheaders $(PUBLIC)

count : FORCED
	-wc $(PUBLIC:.o=.c) $(PRIVATE:.o=.c) *.y *.l $(INCLUDE) 

stat : FORCED
	progstat $(PUBLIC) $(PRIVATE) $(PFILES) 

lint :: FORCED
	lint $(PUBLIC) $(PRIVATE)

dbyacc.c : dbyacc.y
	$(YACC.y) dbyacc.y 
	mv y.tab.c dbyacc.c
	mv y.tab.h DB.tab.h
	$(FIX_PREFIX) DB dbyacc.c DB.tab.h

exfunct.o : exyacc.c

exyacc.c : exyacc.y
	$(YACC.y) exyacc.y 
	mv y.tab.c exyacc.c
	mv y.tab.h DBX.tab.h
	$(FIX_PREFIX) DBX exyacc.c DBX.tab.h

dblex.c : dblex.l 
	$(LEX) -t $*.l > $@
	$(FIX_PREFIX) DB $@
dblex.o : dbyacc.c

exlex.c : exlex.l 
	$(LEX) -t $*.l > $@
	$(FIX_PREFIX) DBX $@
exlex.o : exyacc.c


PINCLUDE = \
	dbadd.c \
	dbaddnull.c \
	exlex.c \
	dbcreate.c \
	dbcrunch.c \
	dbdelete.c \
	dbdestroy.c \
	dbex_eval.c \
	dbex_eval.c \
	dbex_evalstr.c \
	dbex_free.c \
	dbextfile.c \
	dbfilename.c \
	dbfind_join_keys.c \
	dbfree.c \
	dbget.c \
	dbget_range.c \
	dbgetv.c \
	dbgroup.c \
	dbis_expression.c \
	dbjoin.c \
	dblist2subset.c \
	dblookup.c \
	dbmatch_range.c \
	dbmatches.c \
	dbnextid.c \
	dbopen.c \
	dbopen_database.c \
	dbopen_table.c \
	dbprocess.c \
	dbput.c \
	dbputv.c \
	dbputx.c \
	dbquery.c \
	dbremark.c \
	dbselect.c \
	dbset.c \
	dbsort.c \
	dbtables.c \
	dbtheta.c \
	dbunjoin.c \
	dbview.c 


db.h0 : $(PINCLUDE)
	(cextract -I$(DSAP)/include  +Z $(PINCLUDE) ; cextract -I$(DSAP)/include  +Z -DDBADDV dbputv.c ) | egrep -v 'DBX|YY_' | sort > $@

# $Id: Makefile,v 1.4 1998/02/16 20:59:17 danq Exp $ 
# DO NOT DELETE
