#
# Makefile for CountPaths project.
# Author: Miles V. Aronnax <miles@aronnax.net>
# SVN: $Id: Makefile 48 2010-12-28 01:43:56Z rassilon $
#
JC=javac
JX=java
PKG=net.aronnax.CountPaths
PTH=net/aronnax/CountPaths

default: run

all:	clean $(PTH)/CLI.class

clean:	
	rm -f $(PTH)/*.class CountPaths*.jar
	rm -rf doc

jar:	clean $(PTH)/CLI.class manifest.CLI $(PTH)/GUI.class manifest.GUI $(PTH)/Applet.class doc
	jar cfm CountPathsCLI.jar manifest.CLI $(PTH)/*.* Makefile manifest.* doc/* *.html *.txt
	jar cfm CountPathsGUI.jar manifest.GUI $(PTH)/*.* Makefile manifest.* doc/* *.html *.txt

doc:	
	rm -rf doc
	mkdir doc
	javadoc -version $(PTH)/*.java -d doc/

run:	rungui

runcli: $(PTH)/CLI.class
	$(JX) $(PKG).CLI

rungui: $(PTH)/GUI.class
	$(JX) $(PKG).GUI

$(PTH)/Applet.class: $(PTH)/Applet.java $(PTH)/GUI.class
	$(JC) $(PTH)/Applet.java

$(PTH)/GUI.class: $(PTH)/GUI.java $(PTH)/CountPaths.class $(PTH)/Path.class $(PTH)/Vertex.class
	$(JC) $(PTH)/GUI.java

$(PTH)/CLI.class: $(PTH)/CLI.java $(PTH)/CountPaths.class $(PTH)/Path.class $(PTH)/Vertex.class
	$(JC) $(PTH)/CLI.java

$(PTH)/CountPaths.class: $(PTH)/CountPaths.java $(PTH)/Path.class $(PTH)/Vertex.class
	$(JC) $(PTH)/CountPaths.java

$(PTH)/Path.class: $(PTH)/Path.java $(PTH)/Vertex.class
	$(JC) $(PTH)/Path.java

$(PTH)/Vertex.class: $(PTH)/Vertex.java
	$(JC) $(PTH)/Vertex.java

# Create Synonyms for probable typos.
jars:	jar
jarcli: clijar
clijar:	jar
clirun: runcli
jargui: guijar
guijar: jar
guirun: rungui

# EOF
