# Makefile for Java Recurrence code

PACKAGE    = edu.columbia.cpl
PACKAGEDIR = edu/columbia/cpl

JAVADOCS   = http://java.sun.com/j2se/1.4/docs/api/
TITLE      = "Columbia CPL Recurrence 1.1 Specification"

PACKAGESOURCES = \
	$(PACKAGEDIR)/DayAndPosition.java \
	$(PACKAGEDIR)/Duration.java \
	$(PACKAGEDIR)/Recurrence.java

TESTSOURCES = \
	TestCandInstant.java \
	RecurTests.java \
	TestRecur.java \
	RecurStringTests.java \
	TestRecurString.java \
	TestWOY.java \
	TestDST.java

SOURCES = $(PACKAGESOURCES) $(TESTSOURCES)

CLASSES = $(patsubst %.java,%.class,$(SOURCES)) \
	RecurHolder.class

FILES = $(SOURCES) $(CLASSES) \
	Makefile README BUGS algorithm.txt \
	test-output docs

JARFILE = Cal-Code.jar

all: classes docs

classes: $(CLASSES)

clean:
	rm -f $(CLASSES) $(JARFILE)
	rm -rf docs

docs: docs/package-list
docs/package-list: $(PACKAGESOURCES)
	if [ \! -d docs ]; then mkdir docs; fi
	javadoc -d docs -link $(JAVADOCS) \
		-windowtitle $(TITLE) -doctitle $(TITLE) \
		$(PACKAGE)

jar: $(JARFILE)

$(JARFILE): $(FILES)
	jar cvf $(JARFILE) $(FILES)

.PHONY: all classes docs

.SUFFIXES:
.SUFFIXES: .java .class

.java.class:
	javac -g $<

