#  Makefile for "toba"
#
#  "make classes" builds the class files needed to run Toba and Lister
#  with a java interpretter
#
#  "make package" builds the TOBA package with toba classes used
#  in the runtime.
#
#  Copyright 1996, 1997 Arizona Board of Regents;
#  see COPYRIGHT file for details.


CC = cc
CFLAGS = -I../packages/API/include -I../packages/SUN/include \
         -I../runtime $(CBUILD)

JAVAC = CLASSPATH=.. javac
TOBA = ../bin/toba $(TBUILD)

.SUFFIXES: .java .class
.java.class:	; $(JAVAC) $<


default:  classes


# classreading library source, class, .c, and .o files
LSRC = ClassFile.java ClassData.java Supers.java Names.java \
	Pair.java Ref.java Field.java Attribute.java Constant.java \
	Method.java Handler.java Instr.java Opcode.java
LCLASSES = $(LSRC:.java=.class)

# toba program -- class file translator
TSRC = Trans.java HFile.java CFile.java ClassInstall.java \
	MethGen.java InsGen.java Repr.java $(LSRC)
TCLASSES = $(TSRC:.java=.class)


#  build the classes needed to run Toba and Lister using the Java interpreter

classes: $(TCLASSES) Lister.class

# Build to TOBA package.  
# Must have previously  built the API package.
package: toba.done

toba.done: $(LCLASSES)
	rm -rf ../packages/TOBA
	$(TOBA) -J -I ../runtime -P ../packages/TOBA $(LCLASSES)
	touch toba.done toba.updated


#  clean up everything

clean:
	rm -rf *.class toba_*.[cho] toba.done ../packages/TOBA 

