#
# $Id: Makefile,v 1.3 1998/03/18 00:12:34 descarte Exp descarte $
#
# Makefile
#
# Makefile for building the Magician Java demos from glut.
#
# $Log: Makefile,v $
# Revision 1.3  1998/03/18 00:12:34  descarte
# Added ``signal'' demo.
#
# Revision 1.2  1998/03/11 10:48:35  descarte
# Added tessdemo
#
# Revision 1.1  1998/03/10 16:24:10  descarte
# Initial revision
#
#

SUBDIRS=
CLASSES_TOP=../../../../../../../classes
APPLETS_TOP=../../../../../../../applets
SOURCE_TOP=../../../../../
PACKAGE=com/hermetica/magician/demos/glut
JAVAC=javac -d $(CLASSES_TOP) -classpath $(CLASSPATH):$(CLASSES_TOP):$(SOURCE_TOP)
AJAVAC=javac -d $(APPLETS_TOP) -classpath $(CLASSPATH):$(CLASSES_TOP):$(SOURCE_TOP)
GENERATOR=../bin/generateDemo

JSTUBSRCS=\
      spots.java.stub \
      fog.java.stub \
      dinoball.java.stub \
      tessdemo.java.stub \
      fontdemo.java.stub \
      signal.java.stub
JSTUBOBJS=$(addprefix $(CLASSES_TOP)/$(PACKAGE)/, $(JSTUBSRCS:.java.stub=.class) )
JSRCS=dinoshade.java \
      bitfont.java \
      Light.java \
      dinoballTesselator.java \
      tessdemoTesselator.java \
      contour.java
JOBJS=$(addprefix $(CLASSES_TOP)/$(PACKAGE)/, $(JSRCS:.java=.class) )

### Generally broken demos...
OLDJSRCS=

.SUFFIXES: .java
.SUFFIXES: .class

all: $(JSTUBOBJS) $(JOBJS) classcopy

$(JSTUBOBJS): $(CLASSES_TOP)/$(PACKAGE)/%.class: $(APPLETS_TOP) $(CLASSES_TOP) %.java.stub
	$(GENERATOR) app $*.java.stub
	$(JAVAC) $*.java
	$(GENERATOR) applet $*.java.stub
	$(AJAVAC) $*app.java

$(JOBJS): $(CLASSES_TOP)/$(PACKAGE)/%.class: $(CLASSES_TOP) %.java
	$(JAVAC) $*.java

$(CLASSES_TOP):
	@echo "Creating directory for class files"
	@mkdir $(CLASSES_TOP)

$(APPLETS_TOP):
	@echo "Creating directory for applet class files"
	@mkdir $(CLASSES_TOP)

classcopy:
	@( for i in $(CLASSES_TOP)/$(PACKAGE)/Light.class $(CLASSES_TOP)/$(PACKAGE)/dinoballTesselator.class $(CLASSES_TOP)/$(PACKAGE)/tessdemoTesselator.class $(CLASSES_TOP)/$(PACKAGE)/contour.class; do\
	( echo "Copying $$i" ; cp $$i $(APPLETS_TOP)/$(PACKAGE) ) \
	done )

clean:
	@( for i in $(JSTUBOBJS) $(JOBJS) $(CLASSES_TOP)/$(PACKAGE)/Light.class $(CLASSES_TOP)/$(PACKAGE)/dinoballTesselator.class $(CLASSES_TOP)/$(PACKAGE)/dinoshadeTesselator.class $(CLASSES_TOP)/$(PACKAGE)/contour.class $(CLASSES_TOP)/$(PACKAGE)/signalComponent.class $(CLASSES_TOP)/$(PACKAGE)/signalTesselator.class $(CLASSES_TOP)/$(PACKAGE)/tessdemoComponent.class $(CLASSES_TOP)/$(PACKAGE)/tessdemoTesselator.class; do \
	( echo "Cleaning $$i" ; rm -f $$i )\
	done )
