# Makefile for Leonard
# --------------------

# Site configuration
# ------------------
INSTALLDIR  = $(QINSTALLDIR)
ARCHITECTURE_PATH = $(QARCHITECTURE_PATH)
INSTALLLIB  = $(INSTALLDIR)/lib
INSTALLLIBA = $(INSTALLLIB)/$(ARCHITECTURE_PATH)
INSTALLBIN  = $(INSTALLDIR)/bin
INSTALLBINA = $(INSTALLBIN)/$(ARCHITECTURE_PATH)

RELEASE_VERSION = 0.1
RELEASE_FILE = leonard-$(RELEASE_VERSION)

TARGETS = capture-tool tracker leonard batch-leonard event-logic play-video\
play-polygon-movie kgp

all: error$(ERROR_OK) $(TARGETS)

# To add a new architecture, add architecture specific lines.
# The line prefix should be '#`architecture-path` ', see examples below.
port:
	-rm -rf $(ARCHITECTURE_PATH)
	mkdir $(ARCHITECTURE_PATH)
	cd $(ARCHITECTURE_PATH); csh -cf "ln -s ../*.{sc,c,h} ."
	$(MAKE) port-makefile

port-makefile:
	echo "# This file was generated automatically.  Do not edit." >\
		$(ARCHITECTURE_PATH)/makefile
	echo "# ----------------------------------------------------" >>\
		$(ARCHITECTURE_PATH)/makefile
	echo ARCHITECTURE_PATH = $(ARCHITECTURE_PATH) >>\
		$(ARCHITECTURE_PATH)/makefile
	echo ERROR_OK = _no_error >> $(ARCHITECTURE_PATH)/makefile
	grep "^#$(ARCHITECTURE_PATH)" makefile | \
		sed "s/#$(ARCHITECTURE_PATH) //" >>\
			$(ARCHITECTURE_PATH)/makefile
	echo include ../makefile >> $(ARCHITECTURE_PATH)/makefile

error:
	@echo "Do 'make port' to create an architecture specific directory."
	@exit 1

error_no_error:

# Architecture specific variables
# -------------------------------
#sun4-SunOS-4.1.3 CC = gcc
#sun4-SunOS-4.1.3 CFLAGS = -O2 -DSUN
#sun4-SunOS-4.1.3 SCCFLAGS = -O2
#sun4-SunOS-4.1.3 SCCLDFLAGS =
#sun4-SunOS-4.1.3 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#sun4-SunOS-4.1.3       -L/usr/openwin/lib -lX11 -lXext -lm\
#sun4-SunOS-4.1.3       -L$(INSTALLLIBA) -llpk

#sun4m-SunOS-5.4 CC = gcc
#sun4m-SunOS-5.4 CFLAGS = -O2 -DSUN
#sun4m-SunOS-5.4 SCCFLAGS = -O2
#sun4m-SunOS-5.4 SCCLDFLAGS =
#sun4m-SunOS-5.4 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#sun4m-SunOS-5.4       -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext\
#sun4m-SunOS-5.4       -L/usr/ucblib -R/usr/ucblib -lucb -lm\
#sun4m-SunOS-5.4       -L$(INSTALLLIBA) -llpk

#sun4m-SunOS-5.5 CC = gcc
#sun4m-SunOS-5.5 CFLAGS = -O2 -DSUN
#sun4m-SunOS-5.5 SCCFLAGS = -O2
#sun4m-SunOS-5.5 SCCLDFLAGS =
#sun4m-SunOS-5.5 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#sun4m-SunOS-5.5       -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext\
#sun4m-SunOS-5.5       -L/usr/ucblib -R/usr/ucblib -lucb -lm\
#sun4m-SunOS-5.5       -L$(INSTALLLIBA) -llpk

#sun4u-SunOS-5.6 CC = gcc
#sun4u-SunOS-5.6 CFLAGS = -O2 -DSUN
#sun4u-SunOS-5.6 SCCFLAGS = -O2
#sun4u-SunOS-5.6 SCCLDFLAGS =
#sun4u-SunOS-5.6 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#sun4u-SunOS-5.6       -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext\
#sun4u-SunOS-5.6       -L/usr/ucblib -R/usr/ucblib -lucb -lm\
#sun4u-SunOS-5.6       -L$(INSTALLLIBA) -llpk

