#
# $Id: Makefile,v 1.3 1998/03/10 18:20:51 descarte Exp descarte $
#
# Makefile
#
# Makefile for building the Magician Java ``Ideas In Motion'' demo.
#
# $Log: Makefile,v $
# Revision 1.3  1998/03/10 18:20:51  descarte
# Added stub objects to clean target.
#
# Revision 1.2  1998/03/10 18:10:15  descarte
# Removed spurious subdirs crap from ``clean'' target.
#
# Revision 1.1  1998/03/10 16:05:38  descarte
# Initial revision
#
#

CLASSES_TOP=../../../../../../../classes
APPLETS_TOP=../../../../../../../applets
SOURCE_TOP=../../../../../
PACKAGE=com/hermetica/magician/demos/ideas
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

JSRCS=i.java \
      d.java \
      e.java \
      a.java \
      s.java \
      n.java \
      m.java \
      o.java \
      t.java \
      logo.java \
      shadow.java \
      lamp.java
JOBJS=$(addprefix $(CLASSES_TOP)/$(PACKAGE)/, $(JSRCS:.java=.class) )
JSTUBSRCS=track.java.stub
JSTUBOBJS=$(addprefix $(CLASSES_TOP)/$(PACKAGE)/, $(JSTUBSRCS:.java.stub=.class) )

.SUFFIXES: .java
.SUFFIXES: .class

all: $(JOBJS) $(JSTUBOBJS) copyclasses

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

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

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

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

copyclasses:
	@( for i in $(JSRCS:.java=.class); do \
	( cp $(CLASSES_TOP)/$(PACKAGE)/$$i $(APPLETS_TOP)/$(PACKAGE)/$$i )\
	done )

clean:
	@( for i in $(JOBJS) $(JSTUBOBJS); do \
	( echo "Cleaning $$i" ; rm -f $$i )\
	done )
