# template Makefile for p4 programs

# basic definitions
P4 = /Net/encore/efs3/kotz/p4
IFLAGS = -I$(P4)
LDFLAGS = -L$(P4)
LIBS = -lp4dfk -lp4 -lpp -lm
REQD = -I. $(IFLAGS) -DMULTIMAX -DP4BSD

# You might add to this line. Remove -g -DDPRINTFL for timing.
CFLAGS = $(REQD) -g -DDPRINTFL

all: msort mpmsort smmsort

msort: msort.o heapsort.o
	cc $(LDFLAGS) -o msort msort.o heapsort.o $(LIBS)

smmsort: smmsort.o heapsort.o divide.o
	cc $(LDFLAGS) -o smmsort smmsort.o heapsort.o divide.o $(LIBS)

mpmsort: msort_master.o msort_slave.o heapsort.o
	cc $(LDFLAGS) -o mpmsort msort_master.o msort_slave.o heapsort.o $(LIBS)

msort_master.o msort_slave.o: msort.h

smmsort.o: divide.h $(P4)/dfk.h $(P4)/timing.h $(P4)/p4.h

clean: 
	rm -f *.o *~ msort smmsort mpmsort
