NAME=eyesim
VERSION=31
PLATFORM=$(shell echo `uname -m`-`uname -s`)
COPY = cp
CVS2CL = cvs2cl

topdir  = ../..
libdir=$(topdir)/mc/$(PLATFORM)-lib

demo_SOURCE=other.c# drive.c runmenow.c temp.c trial.c

qcam_SOURCE  = qcam.c camsim.c
nocam_SOURCE = nocam.c
cam_SOURCE   = $(qcam_SOURCE)

lib_SOURCE = multi.c xsim.c viewscreen.c eyebot_cb.c screen.c \
	global.c LCDDisp.c lcdsim.c keysim.c improc.c vw.c \
	timer.c psd_driv.c bump.c ir.c helpscreen.c OSmisc.c \
	errorChange.c execlib.c OSMT.c OSSem.c $(cam_SOURCE)

lib_HFILES = multi.h viewscreen.h eyebot.h protos.h LCDDisp.h qcam.h improc.h \
	keys.h kern.h cam.h hdt.h types.h vw.h reg.h rs232.h const.h lcd.h \
	helpscreen.h errorChange.h hdt_sem.h

CC=gcc
RM=rm -f
PURE=/home/post/hutch/phd/data/purify-4.0.1-irix6/purify
CFLAGS= -O -Wall -pedantic -I/usr/X11/include -I/usr/include
#CFLAGS=-I/usr/local/bv/forms/new/linuxXF2.1 -I. -Wall 
#LDFLAGS=-L/usr/local/bv/forms/new/linuxXF2.1 -s

LIB=libeyebot.a
LDFLAGS=-L/usr/X11R6/lib -L/usr/X11/lib $(LIB) -lforms -lX11 -lm -lpthread

OBJS=$(lib_SOURCE:.c=.o)
DEMOS=$(demo_SOURCE:.c=)
.PHONY: all
all: $(LIB) $(DEMOS)
	test -d $(libdir) || mkdir $(libdir)
	$(COPY) $(LIB) $(libdir)

other: other.c $(LIB)
	$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
drive: drive.c $(LIB)
	$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
runmenow: runmenow.c $(LIB)
	$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
temp: temp.c $(LIB)
	$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
trial: trial.c $(LIB)
	$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)

%.c:
	$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
dep:	depend
depend:	$(lib_SOURCE)
	makedepend -Y $(lib_SOURCE)

clean:
	- $(RM) *.o
	- $(RM) *.bak
	- $(RM) $(DEMOS)
	- $(RM) libeyebot.a
	- $(RM) $(NAME)-$(VERSION).tar.gz

$(LIB):	$(OBJS)
	- ar crs libeyebot.a $(OBJS)

