#
# makefile for applications for book
# data structures in Java
# can be used with Unix systems
#
# set class path appropriate for your system
CPath = .:../jds.jar
.SUFFIXES: .java .class

default:
	echo `please select and application to make`

Temp: Temp.java
	javac -classpath ${CPath} Temp.java
	java -classpath ${CPath} Temp

BubbleExperiment: BubbleExperiment.java
	javac -classpath ${CPath} BubbleExperiment.java
	java -classpath ${CPath} BubbleExperiment

SortExperiment: SortExperiment.java
	javac -classpath ${CPath} SortExperiment.java
	java -classpath ${CPath} SortExperiment

WordFreq: WordFreq.java
	javac -classpath ${CPath} WordFreq.java
	java -classpath ${CPath} WordFreq freqList

SillySentence: SillySentence.java
	javac -classpath ${CPath} SillySentence.java
	java -classpath ${CPath} SillySentence

Memory: Memory.java
	javac -classpath ${CPath} Memory.java
	java -classpath ${CPath} Memory

VisualSort: VisualSort.java
	javac -classpath ${CPath} VisualSort.java
	java -classpath ${CPath} VisualSort

FindNExperiment: FindNExperiment.java
	javac -classpath ${CPath} FindNExperiment.java
	java -classpath ${CPath} FindNExperiment

ClassList: ClassList.java
	javac -classpath ${CPath} ClassList.java
	java -classpath ${CPath} ClassList clist

AsteroidGame: AsteroidGame.java
	javac -classpath ${CPath} AsteroidGame.java
	java -classpath ${CPath} AsteroidGame

LargePositiveInteger: LargePositiveInteger.java
	javac -classpath ${CPath} LargePositiveInteger.java
	java -classpath ${CPath} LargePositiveInteger

MergeExperiment: MergeExperiment.java
	javac -classpath ${CPath} MergeExperiment.java
	java -classpath ${CPath} MergeExperiment

SelfOrgExperiment: SelfOrgExperiment.java
	javac -classpath ${CPath} SelfOrgExperiment.java
	java -classpath ${CPath} SelfOrgExperiment

SkipExperiment: SkipExperiment.java
	javac -classpath ${CPath} SkipExperiment.java
	java -classpath ${CPath} SkipExperiment

SkipExperiment2: SkipExperiment2.java
	javac -classpath ${CPath} SkipExperiment2.java
	java -classpath ${CPath} SkipExperiment2

ParenCheck: ParenCheck.java
	javac -classpath ${CPath} ParenCheck.java
	java -classpath ${CPath} ParenCheck <Hanoi.java

Hanoi: Hanoi.java
	javac -classpath ${CPath} Hanoi.java
	java -classpath ${CPath} Hanoi

Calculator: Calculator.java
	javac -classpath ${CPath} Calculator.java
	java -classpath ${CPath} Calculator

Frog: Frog.java
	javac -classpath ${CPath} Card.java CardPile.java Frog.java
	java -classpath ${CPath} Frog

StackExperiment: StackExperiment.java
	javac -classpath ${CPath} StackExperiment.java
	java -classpath ${CPath} StackExperiment

KnightsTour: KnightsTour.java
	javac -classpath ${CPath} SearchDone.java CannotAdvance.java SearchState.java SearchEngine.java KnightsTour.java
	java -classpath ${CPath} KnightsTour

PastryFactorySimulation: PastryFactorySimulation.java
	javac -classpath ${CPath} PastryFactorySimulation.java
	java -classpath ${CPath} PastryFactorySimulation

CaterpillarGame: CaterpillarGame.java
	javac -classpath ${CPath} CaterpillarGame.java
	java -classpath ${CPath} CaterpillarGame

QueueExperiment: QueueExperiment.java
	javac -classpath ${CPath} QueueExperiment.java
	java -classpath ${CPath} QueueExperiment

DequeExperiment: DequeExperiment.java
	javac -classpath ${CPath} DequeExperiment.java
	java -classpath ${CPath} DequeExperiment

