LIBDIR=$(JDRSRC)/lib
CLASSTREE=uk/ac/uea/cmp/nlct

all	: $(LIBDIR)/jdr.jar $(LIBDIR)/jdrresources.jar \
	  $(LIBDIR)/jpgfdraw.jar $(LIBDIR)/jdrview.jar \
	  $(LIBDIR)/ajr2jdr.jar $(LIBDIR)/ajr2tex.jar \
	  $(LIBDIR)/eps2jdr.jar $(LIBDIR)/jdr2ajr.jar \
	  $(LIBDIR)/jdr2eps.jar $(LIBDIR)/jdr2png.jar \
	  $(LIBDIR)/jdr2svg.jar $(LIBDIR)/jdr2tex.jar 

jdr	: $(LIBDIR)/jdr.jar

jdrresources	: $(LIBDIR)/jdrresources.jar

jpgfdraw	: $(LIBDIR)/jpgfdraw.jar

jdrview	: $(LIBDIR)/drvieww.jar

../lib/resources	:
	cd ../lib ; ln -s ../resources

../lib/jdr.jar	: $(LIBDIR)/jdr.jar

../lib/jdrresources.jar	: $(LIBDIR)/jdrresources.jar

../lib/jdrview.jar	: $(LIBDIR)/jdrview.jar

../lib/jpgfdraw.jar	: $(LIBDIR)/jpgfdraw.jar

../lib/ajr2jdr.jar	: $(LIBDIR)/ajr2jdr.jar

../lib/ajr2tex.jar	: $(LIBDIR)/ajr2tex.jar

../lib/eps2jdr.jar	: $(LIBDIR)/eps2jdr.jar

../lib/jdr2ajr.jar	: $(LIBDIR)/jdr2ajr.jar

../lib/jdr2eps.jar	: $(LIBDIR)/jdr2eps.jar

../lib/jdr2png.jar	: $(LIBDIR)/jdr2png.jar

../lib/jdr2svg.jar	: $(LIBDIR)/jdr2svg.jar

../lib/jdr2tex.jar	: $(LIBDIR)/jdr2tex.jar