#i586-Linux-2.0.0 CC = gcc
#i586-Linux-2.0.0 CFLAGS = -O2
#i586-Linux-2.0.0 SCCFLAGS = -O2
#i586-Linux-2.0.0 SCCLDFLAGS =
#i586-Linux-2.0.0 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#i586-Linux-2.0.0       -L/usr/X11/lib -lX11 -lXext -lm\
#i586-Linux-2.0.0       -L$(INSTALLLIBA) -llpk

#i586-Linux-2.0.34 CC = egcs
#i586-Linux-2.0.34 CFLAGS = -O2
#i586-Linux-2.0.34 SCCFLAGS = -O2
#i586-Linux-2.0.34 SCCLDFLAGS =
#i586-Linux-2.0.34 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#i586-Linux-2.0.34       -L/usr/X11/lib -lX11 -lXext -lm\
#i586-Linux-2.0.34       -L$(INSTALLLIBA) -llpk

#i586-Linux-2.0.35 CC = egcs
#i586-Linux-2.0.35 CFLAGS = -O2
#i586-Linux-2.0.35 SCCFLAGS = -O2
#i586-Linux-2.0.35 SCCLDFLAGS =
#i586-Linux-2.0.35 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#i586-Linux-2.0.35       -L/usr/X11/lib -lX11 -lXext -lm\
#i586-Linux-2.0.35       -L$(INSTALLLIBA) -llpk

#i686-Linux-2.0.18 CC = gcc
#i686-Linux-2.0.18 CFLAGS = -O2
#i686-Linux-2.0.18 SCCFLAGS = -O2
#i686-Linux-2.0.18 SCCLDFLAGS =
#i686-Linux-2.0.18 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#i686-Linux-2.0.18       -L/usr/X11/lib -lX11 -lXext -lm\
#i686-Linux-2.0.18       -L$(INSTALLLIBA) -llpk

#i686-Linux-2.0.27 CC = gcc
#i686-Linux-2.0.27 CFLAGS = -O2
#i686-Linux-2.0.27 SCCFLAGS = -O2
#i686-Linux-2.0.27 SCCLDFLAGS =
#i686-Linux-2.0.27 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#i686-Linux-2.0.27       -L/usr/X11/lib -lX11 -lXext -lm\
#i686-Linux-2.0.27       -L$(INSTALLLIBA) -llpk

#i686-Linux-2.0.30 CC = gcc
#i686-Linux-2.0.30 CFLAGS = -O2
#i686-Linux-2.0.30 SCCFLAGS = -O2
#i686-Linux-2.0.30 SCCLDFLAGS =
#i686-Linux-2.0.30 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#i686-Linux-2.0.30       -L/usr/X11/lib -lX11 -lXext -lm\
#i686-Linux-2.0.30       -L$(INSTALLLIBA) -llpk

#i686-Linux-2.0.32 CC = gcc
#i686-Linux-2.0.32 CFLAGS = -O2
#i686-Linux-2.0.32 SCCFLAGS = -O2
#i686-Linux-2.0.32 SCCLDFLAGS =
#i686-Linux-2.0.32 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#i686-Linux-2.0.32       -L/usr/X11/lib -lX11 -lXext -lm\
#i686-Linux-2.0.32       -L$(INSTALLLIBA) -llpk

#i686-Linux-2.0.33 CC = gcc
#i686-Linux-2.0.33 CFLAGS = -O2
#i686-Linux-2.0.33 SCCFLAGS = -O2
#i686-Linux-2.0.33 SCCLDFLAGS =
#i686-Linux-2.0.33 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#i686-Linux-2.0.33       -L/usr/X11/lib -lX11 -lXext -lm\
#i686-Linux-2.0.33       -L$(INSTALLLIBA) -llpk

#i686-Linux-2.0.34 CC = egcs
#i686-Linux-2.0.34 CFLAGS = -O2
#i686-Linux-2.0.34 SCCFLAGS = -O2
#i686-Linux-2.0.34 SCCLDFLAGS =
#i686-Linux-2.0.34 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#i686-Linux-2.0.34       -L/usr/X11/lib -lX11 -lXext -lm\
#i686-Linux-2.0.34       -L$(INSTALLLIBA) -llpk

