#
# Curve tracing and contour gap jumping
#
SHELL=/bin/csh
ARCH=sun4
CC=gcc
CFLAGS=-I. -g # -O -DNDEBUG
LDFLAGS=-L. -g
LIBS = libcurves.a -lhvision -lm

all: libcurves.a curves pscurves smooth \
	gaussconvolve fitcl contin sp

curves:	curves.o
	$(CC) $(LDFLAGS) -o curves curves.o $(LIBS)

smooth:	 smooth.o
	$(CC) $(LDFLAGS) -o smooth smooth.o $(LIBS)

contin:	 contin.o
	$(CC) $(LDFLAGS) -o contin contin.o $(LIBS)

sp:	sp.o
	$(CC) $(LDFLAGS) -o sp sp.o $(LIBS)

pscurves: pscurves.o
	$(CC) $(LDFLAGS) -o pscurves pscurves.o $(LIBS)

e2fig: e2fig.o
	$(CC) $(LDFLAGS) -o e2fig e2fig.o $(LIBS)

fig2e: fig2e.o
	$(CC) $(LDFLAGS) -o fig2e fig2e.o $(LIBS)

# little local library
LIBOBJS = edgemap.o vector.o gaussconvolve.o drawgaus1d.o elast.o regions.o fitcl.o

libcurves.a: libcurves.a($(LIBOBJS))
	ranlib libcurves.a

libcurves.a(edgemap.o): edgemap.c
libcurves.a(vector.o): vector.c
libcurves.a(gaussconvolve.o): gaussconvolve.c
libcurves.a(drawgaus1d.o): drawgaus1d.c
libcurves.a(elast.o): elast.c
libcurves.a(regions.o): regions.c

curves.c: vector.h
pscurves.c: edgemap.h
e2fig.c: edgemap.h fig.h
fig2e.c: edgemap.h fig.h
smooth.c: edgemap.h vector.h
contin.c: edgemap.h vector.h region.h
elast.c: edgemap.h
edgemap.c: edgemap.h
vector.c: vector.h
regions.c: edgemap.h region.h
sp.c: graphparts.h

# standalone test versions of routines
gaussconvolve:	gaussconvolve.c drawgaus1d.o
	$(CC) $(CFLAGS) -DTESTING -o gaussconvolve gaussconvolve.c $(LDFLAGS) $(LIBS)

fitcl:	fitcl.c drawgaus1d.o
	$(CC) $(CFLAGS) -DTESTING -o fitcl fitcl.c $(LDFLAGS) $(LIBS)
