# RCSid: $Id: Rmakefile,v 1.7 2003/10/22 02:15:07 greg Exp $
#
#  Compiles:
#

OPT = -O
MACH =
CC = cc
MLIB = -lm
CFLAGS = -DMDIR=\"$(MLIBDIR)/\" $(OPT) $(MACH) -I../common -L../lib

LIBDIR = /usr/local/lib
MLIBDIR = $(LIBDIR)/meta
DESTDIR = .
INSTDIR = /usr/local/bin

# target lists
common = mfio.o syscalls.o misc.o

PROGS = $(DESTDIR)/meta2tga $(DESTDIR)/pexpand $(DESTDIR)/psort \
	$(DESTDIR)/cv $(DESTDIR)/psmeta $(DESTDIR)/plotin \
	$(DESTDIR)/x11meta $(DESTDIR)/bgraph $(DESTDIR)/igraph \
	$(DESTDIR)/dgraph $(DESTDIR)/gcomp $(DESTDIR)/plot4

SPECIALPROGS = $(DESTDIR)/mt160l $(DESTDIR)/mt160 $(DESTDIR)/mtext \
	$(DESTDIR)/plotout $(DESTDIR)/okimate $(DESTDIR)/tbar \
	$(DESTDIR)/mx80 $(DESTDIR)/t4014 $(DESTDIR)/imagew \
	$(DESTDIR)/impress $(DESTDIR)/aed5 $(DESTDIR)/tscat \
	$(DESTDIR)/tcurve #$(DESTDIR)/xmeta 

# global targets
all: $(PROGS)

special: $(SPECIALPROGS)

install: $(PROGS)
	cp $(PROGS) $(INSTDIR)

specialinstall: $(SPECIALPROGS) 
	cp $(SPECIALPROGS) $(INSTDIR)

clean:
	set nonomatch; rm -f *.o $(PROGS) $(SPECIALPROGS) core

# individual targets
$(DESTDIR)/mt160l:	mt160l.o mplot.o plot.o palloc.o
	$(CC) $(CFLAGS) -o mt160l mt160l.o mplot.o plot.o \
$(common) -lrt palloc.o

$(DESTDIR)/okimate:	okimate.o mplot.o plot.o palloc.o
	$(CC) $(CFLAGS) -o okimate okimate.o mplot.o plot.o \
$(common) palloc.o -lrt

$(DESTDIR)/imagew:	imagew.o mplot.o plot.o palloc.o
	$(CC) $(CFLAGS) -o imagew imagew.o mplot.o plot.o $(common) \
palloc.o -lrt $(MLIB)

$(DESTDIR)/mt160:	mt160.o mplot.o plot.o palloc.o
	$(CC) $(CFLAGS) -o mt160 mt160.o mplot.o plot.o $(common) \
palloc.o -lrt

$(DESTDIR)/meta2tga:	meta2tga.o rplot.o plot.o palloc.o
	$(CC) $(CFLAGS) -o meta2tga meta2tga.o rplot.o plot.o $(common) \
palloc.o -lrt $(MLIB)

$(DESTDIR)/mx80:	mx80.o mplot.o plot.o palloc.o
	$(CC) $(CFLAGS) -o mx80 mx80.o mplot.o plot.o $(common) \
palloc.o -lrt $(MLIB)

$(DESTDIR)/t4014:	plotout.c ../lib/lib4014.a
	$(CC) -DFORTEK $(CFLAGS) -o t4014 plotout.c $(common) \
-l4014 -lrt $(MLIB)
	rm -f plotout.o

$(DESTDIR)/impress:	impress.o implot.o imPfuncs.o plot.o
	$(CC) $(CFLAGS) -o impress impress.o implot.o imPfuncs.o \
plot.o $(common) -lrt $(MLIB)

$(DESTDIR)/aed5:	aed5.o
	$(CC) $(CFLAGS) -o aed5 aed5.o $(common) -lrt $(MLIB)

#$(DESTDIR)/xmeta:	xmeta.o xplot.o plot.o palloc.o
#	$(CC) $(CFLAGS) -o xmeta xmeta.o xplot.o plot.o palloc.o \
#$(common) -lrt -lX11 $(MLIB)

$(DESTDIR)/x11meta:	xmeta.o x11plot.o plot.o palloc.o
	$(CC) $(CFLAGS) -o x11meta xmeta.o x11plot.o plot.o palloc.o \
$(common) -lrt -lX11 $(MLIB)

$(DESTDIR)/psmeta:	psmeta.o psplot.o
	$(CC) $(CFLAGS) -o psmeta psmeta.o psplot.o $(common) -lrt $(MLIB)

$(DESTDIR)/plotout:	plotout.o ../lib/lib4014.a
	$(CC) $(CFLAGS) -o plotout plotout.o $(common) -lplot -lrt -l4014 $(MLIB)