#i686-Linux-2.0.35 CC = egcs
#i686-Linux-2.0.35 CFLAGS = -O2
#i686-Linux-2.0.35 SCCFLAGS = -O2
#i686-Linux-2.0.35 SCCLDFLAGS =
#i686-Linux-2.0.35 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#i686-Linux-2.0.35       -L/usr/X11/lib -lX11 -lXext -lm\
#i686-Linux-2.0.35       -L$(INSTALLLIBA) -llpk

#i686-Linux-2.2.1 CC = egcs
#i686-Linux-2.2.1 CFLAGS = -O2
#i686-Linux-2.2.1 SCCFLAGS = -O2
#i686-Linux-2.2.1 SCCLDFLAGS =
#i686-Linux-2.2.1 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#i686-Linux-2.2.1       -L/usr/X11/lib -lX11 -lXext -lm\
#i686-Linux-2.2.1       -L$(INSTALLLIBA) -llpk

#i686-Linux-2.2.5 CC = egcs
#i686-Linux-2.2.5 CFLAGS = -O2
#i686-Linux-2.2.5 SCCFLAGS = -O2
#i686-Linux-2.2.5 SCCLDFLAGS =
#i686-Linux-2.2.5 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#i686-Linux-2.2.5       -L/usr/X11/lib -lX11 -lXext -lm\
#i686-Linux-2.2.5       -L$(INSTALLLIBA) -llpk

#i686-Linux-2.2.5-15 CC = egcs
#i686-Linux-2.2.5-15 CFLAGS = -O2
#i686-Linux-2.2.5-15 SCCFLAGS = -O2
#i686-Linux-2.2.5-15 SCCLDFLAGS =
#i686-Linux-2.2.5-15 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#i686-Linux-2.2.5-15       -L/usr/X11R6/lib -lX11 -lXext -lm\
#i686-Linux-2.2.5-15       -L$(INSTALLLIBA) -llpk

#i686-Linux-2.2.10 CC = egcs
#i686-Linux-2.2.10 CFLAGS = -O2
#i686-Linux-2.2.10 SCCFLAGS = -O2
#i686-Linux-2.2.10 SCCLDFLAGS =
#i686-Linux-2.2.10 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#i686-Linux-2.2.10       -L/usr/X11R6/lib -lX11 -lXext -lm\
#i686-Linux-2.2.10       -L$(INSTALLLIBA) -llpk

#i686-Linux-2.2.12-20 CC = egcs
#i686-Linux-2.2.12-20 CFLAGS = -O2
#i686-Linux-2.2.12-20 SCCFLAGS = -O2
#i686-Linux-2.2.12-20 SCCLDFLAGS =
#i686-Linux-2.2.12-20 LRL = $(INSTALLLIBA)/QobiScheme.a\
#i686-Linux-2.2.12-20       $(INSTALLLIBA)/scxl.a\
#i686-Linux-2.2.12-20       -L/usr/X11R6/lib -lX11 -lXext -lm\
#i686-Linux-2.2.12-20       -L$(INSTALLLIBA) -llpk

#i686-Linux-2.2.12-20smp CC = egcs
#i686-Linux-2.2.12-20smp CFLAGS = -O2
#i686-Linux-2.2.12-20smp SCCFLAGS = -O2
#i686-Linux-2.2.12-20smp SCCLDFLAGS =
#i686-Linux-2.2.12-20smp LRL = $(INSTALLLIBA)/QobiScheme.a\
#i686-Linux-2.2.12-20smp       $(INSTALLLIBA)/scxl.a\
#i686-Linux-2.2.12-20smp       -L/usr/X11R6/lib -lX11 -lXext -lm\
#i686-Linux-2.2.12-20smp       -L$(INSTALLLIBA) -llpk

