Makefile

PACKAGE 	        = javaterrain
SRCDIR			= com/devnullsoftware/$(PACKAGE)/
DESTDIR		 	= gen/
CLASSDIR	 	= $(DESTDIR)$(SRCDIR)
JAVADOCDIR	 	= javadoc/
INSTALLDIR		= /net/janus/export/home/etc/httpd/htdocs/$(PACKAGE)/
HTML			= index.html
LIBDIR			= lib/
JAVA		 	= /nfs/io/usr6/java/jdk1.2fcs
CLASSPATH               = .:$(CLASSDIR)
JAVAFLAGS               = -g -d $(DESTDIR)
PATH                    += :$(JAVA)/bin
export JAVA CLASSPATH PATH

DIRS =                                                                  \
	$(DESTDIR)							\
	$(CLASSDIR)img							\
	$(JAVADOCDIR)

CLASSES =                                                               \
	$(CLASSDIR)Main.class						\
	$(CLASSDIR)Hex.class						\
	$(CLASSDIR)Map.class						\
	$(CLASSDIR)MapCanvas.class					\
	$(CLASSDIR)MapParams.class					\
	$(CLASSDIR)MapWindow.class

RESOURCES = \
	img/DeepOcean.gif						\
	img/Desert.gif							\
	img/Forest.gif							\
	img/Ice.gif							\
	img/ImpassableMountains.gif					\
	img/Jungle.gif							\
	img/Mountains.gif						\
	img/Ocean.gif							\
	img/Savannah.gif						\
	img/Steppe.gif							\
	img/Swamp.gif							\
	img/Tundra.gif

all: $(DIRS) $(CLASSES) $(RESOURCES) CONVERT_HTML MK_JAR_FILE

$(DIRS):
	mkdir -p $@

$(CLASSES): $(CLASSDIR)%.class: $(SRCDIR)%.java
	$(JAVA)/bin/javac $(JAVAFLAGS) $(CURDIR)$<

$(RESOURCES): $(DESTDIR)$@
	cp $@ $(CLASSDIR)$@

CONVERT_HTML:
	$(RM) $(LIBDIR)$(HTML)
	cp $(HTML) $(LIBDIR)
	cd $(LIBDIR); $(JAVA)/bin/java -classpath .:./Convert.jar JAConverter $(HTML) -template extend.tpl
	$(RM) -rf $(LIBDIR)convertlog.txt lib_BAK
	mv $(LIBDIR)$(HTML) $(DESTDIR)

MK_JAR_FILE:
	$(RM) $(DESTDIR)$(PACKAGE).jar
	cd $(DESTDIR); $(JAVA)/bin/jar cf $(PACKAGE).jar com edu matthew

# other targets
doc:	$(JAVADOCDIR)
	$(JAVA)/bin/javadoc -d $(JAVADOCDIR) -package com.devnullsoftware.$(PACKAGE) com.devnullsoftware.config com.devnullsoftware.objlist com.devnullsoftware.swingutils edu.cornell.lassp.houle.RngPack matthew.awt

clean:
	$(RM) -r $(DESTDIR) $(INSTALLDIR)

# ??? devel use only

install: MK_INSTALL_DIR
	$(RM) $(INSTALLDIR)$(PACKAGE).jar $(INSTALLDIR)$(HTML)
	cp $(DESTDIR)$(PACKAGE).jar $(INSTALLDIR)/$(PACKAGE).jar
	cp $(DESTDIR)*.html $(INSTALLDIR)

MK_INSTALL_DIR:
	mkdir -p $(INSTALLDIR)

# Inferences
.SUFFIXES: # remove all internal inferred rules