CPP=g++
AR=ar
RANLIB=ranlib
CFLAGS=-O2 -g -Wall
LIBPATH=../src/
LDFLAGS=-L$(LIBPATH) -lpards
INCFLAGS=-I$(LIBPATH)

all: sample fib qsort listsample listsample2 queuesample workpoolsample spmdsample

sample: sample.cc $(LIBPATH)Sync.h
	$(CPP) $(CFLAGS) -o sample sample.cc $(INCFLAGS) $(LDFLAGS) 

fib: fib.cc $(LIBPATH)Sync.h
	$(CPP) $(CFLAGS) -o fib fib.cc $(INCFLAGS) $(LDFLAGS) 

qsort: qsort.cc $(LIBPATH)Sync.h
	$(CPP) $(CFLAGS) -o qsort qsort.cc $(INCFLAGS) $(LDFLAGS) 

listsample: listsample.cc $(LIBPATH)SyncList.h $(LIBPATH)Sync.h
	$(CPP) $(CFLAGS) -o listsample listsample.cc $(INCFLAGS) $(LDFLAGS) 

listsample2: listsample2.cc $(LIBPATH)SyncList.h $(LIBPATH)Sync.h
	$(CPP) $(CFLAGS) -o listsample2 listsample2.cc $(INCFLAGS) $(LDFLAGS)

queuesample: queuesample.cc $(LIBPATH)SyncQueue.h $(LIBPATH)SyncList.h $(LIBPATH)Sync.h
	$(CPP) $(CFLAGS) -o queuesample queuesample.cc $(INCFLAGS) $(LDFLAGS)

workpoolsample: workpoolsample.cc $(LIBPATH)WorkPool.h $(LIBPATH)SyncQueue.h $(LIBPATH)SyncList.h $(LIBPATH)Sync.h
	$(CPP) $(CFLAGS) -o workpoolsample workpoolsample.cc $(INCFLAGS) $(LDFLAGS)

spmdsample: spmdsample.cc $(LIBPATH)libpards.h
	$(CPP) $(CFLAGS) -o spmdsample spmdsample.cc $(INCFLAGS) $(LDFLAGS) 

clean:
	rm -f *.o *~ sample fib qsort listsample listsample2 queuesample workpoolsample spmdsample