#i686-Linux-2.3.42 CC = egcs
#i686-Linux-2.3.42 CFLAGS = -O2
#i686-Linux-2.3.42 SCCFLAGS = -O2
#i686-Linux-2.3.42 SCCLDFLAGS =
#i686-Linux-2.3.42 LRL = $(INSTALLLIBA)/QobiScheme.a\
#i686-Linux-2.3.42       $(INSTALLLIBA)/scxl.a\
#i686-Linux-2.3.42       -L/usr/X11R6/lib -lX11 -lXext -lm\
#i686-Linux-2.3.42       -L$(INSTALLLIBA) -llpk

#alpha-OSF1-V3.2 CC = cc
#alpha-OSF1-V3.2 CFLAGS = -O4 -migrate -ieee_with_no_inexact -DAUX
#alpha-OSF1-V3.2 SCCFLAGS = -migrate -ieee_with_no_inexact
#alpha-OSF1-V3.2 SCCLDFLAGS = -migrate
#alpha-OSF1-V3.2 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#alpha-OSF1-V3.2       -lX11 -lXext -lm\
#alpha-OSF1-V3.2       -L$(INSTALLLIBA) -llpk

#alpha-OSF1-V4.0 CC = cc
#alpha-OSF1-V4.0 CFLAGS = -O4 -migrate -ieee_with_no_inexact -DAUX
#alpha-OSF1-V4.0 SCCFLAGS = -migrate -ieee_with_no_inexact
#alpha-OSF1-V4.0 SCCLDFLAGS = -migrate
#alpha-OSF1-V4.0 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#alpha-OSF1-V4.0       -lX11 -lXext -lm\
#alpha-OSF1-V4.0       -L$(INSTALLLIBA) -llpk

#IP7-IRIX-4.0.5 CC = gcc
#IP7-IRIX-4.0.5 CFLAGS = -O2
#IP7-IRIX-4.0.5 SCCFLAGS = -O2
#IP7-IRIX-4.0.5 SCCLDFLAGS =
#IP7-IRIX-4.0.5 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#IP7-IRIX-4.0.5       -lX11 -lXext -lm\
#IP7-IRIX-4.0.5       -L$(INSTALLLIBA) -llpk

#IP12-IRIX-4.0.5 CC = gcc
#IP12-IRIX-4.0.5 CFLAGS = -O2
#IP12-IRIX-4.0.5 SCCFLAGS = -O2
#IP12-IRIX-4.0.5 SCCLDFLAGS =
#IP12-IRIX-4.0.5 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#IP12-IRIX-4.0.5       -lX11 -lXext -lm\
#IP12-IRIX-4.0.5       -L$(INSTALLLIBA) -llpk

#IP22-IRIX-5.3 CC = cc
#IP22-IRIX-5.3 CFLAGS = -O2 -non_shared -DAUX
#IP22-IRIX-5.3 SCCFLAGS = -O2 -non_shared
#IP22-IRIX-5.3 SCCLDFLAGS = -non_shared
#IP22-IRIX-5.3 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#IP22-IRIX-5.3       $(INSTALLLIBA)/libX11.a -lm\
#IP22-IRIX-5.3       -L$(INSTALLLIBA) -llpk

#IP25-IRIX64-6.2 CC = cc
#IP25-IRIX64-6.2 CFLAGS = -O2 -non_shared -DAUX
#IP25-IRIX64-6.2 SCCFLAGS = -O2 -non_shared
#IP25-IRIX64-6.2 SCCLDFLAGS = -non_shared
#IP25-IRIX64-6.2 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#IP25-IRIX64-6.2       $(INSTALLLIBA)/libX11.a -lm\
#IP25-IRIX64-6.2       -L$(INSTALLLIBA) -llpk

#IP28-IRIX64-6.2 CC = cc
#IP28-IRIX64-6.2 CFLAGS = -O2 -non_shared -DAUX
#IP28-IRIX64-6.2 SCCFLAGS = -O2 -non_shared
#IP28-IRIX64-6.2 SCCLDFLAGS = -non_shared
#IP28-IRIX64-6.2 LRL = $(INSTALLLIBA)/QobiScheme.a $(INSTALLLIBA)/scxl.a\
#IP28-IRIX64-6.2       $(INSTALLLIBA)/libX11.a -lm\
#IP28-IRIX64-6.2       -L$(INSTALLLIBA) -llpk

