#
# Random
#
# Version 2.0 Makefile.
#
# Copyright (C) 1992 Contemporary Design Studios. All Rights Reserved.
#


#
# Macros:
#

FLAGS	= -g -Wall
LIBS	= -lNeXT_s -lsys_s


#
# Rules:
#

.m.o:
	cc -c ${FLAGS} -o $@ $*.m


#
# Dependencies:
#

all: TestPercent TestDieRoller TestGaussian TestArchive


#
# Engine Classes:
#

RandomEngine.o: RandomEngine.m RandomEngine.h
StandardEngine.o: StandardEngine.m StandardEngine.h RandomEngine.h
ElkinsEngine.o: ElkinsEngine.m ElkinsEngine.h RandomEngine.h
R250Engine.o: R250Engine.m R250Engine.h RandomEngine.h

ENGINE_HDRS = RandomEngine.h StandardEngine.h ElkinsEngine.h R250Engine.h
ENGINE_OBJS = RandomEngine.o StandardEngine.o ElkinsEngine.o R250Engine.o


#
# Random Classes:
#

Random.o: Random.m Random.h RandomEngine.h
DieRoller.o: DieRoller.m DieRoller.h Random.h
Gaussian.o: Gaussian.m Gaussian.h Random.h


#
# Testing Programs:
#

TestPercent.o: TestPercent.m Random.h ${ENGINE_HDRS}
TestDieRoller.o: TestDieRoller.m Random.h DieRoller.h RandomEngine.h ElkinsEngine.h
TestGaussian.o: TestGaussian.m Random.h Gaussian.h ${ENGINE_HDRS}
TestArchive.o: TestArchive.m Random.h ${ENGINE_HDRS}

TestPercent: TestPercent.o Random.o ${ENGINE_OBJS}
	cc ${FLAGS} -o TestPercent TestPercent.o Random.o ${ENGINE_OBJS} ${LIBS}

TestDieRoller: TestDieRoller.o Random.o DieRoller.o RandomEngine.o ElkinsEngine.o
	cc ${FLAGS} -o TestDieRoller TestDieRoller.o Random.o DieRoller.o \
	   RandomEngine.o ElkinsEngine.o ${LIBS}

TestGaussian: TestGaussian.o Random.o Gaussian.o ${ENGINE_OBJS}
	cc ${FLAGS} -o TestGaussian TestGaussian.o Random.o Gaussian.o ${ENGINE_OBJS} ${LIBS}

TestArchive: TestArchive.o Random.o ${ENGINE_OBJS}
	cc ${FLAGS} -o TestArchive TestArchive.o Random.o ${ENGINE_OBJS} ${LIBS}


# 
# Special targets:
# 

default:
	make all

clean:
	rm -f *.o TestPercent TestDieRoller TestGaussian TestArchive ArchivedRandom.rand

over:
	@make clean
	@make

#
# End of file.
#