#
#  Makefile for	CS539
#
CC = g++
CFLAGS =  -g
LIBS =
#

UTILS =	getopt.o clrandom.o ranlib.o gnu-rng.o gnu-mlcg.o com.o	linpack.o

## main	programs
4x3vi: 4x3vi.cc	4x3.o $(UTILS)
	$(CC) $(CFLAGS)	$(LIBS)	4x3vi.cc 4x3.o $(UTILS)	-o 4x3vi

4x3psweep: 4x3psweep.cc	4x3.o $(UTILS)
	$(CC) $(CFLAGS)	$(LIBS)	4x3psweep.cc 4x3.o $(UTILS) -o 4x3psweep

jacksvi: jacksvi.cc jacks.o $(UTILS)
	$(CC) $(CFLAGS)	$(LIBS)	jacksvi.cc jacks.o $(UTILS) -o jacksvi

jackspsweep: jackspsweep.cc jacks.o $(UTILS)
	$(CC) $(CFLAGS)	$(LIBS)	jackspsweep.cc jacks.o $(UTILS)	-o jackspsweep

windyvi: windyvi.cc windy.o $(UTILS)
	$(CC) $(CFLAGS)	$(LIBS)	windyvi.cc windy.o $(UTILS) -o windyvi

windypsweep: windypsweep.cc windy.o $(UTILS)
	$(CC) $(CFLAGS)	$(LIBS)	windypsweep.cc windy.o $(UTILS)	-o windypsweep

tstmid:	tstmid.c ranlib.o com.o	linpack.o ranlib.h
	gcc -O2	tstmid.c ranlib.o com.o	linpack.o -o tstmid

## modules
4x3.o: 4x3.cc 4x3.h mdp.h list.h vector.h iterator.h minmax.h
	$(CC) $(CFLAGS)	-c 4x3.cc

clrandom.o: clrandom.C clrandom.h gnu-mlcg.h gnu-rng.h
	$(CC) $(CFLAGS)	-c clrandom.C

com.o: ranlib.h	com.c
	gcc -O2	-c com.c

getopt.o: getopt.c
	$(CC) $(CFLAGS)	-c getopt.c

jacks.o: jacks.cc jacks.h mdp.h	list.h vector.h	iterator.h minmax.h clrandom.h
	$(CC) $(CFLAGS)	-c jacks.cc

linpack.o: linpack.c
	gcc -O2	-c linpack.c

ranlib.o: ranlib.h ranlib.c
	gcc -O2	-c ranlib.c

windy.o: windy.cc windy.h mdp.h	list.h vector.h	iterator.h minmax.h
	$(CC) $(CFLAGS)	-c windy.cc

gnu-rng.o: gnu-rng.h gnu-rng.cc
	$(CC) $(CFLAGS)	-c gnu-rng.cc

gnu-mlcg.o: gnu-mlcg.h gnu-mlcg.cc
	$(CC) $(CFLAGS)	-c gnu-mlcg.cc