dist: ChangeLog-new
	ln -s . $(NAME)-$(VERSION)
	tar cfvz $(NAME)-$(VERSION).tar.gz \
	  $(lib_SOURCE:%=$(NAME)-$(VERSION)/%) \
	  $(demo_SOURCE:%=$(NAME)-$(VERSION)/%) \
	  $(NAME)-$(VERSION)/*.h \
	  $(NAME)-$(VERSION)/*.fd \
	  $(NAME)-$(VERSION)/*.maz \
	  $(NAME)-$(VERSION)/*.wld \
	  $(NAME)-$(VERSION)/Makefile \
	  $(NAME)-$(VERSION)/ChangeLog \
	  $(NAME)-$(VERSION)/README
	rm $(NAME)-$(VERSION)

ChangeLog-new: $(topdir)/ChangeLog.usermap
	$(CVS2CL) -b --gmt --log-opts "-d'1997-01-01<now'" --window 7200 \
	  --usermap $(topdir)/ChangeLog.usermap --ignore ChangeLog

# DO NOT DELETE

multi.o: LCDDisp.h protos.h keys.h lcd.h cam.h const.h kern.h reg.h vw.h
multi.o: hdt.h types.h improc.h multi.h hdt_sem.h qcam.h eyesim.h
multi.o: viewscreen.h helpscreen.h
xsim.o: viewscreen.h eyesim.h types.h protos.h keys.h lcd.h cam.h const.h
xsim.o: kern.h reg.h vw.h hdt.h improc.h multi.h hdt_sem.h LCDDisp.h
xsim.o: helpscreen.h errorChange.h
viewscreen.o: viewscreen.h multi.h
eyebot_cb.o: eyesim.h types.h viewscreen.h protos.h keys.h lcd.h cam.h
eyebot_cb.o: const.h kern.h reg.h vw.h hdt.h improc.h multi.h hdt_sem.h
eyebot_cb.o: LCDDisp.h helpscreen.h errorChange.h
screen.o: eyesim.h types.h viewscreen.h protos.h keys.h lcd.h cam.h const.h
screen.o: kern.h reg.h vw.h hdt.h improc.h multi.h hdt_sem.h
global.o: LCDDisp.h protos.h keys.h lcd.h cam.h const.h kern.h reg.h vw.h
global.o: hdt.h types.h improc.h multi.h hdt_sem.h qcam.h eyesim.h
global.o: viewscreen.h helpscreen.h
LCDDisp.o: LCDDisp.h protos.h keys.h lcd.h cam.h const.h kern.h reg.h vw.h
LCDDisp.o: hdt.h types.h improc.h multi.h hdt_sem.h
lcdsim.o: LCDDisp.h viewscreen.h protos.h keys.h lcd.h cam.h const.h kern.h
lcdsim.o: reg.h vw.h hdt.h types.h improc.h multi.h hdt_sem.h
keysim.o: protos.h keys.h lcd.h cam.h const.h kern.h reg.h vw.h hdt.h types.h
keysim.o: improc.h multi.h hdt_sem.h viewscreen.h
improc.o: protos.h keys.h lcd.h cam.h const.h kern.h reg.h vw.h hdt.h types.h
improc.o: improc.h multi.h hdt_sem.h
vw.o: protos.h keys.h lcd.h cam.h const.h kern.h reg.h vw.h hdt.h types.h
vw.o: improc.h multi.h hdt_sem.h eyesim.h viewscreen.h
timer.o: protos.h keys.h lcd.h cam.h const.h kern.h reg.h vw.h hdt.h types.h
timer.o: improc.h multi.h hdt_sem.h eyesim.h viewscreen.h
psd_driv.o: viewscreen.h protos.h keys.h lcd.h cam.h const.h kern.h reg.h
psd_driv.o: vw.h hdt.h types.h improc.h multi.h hdt_sem.h
bump.o: eyesim.h types.h viewscreen.h protos.h keys.h lcd.h cam.h const.h
bump.o: kern.h reg.h vw.h hdt.h improc.h multi.h hdt_sem.h
ir.o: protos.h keys.h lcd.h cam.h const.h kern.h reg.h vw.h hdt.h types.h
ir.o: improc.h multi.h hdt_sem.h viewscreen.h
helpscreen.o: helpscreen.h multi.h
OSmisc.o: protos.h keys.h lcd.h cam.h const.h kern.h reg.h vw.h hdt.h types.h
OSmisc.o: improc.h multi.h hdt_sem.h
errorChange.o: errorChange.h protos.h keys.h lcd.h cam.h const.h kern.h reg.h
errorChange.o: vw.h hdt.h types.h improc.h multi.h hdt_sem.h eyesim.h
errorChange.o: viewscreen.h
execlib.o: helpscreen.h eyesim.h types.h viewscreen.h LCDDisp.h protos.h
execlib.o: keys.h lcd.h cam.h const.h kern.h reg.h vw.h hdt.h improc.h
execlib.o: multi.h hdt_sem.h
OSMT.o: protos.h keys.h lcd.h cam.h const.h kern.h reg.h vw.h hdt.h types.h
OSMT.o: improc.h multi.h hdt_sem.h eyesim.h viewscreen.h
OSSem.o: protos.h keys.h lcd.h cam.h const.h kern.h reg.h vw.h hdt.h types.h
OSSem.o: improc.h multi.h hdt_sem.h eyesim.h viewscreen.h
qcam.o: qcam.h
camsim.o: LCDDisp.h protos.h keys.h lcd.h cam.h const.h kern.h reg.h vw.h
camsim.o: hdt.h types.h improc.h multi.h hdt_sem.h qcam.h