$(DESTDIR)/plotin:	plotin.o primout.o
	$(CC) $(CFLAGS) -o plotin plotin.o primout.o $(common) -lrt $(MLIB)

$(DESTDIR)/pexpand:	pexpand.o expand.o segment.o palloc.o
	$(CC) $(CFLAGS) -o pexpand pexpand.o expand.o segment.o \
$(common) palloc.o -lrt $(MLIB)

$(DESTDIR)/psort:	psort.o sort.o palloc.o
	$(CC) $(CFLAGS) -o psort psort.o sort.o $(common) palloc.o -lrt $(MLIB)

$(DESTDIR)/cv:		cv.o mfio.o cvhfio.o syscalls.o misc.o
	$(CC) $(CFLAGS) -o cv cv.o mfio.o cvhfio.o syscalls.o misc.o \
-lrt $(MLIB)

$(DESTDIR)/plot4:	plot4.o primout.o
	$(CC) $(CFLAGS) -o plot4 plot4.o primout.o $(common) -lrt $(MLIB)

$(DESTDIR)/tcurve:	tcurve.o tgraph.o primout.o
	$(CC) $(CFLAGS) -o tcurve tcurve.o tgraph.o primout.o \
$(common) $(MLIB)

$(DESTDIR)/tscat:	tscat.o tgraph.o primout.o
	$(CC) $(CFLAGS) -o tscat tscat.o tgraph.o primout.o \
$(common) -lrt $(MLIB)

$(DESTDIR)/tbar:	tbar.o tgraph.o primout.o
	$(CC) $(CFLAGS) -o tbar tbar.o tgraph.o primout.o $(common) -lrt $(MLIB)

$(DESTDIR)/mtext:	mtext.o primout.o
	$(CC) $(CFLAGS) -o mtext mtext.o primout.o $(common) -lrt

../lib/libmeta.a:	metacalls.o primout.o progname.o
	ar rc ../lib/libmeta.a metacalls.o primout.o \
$(common) progname.o
	-ranlib ../lib/libmeta.a

../lib/lib4014.a:
	cd lib4014; make INSTDIR=../../lib "CFLAGS=$(OPT)" install clean

$(DESTDIR)/bgraph:	bgraph.o mgvars.o mgraph.o ../lib/libmeta.a
	$(CC) $(CFLAGS) -o bgraph bgraph.o mgvars.o mgraph.o \
-lmeta -lrt $(MLIB)

$(DESTDIR)/igraph:	igraph.o mgvars.o mgraph.o ../lib/libmeta.a \
gcalc.o cgraph.o
	$(CC) $(CFLAGS) -o igraph igraph.o mgvars.o mgraph.o \
cgraph.o gcalc.o -lmeta -lrt $(MLIB)

$(DESTDIR)/dgraph:	dgraph.o cgraph.o mgvars.o
	$(CC) $(CFLAGS) -o dgraph dgraph.o cgraph.o mgvars.o \
-lrt $(MLIB)

$(DESTDIR)/gcomp:	gcomp.o gcalc.o mgvars.o
	$(CC) $(CFLAGS) -o gcomp gcomp.o gcalc.o mgvars.o \
-lrt $(MLIB)

# dependencies
$(DESTDIR)/meta2tga $(DESTDIR)/okimate $(DESTDIR)/impress \
$(DESTDIR)/mx80 $(DESTDIR)/t4014 $(DESTDIR)/plotout $(DESTDIR)/x11meta \
$(DESTDIR)/mt160l $(DESTDIR)/mt160 $(DESTDIR)/pexpand $(DESTDIR)/plot4 \
$(DESTDIR)/psort $(DESTDIR)/imagew $(DESTDIR)/tcurve $(DESTDIR)/mtext \
$(DESTDIR)/tscat $(DESTDIR)/plotin $(DESTDIR)/tbar \
$(DESTDIR)/xmeta ../lib/libmeta.a aed5 psmeta:	$(common)

cvhfio.o:	cvhfio.c hfio.c

mgvars.o igraph.o mgraph.o cgraph.o gcalc.o:	mgvars.h

mgraph.o:	mgraph.h

misc.o syscalls.o mfio.o hfio.o cvhfio.o palloc.o segment.o sort.o expand.o \
plot.o mplot.o primout.o tgraph.o mt160l.o mt160.o mx80.o plotout.o \
psort.o pexpand.o cv.o tcurve.o tscat.o mtext.o tbar.o plot4.o \
xmeta.o metacalls.o xplot.o meta2tga.o rplot.o:	meta.h ../common/rterror.h

plot.o mplot.o mt160l.o mt160.o mx80.o xmeta.o xplot.o \
meta2tga.o rplot.o implot.o:	plot.h

mplot.o mt160l.o mt160.o mx80.o:	span.h

tgraph.o tcurve.o tscat.o tbar.o:	tgraph.h

impress.o implot.o imPfuncs.o:	imPfuncs.h

rplot.o meta2tga.o:	rast.h
