ARCHCFLAGS	=	-DSYSVSIGNAL -DRSHCOMMAND=\"/usr/bsd/rsh\" -DNOUNIXDOM -64 -TENV:large_GOT=ON -woff 1174 -DHASSTDLIB
#ARCHLIB	=	-lsun -lmutex
PVM_ARCH	=	SGIMP64
#
# Custom makefile for PVM example programs.
#
# Set PVM_ROOT to the path where PVM includes and libraries are installed.
# Set PVM_ARCH to your architecture type (SUN4, HP9K, RS6K, SGI, etc.)
# Set ARCHLIB to any special libs needed on PVM_ARCH (-lrpc, -lsocket, etc.)
# otherwise leave ARCHLIB blank
#
SDIR	=	..
#BDIR	=	$(HOME)/pvm3/bin
BDIR	=	$(SDIR)/../bin
XDIR	=	$(BDIR)/$(PVM_ARCH)

CC	=	cc
OPTIONS	=	-O
CFLAGS	=	$(OPTIONS) -I$(PVM_ROOT)/include $(ARCHCFLAGS)
LIBS	=	-lpvm3 $(ARCHLIB)
GLIBS	=	-lgpvm3

F77	=	f77
FFLAGS	=	-g
FLIBS	=	-lfpvm3

LFLAGS	=	-L$(PVM_ROOT)/lib/$(PVM_ARCH)

default:	hello hello_other

all: c-all f-all

c-all:	gexample hello hello_other master slave spmd timing timing_slave

f-all:	fgexample fmaster fslave fspmd hitc hitc_slave testall

clean:
	rm -f *.o gexample hello hello_other hitc hitc_slave master1 slave1 \
		spmd testall timing timing_slave

$(XDIR):
	- mkdir $(BDIR)
	- mkdir $(XDIR)

hello: $(SDIR)/hello.c $(XDIR)
	$(CC) $(CFLAGS) -o hello $(SDIR)/hello.c $(LFLAGS) $(LIBS)
	mv hello $(XDIR)

hello_other: $(SDIR)/hello_other.c $(XDIR)
	$(CC) $(CFLAGS) -o hello_other $(SDIR)/hello_other.c $(LFLAGS) $(LIBS)
	mv hello_other $(XDIR)

timing_slave: $(SDIR)/timing_slave.c $(XDIR)
	$(CC) $(CFLAGS) -o timing_slave $(SDIR)/timing_slave.c $(LFLAGS) $(LIBS)
	mv timing_slave $(XDIR)

timing: $(SDIR)/timing.c $(XDIR)
	$(CC) $(CFLAGS) -o timing $(SDIR)/timing.c $(LFLAGS) $(LIBS)
	mv timing $(XDIR)

spmd: $(SDIR)/spmd.c $(XDIR)
	$(CC) $(CFLAGS) -o spmd $(SDIR)/spmd.c $(LFLAGS) $(GLIBS) $(LIBS)
	mv spmd $(XDIR)

fspmd: $(SDIR)/spmd.f $(XDIR)
	$(F77) $(FFLAGS) -o spmd $(SDIR)/spmd.f $(LFLAGS) $(FLIBS) $(GLIBS) $(LIBS)
	mv spmd $(XDIR)

master: $(SDIR)/master1.c $(XDIR)
	$(CC) $(CFLAGS) -o master1 $(SDIR)/master1.c $(LFLAGS) $(LIBS)
	mv master1 $(XDIR)

slave: $(SDIR)/slave1.c $(XDIR)
	$(CC) $(CFLAGS) -o slave1 $(SDIR)/slave1.c $(LFLAGS) $(LIBS)
	mv slave1 $(XDIR)

fmaster: $(SDIR)/master1.f $(XDIR)
	$(F77) $(FFLAGS) -o master1 $(SDIR)/master1.f $(LFLAGS) $(FLIBS) $(LIBS)
	mv master1 $(XDIR)

fslave: $(SDIR)/slave1.f $(XDIR)
	$(F77) $(FFLAGS) -o slave1 $(SDIR)/slave1.f $(LFLAGS) $(FLIBS) $(LIBS)
	mv slave1 $(XDIR)

testall: $(SDIR)/testall.f $(XDIR)
	$(F77) $(FFLAGS) -o testall $(SDIR)/testall.f $(LFLAGS) $(FLIBS) $(LIBS)
	mv testall $(XDIR)

hitc: $(SDIR)/hitc.f $(XDIR)
	$(F77) $(FFLAGS) -o hitc $(SDIR)/hitc.f $(LFLAGS) $(FLIBS) $(LIBS)
	mv hitc $(XDIR)

hitc_slave: $(SDIR)/hitc_slave.f $(XDIR)
	$(F77) $(FFLAGS) -o hitc_slave $(SDIR)/hitc_slave.f $(LFLAGS) $(FLIBS) $(LIBS)
	mv hitc_slave $(XDIR)

gexample: $(SDIR)/gexample.c $(XDIR)
	$(CC) $(CFLAGS) -o gexample $(SDIR)/gexample.c $(LFLAGS) $(GLIBS) $(LIBS)
	mv gexample $(XDIR)

fgexample: $(SDIR)/gexample.f $(XDIR)
	$(F77) $(FFLAGS) -o gexample $(SDIR)/gexample.f $(LFLAGS) $(FLIBS) $(GLIBS) $(LIBS)
	mv gexample $(XDIR)

nntime:	$(SDIR)/nntime.c $(XDIR)
	$(CC) $(CFLAGS) -D$(PVM_ARCH) -DPVM -o nntime $(SDIR)/nntime.c $(LFLAGS) $(LIBS)
	mv nntime $(XDIR)