$(LIBDIR)/jdr.jar	: classes/$(CLASSTREE)/jdr/JDRObject.class
	cd classes ; \
	jar cvf $(LIBDIR)/jdr.jar \
	$(CLASSTREE)/jdr/*.class \
	$(CLASSTREE)/jdr/io/*.class \
	$(CLASSTREE)/jdr/io/eps/*.class \
	$(CLASSTREE)/jdr/io/eps/operators/*.class \
	$(CLASSTREE)/jdr/marker/*.class

$(LIBDIR)/jdrresources.jar	: jdr classes/$(CLASSTREE)/jdrresources/JDRResources.class \
		jdrresources/icons/*.png \
		../lib/resources
		cd classes ; \
		jar cvf $(LIBDIR)/jdrresources.jar \
		$(CLASSTREE)/jdrresources/*.class \
		$(CLASSTREE)/jdrresources/filter/*.class \
		$(CLASSTREE)/jdrresources/numfield/*.class \
		$(CLASSTREE)/jdrresources/icons/*.{png,pnm}

$(LIBDIR)/jpgfdraw.jar	: jdr jdrresources classes/$(CLASSTREE)/jpgfdraw/JpgfDraw.class \
		  jpgfdraw/Manifest.txt \
		../lib/resources
		cd classes ; \
		jar cmf ../jpgfdraw/Manifest.txt \
	          $(LIBDIR)/jpgfdraw.jar \
		  $(CLASSTREE)/jpgfdraw/*.class \
		  $(CLASSTREE)/jpgfdraw/dialog/*.class

$(LIBDIR)/jdrview.jar	: jdr jdrresources classes/$(CLASSTREE)/jdrview/JDRView.class \
	jdrview/Manifest.txt \
	../lib/resources
	cd classes ; \
	jar cmf ../jdrview/Manifest.txt \
	   $(LIBDIR)/jdrview.jar \
	   $(CLASSTREE)/jdrview/*.class

$(LIBDIR)/ajr2jdr.jar	: classes/$(CLASSTREE)/ajr2jdr/Ajr2Jdr.class \
		  ajr2jdr/Manifest.txt
		cd classes ; \
		jar cmf ../ajr2jdr/Manifest.txt \
	          $(LIBDIR)/ajr2jdr.jar \
		  $(CLASSTREE)/ajr2jdr/*.class

$(LIBDIR)/ajr2tex.jar	: classes/$(CLASSTREE)/ajr2tex/Ajr2Tex.class \
		  ajr2tex/Manifest.txt
		cd classes ; \
		jar cmf ../ajr2tex/Manifest.txt \
	          $(LIBDIR)/ajr2tex.jar \
		  $(CLASSTREE)/ajr2tex/*.class

$(LIBDIR)/eps2jdr.jar	: classes/$(CLASSTREE)/eps2jdr/Eps2Jdr.class \
		  eps2jdr/Manifest.txt
		cd classes ; \
		jar cmf ../eps2jdr/Manifest.txt \
	          $(LIBDIR)/eps2jdr.jar \
		  $(CLASSTREE)/eps2jdr/*.class

$(LIBDIR)/jdr2ajr.jar	: classes/$(CLASSTREE)/jdr2ajr/Jdr2Ajr.class \
		  jdr2ajr/Manifest.txt
		cd classes ; \
		jar cmf ../jdr2ajr/Manifest.txt \
	          $(LIBDIR)/jdr2ajr.jar \
		  $(CLASSTREE)/jdr2ajr/*.class

$(LIBDIR)/jdr2eps.jar	: classes/$(CLASSTREE)/jdr2eps/Jdr2Eps.class \
		  jdr2eps/Manifest.txt
		cd classes ; \
		jar cmf ../jdr2eps/Manifest.txt \
	          $(LIBDIR)/jdr2eps.jar \
		  $(CLASSTREE)/jdr2eps/*.class

$(LIBDIR)/jdr2png.jar	: classes/$(CLASSTREE)/jdr2png/Jdr2Png.class \
		  jdr2png/Manifest.txt
		cd classes; \
		jar cmf ../jdr2png/Manifest.txt \
	          $(LIBDIR)/jdr2png.jar \
		  $(CLASSTREE)/jdr2png/*.class

$(LIBDIR)/jdr2svg.jar	: classes/$(CLASSTREE)/jdr2svg/Jdr2Svg.class \
		  jdr2svg/Manifest.txt
		cd classes ; \
		jar cmf ../jdr2svg/Manifest.txt \
	          $(LIBDIR)/jdr2svg.jar \
		  $(CLASSTREE)/jdr2svg/*.class

$(LIBDIR)/jdr2tex.jar	: classes/$(CLASSTREE)/jdr2tex/Jdr2Tex.class \
		  jdr2tex/Manifest.txt
		cd classes ; \
		jar cmf ../jdr2tex/Manifest.txt \
	          $(LIBDIR)/jdr2tex.jar \
		  $(CLASSTREE)/jdr2tex/*.class

classes/$(CLASSTREE)/jdr/JDRObject.class : \
	classes/$(CLASSTREE)/jdr \
	jdr/*.java \
	jdr/marker/*.java \
	jdr/io/*.java \
	jdr/io/eps/*.java \
	jdr/io/eps/operators/*.java 
	cd jdr ; \
	javac -d ../classes -Xlint:unchecked -Xlint:deprecation \
	  *.java */*.java */*/*.java */*/*/*.java


classes/$(CLASSTREE)/jdrresources/JDRResources.class : \
	classes/$(CLASSTREE)/jdrresources \
	jdrresources/*.java \
	jdrresources/*/*.java 
	cd jdrresources ; \
	javac -d ../classes -Xlint:deprecation -Xlint:unchecked \
	  -cp $(LIBDIR)/jdr.jar:$(LIBDIR)/jh.jar \
	  *.java */*.java

classes/$(CLASSTREE)/jpgfdraw/JpgfDraw.class : \
	jdr jdrresources classes/$(CLASSTREE)/jpgfdraw \
	jpgfdraw/*.java \
	jpgfdraw/*/*.java
	cd jpgfdraw ; \
	javac -d ../classes -Xlint:unchecked -Xlint:deprecation \
	  -cp $(LIBDIR)/jh.jar:$(LIBDIR)/jdr.jar:$(LIBDIR)/jdrresources.jar \
	  *.java */*.java


classes/$(CLASSTREE)/jdrview/JDRView.class : \
	jdr jdrresources classes/$(CLASSTREE)/jdrview \
	jdrview/*.java
	cd jdrview ; \
	javac -d ../classes -Xlint:unchecked  -Xlint:deprecation \
	  -cp $(LIBDIR)/jh.jar:$(LIBDIR)/jdr.jar:$(LIBDIR)/jdrresources.jar \
	  *.java

classes/$(CLASSTREE)/ajr2jdr/Ajr2Jdr.class : \
	classes/$(CLASSTREE)/ajr2jdr \
	ajr2jdr/*.java
	cd ajr2jdr ; \
	javac -d ../classes -Xlint:deprecation -Xlint:unchecked \
	-cp $(LIBDIR)/jdr.jar \
	*.java

classes/$(CLASSTREE)/ajr2tex/Ajr2Tex.class : \
	classes/$(CLASSTREE)/ajr2tex \
	ajr2tex/*.java
	cd ajr2tex ; \
	javac -d ../classes -Xlint:deprecation -Xlint:unchecked \
	-cp $(LIBDIR)/jdr.jar \
	*.java

classes/$(CLASSTREE)/eps2jdr/Eps2Jdr.class : \
	classes/$(CLASSTREE)/eps2jdr \
	eps2jdr/*.java
	cd eps2jdr ; \
	javac -d ../classes -Xlint:deprecation -Xlint:unchecked \
	-cp $(LIBDIR)/jdr.jar:$(LIBDIR)/jdrresources.jar \
	*.java

classes/$(CLASSTREE)/jdr2ajr/Jdr2Ajr.class : \
	classes/$(CLASSTREE)/jdr2ajr \
	jdr2ajr/*.java
	cd jdr2ajr ; \
	javac -d ../classes -Xlint:deprecation -Xlint:unchecked \
	-cp $(LIBDIR)/jdr.jar \
	*.java

classes/$(CLASSTREE)/jdr2eps/Jdr2Eps.class : \
	classes/$(CLASSTREE)/jdr2eps \
	jdr2eps/*.java
	cd jdr2eps ; \
	javac -d ../classes -Xlint:deprecation -Xlint:unchecked \
	-cp $(LIBDIR)/jdr.jar \
	*.java

classes/$(CLASSTREE)/jdr2png/Jdr2Png.class : \
	classes/$(CLASSTREE)/jdr2png \
	jdr2png/*.java
	cd jdr2png ; \
	javac -d ../classes -Xlint:deprecation -Xlint:unchecked \
	-cp $(LIBDIR)/jdr.jar \
	*.java

classes/$(CLASSTREE)/jdr2svg/Jdr2Svg.class : \
	classes/$(CLASSTREE)/jdr2svg \
	jdr2svg/*.java
	cd jdr2svg ; \
	javac -d ../classes -Xlint:deprecation -Xlint:unchecked \
	-cp $(LIBDIR)/jdr.jar \
	*.java

classes/$(CLASSTREE)/jdr2tex/Jdr2Tex.class : \
	classes/$(CLASSTREE)/jdr2tex \
	jdr2tex/*.java
	cd jdr2tex ; \
	javac -d ../classes -Xlint:deprecation -Xlint:unchecked \
	-cp $(LIBDIR)/jdr.jar \
	*.java

classes	:
	mkdir classes

classes/$(CLASSTREE)/ajr2jdr	:
	mkdir -p classes/$(CLASSTREE)/ajr2jdr

classes/$(CLASSTREE)/ajr2tex	:
	mkdir -p classes/$(CLASSTREE)/ajr2tex

classes/$(CLASSTREE)/eps2jdr	:
	mkdir -p classes/$(CLASSTREE)/eps2jdr

classes/$(CLASSTREE)/jdr	:
	mkdir -p classes/$(CLASSTREE)/jdr

classes/$(CLASSTREE)/jdr2ajr	:
	mkdir -p classes/$(CLASSTREE)/jdr2ajr

classes/$(CLASSTREE)/jdr2eps	:
	mkdir -p classes/$(CLASSTREE)/jdr2eps

classes/$(CLASSTREE)/jdr2png	:
	mkdir -p classes/$(CLASSTREE)/jdr2png

classes/$(CLASSTREE)/jdr2svg	:
	mkdir -p classes/$(CLASSTREE)/jdr2svg

classes/$(CLASSTREE)/jdr2tex	:
	mkdir -p classes/$(CLASSTREE)/jdr2tex

classes/$(CLASSTREE)/jdrresources	:
	mkdir -p classes/$(CLASSTREE)/jdrresources
	cd classes/$(CLASSTREE)/jdrresources; ln -s $(JDRSRC)/src/jdrresources/icons


classes/$(CLASSTREE)/jdrview	:
	mkdir -p classes/$(CLASSTREE)/jdrview

classes/$(CLASSTREE)/jpgfdraw	:
	mkdir -p classes/$(CLASSTREE)/jpgfdraw

clean	:
	\rm -f $(LIBDIR)/jdr.jar $(LIBDIR)/jdrresources.jar $(LIBDIR)/jdrview.jar
	\rm -f $(LIBDIR)/jpgfdraw.jar $(LIBDIR)/ajr2jdr.jar $(LIBDIR)/ajr2tex.jar
	\rm -f $(LIBDIR)/eps2jdr.jar $(LIBDIR)/jdr2ajr.jar $(LIBDIR)/jdr2eps.jar $(LIBDIR)/jdr2png.jar
	\rm -f $(LIBDIR)/jdr2svg.jar $(LIBDIR)/jdr2tex.jar
	\rm -f -r classes