arc:
	-csh -cf "rm -rf ../archive/`archive-date`"
	csh -cf "mkdir ../archive/`archive-date`"
	-csh -cf "cp ../README ../archive/`archive-date`/."
	-csh -cf "cp makefile *.{sc,c,h} ../archive/`archive-date`/."
	-csh -cf "cp ../maple/*.maple ../archive/`archive-date`/."
	-csh -cf "cp ../documentation/*.tex ../archive/`archive-date`/."
	-csh -cf "cp ../documentation/*.text ../archive/`archive-date`/."

clean:
	-rm -f *.o core a.out

real-clean: clean
	-rm -f $(TARGETS)

install: all
	cp $(TARGETS) $(INSTALLBINA)/.

uninstall:
	cd $(INSTALLBINA); rm -rf $(TARGETS)

release:
	-rm -rf $(RELEASE_FILE) $(RELEASE_FILE).tar*
	mkdir $(RELEASE_FILE)
	mkdir $(RELEASE_FILE)/source
	mkdir $(RELEASE_FILE)/documentation
	cp ../README $(RELEASE_FILE)/.
	cp makefile *.{sc,c,h} $(RELEASE_FILE)/source/.
	tar cvf $(RELEASE_FILE).tar ./$(RELEASE_FILE)
	compress $(RELEASE_FILE).tar
	-rm -rf $(RELEASE_FILE)
	mv $(RELEASE_FILE).tar.Z ../releases/.

publish: release
	cd ..; publish leonard $(RELEASE_VERSION)

# Compilation rules and dependencies
# ----------------------------------
HLIB = lvpolygon.o\
       lvdrf.o\
       cr_image.o\
       imagesize.o\
       machtype.o\
       isef.o\
       machorder.o\
       data.o\
       hmm.o\
       control.o\
       rand.o\
       lbessi0.o\
       lbessi1.o\
       zriddr.o\
       hlib-c.o\
       hlib-rilib-c.o\
       hlib-sde-c.o\
       hlib-snake-c.o\
       hlib-change-movie.o\
       hlib-em.o\
       hlib-find-lines.o\
       hlib-hull.o\
       hlib-interpret.o\
       hlib-kinematic.o\
       hlib-locate.o\
       hlib-merge-lines.o\
       hlib-most.o\
       hlib-postscript.o\
       hlib-ratio-regions.o\
       hlib-rilib.o\
       hlib-sde.o\
       hlib-snake.o\
       hlib-span.o\
       hlib-speak.o\
       hlib-track.o\
       hlib-train-classify.o\
       hlib-wbm.o

LINK = $(HLIB) $(LRL)

lvpolygon.o: lvpolygon.c
	$(CC) $(CFLAGS) -o lvpolygon.o -c lvpolygon.c

lvdrf.o: lvdrf.c
	$(CC) $(CFLAGS) -o lvdrf.o -c lvdrf.c

cr_image.o: cr_image.c
	$(CC) $(CFLAGS) -o cr_image.o -c cr_image.c

imagesize.o: imagesize.c
	$(CC) $(CFLAGS) -o imagesize.o -c imagesize.c

machtype.o: machtype.c
	$(CC) $(CFLAGS) -o machtype.o -c machtype.c

isef.o: isef.c
	$(CC) $(CFLAGS) -o isef.o -c isef.c

machorder.o: machorder.c
	$(CC) $(CFLAGS) -o machorder.o -c machorder.c

data.o: data.c data.h hlib-c.h hlib-c-safe.h rand.h
	$(CC) $(CFLAGS) -c data.c

hmm.o: hmm.c hmm.h hlib-c.h hlib-c-safe.h rand.h
	$(CC) $(CFLAGS) -c hmm.c

control.o: control.c hmm.h data.h control.h hlib-c.h hlib-c-safe.h rand.h
	$(CC) $(CFLAGS) -c control.c

rand.o: rand.c rand.h
	$(CC) $(CFLAGS) -c rand.c

lbessi0.o: lbessi0.c
	$(CC) $(CFLAGS) -c lbessi0.c

lbessi1.o: lbessi1.c
	$(CC) $(CFLAGS) -c lbessi1.c