Snowflake: Snowflake.java
	javac -classpath ${CPath} Snowflake.java
	java -classpath ${CPath} Snowflake

Maze: Maze.java
	javac -classpath ${CPath} Maze.java
	java -classpath ${CPath} Maze

HeapExperiment: HeapExperiment.java
	javac -classpath ${CPath} HeapExperiment.java
	java -classpath ${CPath} HeapExperiment

IceCreamStore: Event.java SimulationFramework.java IceCreamStore.java
	javac -classpath ${CPath} Event.java SimulationFramework.java IceCreamStore.java
	java -classpath ${CPath} IceCreamStore

AnimalGame: AnimalGame.java
	javac -classpath ${CPath} AnimalGame.java
	java -classpath ${CPath} AnimalGame

EulerTest: EulerTour.java EulerTest.java
	javac -classpath ${CPath} EulerTour.java EulerTest.java
	java -classpath ${CPath} EulerTest

TreePaint: EulerTour.java PaintTree.java PaintTreeTest.java
	javac -classpath ${CPath} EulerTour.java PaintTree.java PaintTreeTest.java
	java -classpath ${CPath} PaintTreeTest

BSTreeExperiment: BSTreeExperiment.java
	javac -classpath ${CPath} BSTreeExperiment.java
	java -classpath ${CPath} BSTreeExperiment

AVLExperiment: AVLExperiment.java
	javac -classpath ${CPath} AVLExperiment.java
	java -classpath ${CPath} AVLExperiment

AmyClub: AmyClub.java
	javac -classpath ${CPath} AmyClub.java
	java -classpath ${CPath} AmyClub

OpenExperiment: OpenExperiment.java
	javac -classpath ${CPath} OpenExperiment.java
	java -classpath ${CPath} OpenExperiment

Cluster: Cluster.java
	javac -classpath ${CPath} Cluster.java
	java -classpath ${CPath} Cluster

HashExperiment: HashExperiment.java
	javac -classpath ${CPath} HashExperiment.java
	java -classpath ${CPath} HashExperiment

SpellCheck: SpellCheck.java
	javac -classpath ${CPath} SpellCheck.java
	java -classpath ${CPath} SpellCheck

Sieve: Sieve.java
	javac -classpath ${CPath} Sieve.java
	java -classpath ${CPath} Sieve

SetExperiment: SetExperiment.java
	javac -classpath ${CPath} SetExperiment.java
	java -classpath ${CPath} SetExperiment

SillySentence2: SillySentence2.java
	javac -classpath ${CPath} SillySentence2.java
	java -classpath ${CPath} SillySentence2 grammar

AddressBook: AddressBook.java
	javac -classpath ${CPath} AddressBook.java
	java -classpath ${CPath} AddressBook

Concordance: Concordance.java
	javac -classpath ${CPath} MultiMap.java Concordance.java
	java -classpath ${CPath} Concordance <words

MapExperiment: MapExperiment.java
	javac -classpath ${CPath} MapExperiment.java
	java -classpath ${CPath} MapExperiment

Rain: Rain.java
	javac -classpath ${CPath} Rain.java
	java -classpath ${CPath} Rain

Life: Life.java
	javac -classpath ${CPath} Life.java
	java -classpath ${CPath} Life l2

Warshall: Warshall.java
	javac -classpath ${CPath} Warshall.java
	java -classpath ${CPath} Warshall

Floyd: Floyd.java
	javac -classpath ${CPath} Floyd.java
	java -classpath ${CPath} Floyd 

WVertex: WVertex.java
	javac -classpath ${CPath} WVertex.java
	java -classpath ${CPath} WVertex

RemoveTree: RemoveTree.java
	javac -classpath ${CPath} RemoveTree.java
	java -classpath ${CPath} RemoveTree

Test: Test.java
	javac -classpath ${CPath} Test.java
	java -classpath ${CPath} Test

clean:
	rm -f *.class
