#
# some standard makefile definitions.
#
# DEVCFLAGS and DEVLDFLAGS are added so that the c files will compile
# in both the developement and the released system without modifictions
# to this makefile.
#
# we use QUERYFILES to generate an include file for the mife timing
# front-end program.
#
SOFILES = raster.so polyfuncs.so
OFILES = raster.o polyfuncs.o
CFILES = raster.c polyfuncs.c
QUERYFILES = query2.sql query3.sql query4.sql query5.sql query6.sql query7.sql \
	     query8.sql query9.sql query10.sql

LIBDIR = $(MI_HOME)/examples/sequoia2000/lib

DEVCFLAGS = -I$(MI_HOME)/release/h
DEVLDFLAGS = -L$(MI_HOME)/src

CINCLUDE = -I/usr/include -I$(MI_HOME)/h -I$(MI_HOME)/extend/spatial/h
CFLAGS = -g -PIC $(CINCLUDE) $(DEVCFLAGS)
LDFLAGS = -u -I/usr/include -I$(MI_HOME)/h -L$(MI_HOME)/lib $(DEVLDFLAGS) \
	  -lm -lmontage

MSQL = msql -v $(MI_DATABASE)

.SUFFIXES: $(SUFFIXES) .so .sql

.c.o:
	cc $(CFLAGS) -target sun4 -c  $<

.o.so: $(OFILES)
	ld -o $@ $<

help:
	cat README

all: mife $(SOFILES) install setup load run

lint: 
	lint $(LFLAGS) -target sun4 -c  $(CFILES)

mife: mife.c query_defs.h
	$(CC) $(CFLAGS) -o mife mife.c $(LDFLAGS)

query_defs.h: $(QUERYFILES)
	gen_querydefs $(QUERYFILES)

install:
	moncreatedb -n $(MI_DATABASE)
	(cd $$MI_HOME/extend/spatial/install; make MI_DATABASE=$(MI_DATABASE) install)

destroy:
	mondropdb bench

setup:
	$(MSQL) < setup.sql

drop:
	$(MSQL) < drop.sql

load:
	load.sh

run: mife
	$(MSQL) < drop_temps.sql
	mife $(MI_DATABASE)

clean:
	rm -f polyfuncs.o raster.o mife.o polyfuncs.so raster.so

clobber: clean
	rm -f mife