zriddr.o: zriddr.c hlib-c.h hlib-c-safe.h rand.h
	$(CC) $(CFLAGS) -c zriddr.c

hlib-c.o: hlib-c.c hlib-c.h hlib-c-safe.h rand.h ioctl_meteor.h
	$(CC) $(CFLAGS) -c hlib-c.c

hlib-rilib-c.o: hlib-rilib-c.c
	$(CC) $(CFLAGS) -c hlib-rilib-c.c

hlib-sde-c.o: hlib-sde-c.c
	$(CC) $(CFLAGS) -c hlib-sde-c.c -I/usr/openwin/include

hlib-snake-c.o: hlib-snake-c.c hlib-c.h hlib-c-safe.h rand.h
	$(CC) $(CFLAGS) -c hlib-snake-c.c

hlib-change-movie.sch: hlib-*.sc
	sch hlib-change-movie hlib-*.sc

hlib-change-movie.o: hlib-change-movie.sch hlib-change-movie.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-change-movie.sc
	-rm -f hlib-change-movie.c

hlib-em.sch: hlib-*.sc
	sch hlib-em hlib-*.sc

hlib-em.o: hlib-em.sch hlib-em.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-em.sc
	-rm -f hlib-em.c

hlib-find-lines.sch: hlib-*.sc
	sch hlib-find-lines hlib-*.sc

hlib-find-lines.o: hlib-find-lines.sch hlib-find-lines.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-find-lines.sc
	-rm -f hlib-find-lines.c

hlib-hull.sch: hlib-*.sc
	sch hlib-hull hlib-*.sc

hlib-hull.o: hlib-hull.sch hlib-hull.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-hull.sc
	-rm -f hlib-hull.c

hlib-interpret.sch: hlib-*.sc
	sch hlib-interpret hlib-*.sc

hlib-interpret.o: hlib-interpret.sch hlib-interpret.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-interpret.sc
	-rm -f hlib-interpret.c

hlib-kinematic.sch: hlib-*.sc
	sch hlib-kinematic hlib-*.sc

hlib-kinematic.o: hlib-kinematic.sch hlib-kinematic.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-kinematic.sc
	-rm -f hlib-kinematic.c

hlib-locate.sch: hlib-*.sc
	sch hlib-locate hlib-*.sc

hlib-locate.o: hlib-locate.sch hlib-locate.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-locate.sc
	-rm -f hlib-locate.c

hlib-merge-lines.sch: hlib-*.sc
	sch hlib-merge-lines hlib-*.sc

hlib-merge-lines.o: hlib-merge-lines.sch hlib-merge-lines.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-merge-lines.sc
	-rm -f hlib-merge-lines.c

hlib-most.sch: hlib-*.sc
	sch hlib-most hlib-*.sc

hlib-most.o: hlib-most.sch hlib-most.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-most.sc
	-rm -f hlib-most.c

hlib-postscript.sch: hlib-*.sc
	sch hlib-postscript hlib-*.sc

hlib-postscript.o: hlib-postscript.sch hlib-postscript.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-postscript.sc
	-rm -f hlib-postscript.c

hlib-ratio-regions.sch: hlib-*.sc
	sch hlib-ratio-regions hlib-*.sc

hlib-ratio-regions.o: hlib-ratio-regions.sch hlib-ratio-regions.sc\
c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-ratio-regions.sc
	-rm -f hlib-ratio-regions.c

hlib-rilib.sch: hlib-*.sc
	sch hlib-rilib hlib-*.sc

hlib-rilib.o: hlib-rilib.sch hlib-rilib.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-rilib.sc
	-rm -f hlib-rilib.c

hlib-sde.sch: hlib-*.sc
	sch hlib-sde hlib-*.sc

hlib-sde.o: hlib-sde.sch hlib-sde.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-sde.sc
	-rm -f hlib-sde.c

hlib-snake.sch: hlib-*.sc
	sch hlib-snake hlib-*.sc

hlib-snake.o: hlib-snake.sch hlib-snake.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-snake.sc
	-rm -f hlib-snake.c

hlib-span.sch: hlib-*.sc
	sch hlib-span hlib-*.sc

