# P4 makefile for Sequent Symmetry
P4ARCH = SYMMETRY
FILE_LINK = ln 
FC = fortran
AR = ar ruv
CLINKER = cc -Z1000000
FLINKER = fortran -Z1000000
RANLIB = ranlib
MDEP_LIBS= -lpps -lseq
MDEP_CFLAGS =
MDEP_FFLAGS =
P4_OBJ	= $(P4_COMM_OBJ) $(P4_SOCK_OBJ) $(P4_SHMEM_OBJ)
P = &

RM = /bin/rm

CFLAGS = -g -I$(INCLUDEDIR) $(MDEP_CFLAGS) $(USER_CFLAGS)

FFLAGS = -g -I$(FORTLIBDIR) $(MDEP_FFLAGS)

.SUFFIXES:	.o .c .f .h

.c.o:$(P)
	$(CC) $(CFLAGS) -c $*.c 

.f.o:$(P)
	$(FC) $(FFLAGS) -c $*.f 

dummy:	default

clean:
	$(RM) -f *~ *.o *.bak tags TAGS core

P4_HOME_DIR = /u5/rbutler/p4/p4-1.2c
INCLUDEDIR = $(P4_HOME_DIR)/include
LIBDIR = $(P4_HOME_DIR)/lib

LIBS = $(LIBDIR)/libp4.a $(MDEP_LIBS) -lm

default:$(P)
	make $(MFLAGS) primes

example:$(P) mon_linda.o example.o $(LIBDIR)/libp4.a
	$(CLINKER) $(CFLAGS) -o example mon_linda.o example.o $(LIBS)

primes:$(P) mon_linda.o primes.o $(LIBDIR)/libp4.a
	$(CLINKER) $(CFLAGS) -o primes mon_linda.o primes.o $(LIBS)

## following requires primes.c to be altered to include sr_linda.h 
srprimes:$(P) sr_linda.o primes.o $(LIBDIR)/libp4.a
	$(CLINKER) $(CFLAGS) -o srprimes sr_linda.o primes.o $(LIBS)

semimast:$(P) sr_linda.o semimast.o semislav.o $(LIBDIR)/libp4.a
	$(CLINKER) $(CFLAGS) -o semimast sr_linda.o semimast.o semislav.o $(LIBS)

semislav:$(P) sr_linda.o semislav.o $(LIBDIR)/p4_cmain.o $(LIBDIR)/libp4.a
	$(CLINKER) $(CFLAGS) -o semislav sr_linda.o semislav.o $(LIBDIR)/p4_cmain.o $(LIBS)

realclean: clean
	$(RM) -f semislav semimast primes srprimes Makefile
