PLATFORM = LINUX
#PLATFORM = SOLARIS
#PLATFORM = IRIX
#PLATFORM = DUX

#CXX    = g++ -Wall -O3
#CC     = gcc -Wall -O3
CXX    = g++296 -Wall -g -gstabs+
CC     = gcc -Wall -g -gstabs+
AR     = ar
RANLIB = ranlib


ifeq ($(PLATFORM), LINUX) 
  LIBPATH = -L/usr/share/pvm3/lib/LINUXI386
  INCPATH = -I /usr/share/pvm3/include
  LDFLAGS  =  -L. -lcomp $(LIBPATH) -lpvm3 -lgpvm3 
  CFLAGS   = $(INCPATH)
endif

ifeq ($(PLATFORM), SOLARIS)
  LIBPATH = -L/usr/local/pvm3/lib/SUN4SOL2
  INCPATH = -I/usr/local/pvm3/include
  LDFLAGS  =  -L. -lcomp $(LIBPATH) -lpvm3 -lgpvm3 -lsocket -lnsl
  CFLAGS   = $(INCPATH)
endif

ifeq ($(PLATFORM), IRIX)
  LIBPATH = -L/
  INCPATH = -I/
  LDFLAGS  =  -L. -lcomp $(LIBPATH) -lpvm3 -lgpvm3 
  CFLAGS   = $(INCPATH)
endif

ifeq ($(PLATFORM), DUX)
  LIBPATH = -L/afs/cs/usr/pdinda/pvm3/lib/ALPHA
  INCPATH = -I /afs/cs/usr/pdinda/pvm3/include
  LDFLAGS =  -L. -lcomp $(LIBPATH) -lpvm3 -lgpvm3 
  CFLAGS  = $(INCPATH)
endif

SOURCES = pattern-single.cc libcomp.cc pvmspawn.cc

all: libcomp.s pattern
 
pattern : pattern.o libcomp.a
	$(CXX) pattern.o $(LDFLAGS) -o pvmpattern

%.o : %.cc
	$(CXX) $(CFLAGS) -c $< -o $(@F)

%.o : %.c
	$(CC) $(CFLAGS) -c $< -o $(@F)

libcomp.a : libcomp.o pvmspawn.o
	$(AR) ruv libcomp.a libcomp.o pvmspawn.o
	$(RANLIB) libcomp.a

libcomp.s: libcomp.cc libcomp.h
	$(CXX) $(CFLAGS) -S libcomp.cc -o libcomp.s

clean:
	rm -f *.o *.s *.a pattern

depend:
	$(CC) -MM $(CFLAGS) $(SOURCES) > .dependencies

include .dependencies.$(PLATFORM)