hlib-span.o: hlib-span.sch hlib-span.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-span.sc
	-rm -f hlib-span.c

hlib-speak.sch: hlib-*.sc
	sch hlib-speak hlib-*.sc

hlib-speak.o: hlib-speak.sch hlib-speak.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-speak.sc
	-rm -f hlib-speak.c

hlib-track.sch: hlib-*.sc
	sch hlib-track hlib-*.sc

hlib-track.o: hlib-track.sch hlib-track.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-track.sc
	-rm -f hlib-track.c

hlib-train-classify.sch: hlib-*.sc
	sch hlib-train-classify hlib-*.sc

hlib-train-classify.o: hlib-train-classify.sch hlib-train-classify.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-train-classify.sc
	-rm -f hlib-train-classify.c

hlib-wbm.sch: hlib-*.sc
	sch hlib-wbm hlib-*.sc

hlib-wbm.o: hlib-wbm.sch hlib-wbm.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c hlib-wbm.sc
	-rm -f hlib-wbm.c

capture-tool.sch: capture-tool.sc hlib-*.sc
	sch -main capture-tool hlib-*.sc

capture-tool.o: capture-tool.sch capture-tool.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c capture-tool.sc
	-rm -f capture-tool.c

capture-tool: capture-tool.o $(HLIB)
	scc -cc $(CC) $(SCCLDFLAGS) -o capture-tool capture-tool.o $(LINK)

tracker.sch: tracker.sc hlib-*.sc
	sch -main tracker hlib-*.sc

tracker.o: tracker.sch tracker.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c tracker.sc
	-rm -f tracker.c

tracker: tracker.o $(HLIB)
	scc -cc $(CC) $(SCCLDFLAGS) -o tracker tracker.o $(LINK)

leonard.sch: leonard.sc hlib-*.sc
	sch -main leonard hlib-*.sc

leonard.o: leonard.sch leonard.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c leonard.sc
	-rm -f leonard.c

leonard: leonard.o $(HLIB)
	scc -cc $(CC) $(SCCLDFLAGS) -o leonard leonard.o $(LINK)

batch-leonard.sch: batch-leonard.sc hlib-*.sc
	sch -main batch-leonard hlib-*.sc

batch-leonard.o: batch-leonard.sch batch-leonard.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c batch-leonard.sc
	-rm -f batch-leonard.c

batch-leonard: batch-leonard.o $(HLIB)
	scc -cc $(CC) $(SCCLDFLAGS) -o batch-leonard batch-leonard.o $(LINK)

event-logic.sch: event-logic.sc hlib-*.sc
	sch -main event-logic hlib-*.sc

event-logic.o: event-logic.sch event-logic.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c event-logic.sc
	-rm -f event-logic.c

event-logic: event-logic.o $(HLIB)
	scc -cc $(CC) $(SCCLDFLAGS) -o event-logic event-logic.o $(LINK)

play-video.sch: play-video.sc hlib-*.sc
	sch -main play-video hlib-*.sc

play-video.o: play-video.sch play-video.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c play-video.sc
	-rm -f play-video.c

play-video: play-video.o $(HLIB)
	scc -cc $(CC) $(SCCLDFLAGS) -o play-video play-video.o $(LINK)

play-polygon-movie.sch: play-polygon-movie.sc hlib-*.sc
	sch -main play-polygon-movie hlib-*.sc

play-polygon-movie.o: play-polygon-movie.sch play-polygon-movie.sc\
c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c play-polygon-movie.sc
	-rm -f play-polygon-movie.c

play-polygon-movie: play-polygon-movie.o $(HLIB)
	scc -cc $(CC) $(SCCLDFLAGS) -o play-polygon-movie\
            play-polygon-movie.o $(LINK)

kgp.sch: kgp.sc hlib-*.sc
	sch -main kgp hlib-*.sc

kgp.o: kgp.sch kgp.sc c-externals.sc
	scc -cc $(CC) $(SCCFLAGS) -c kgp.sc
	-rm -f kgp.c

kgp: kgp.o $(HLIB)
	scc -cc $(CC) $(SCCLDFLAGS) -o kgp kgp.o $(LINK)
