# Unix makefile for the SML-JVM toolkit
# (works with GNU make 3.74)
#
# Peter Bertelsen
# February 1998


# Edit MOSMLHOME to suit your installation; it should specify the
# absolute path to the directory in which Moscow ML is installed:
#MOSMLHOME=/usr/mosml

include ../Makefile.setup
MOSMLHOME ?= $(mosmldir)


# ---------- You shouldn't need to edit below this line ------------

MOSMLRUN=$(MOSMLHOME)/bin/camlrunm
MOSMLTOOLS=$(MOSMLHOME)/tools
MOSMLCUT=$(MOSMLRUN) $(MOSMLTOOLS)/cutdeps
MOSMLDEP=$(MOSMLRUN) $(MOSMLTOOLS)/mosmldep
MOSMLC=mosmlc -c
SHELL=/bin/sh

.PHONY :  all depend clean

all :  $(subst .sml,.uo,$(wildcard *.sml))

%.ui :  %.sig
	$(MOSMLC) $(COMPFLAGS) $<

%.uo :  %.sml
	$(MOSMLC) $(COMPFLAGS) $<

depend:
	/bin/rm -f Makefile.bak
	mv Makefile Makefile.bak
	$(MOSMLCUT) < Makefile.bak > Makefile
	$(MOSMLDEP) >> Makefile

clean:
	/bin/rm -f Makefile.bak $(wildcard *.ui *.uo *~)

### DO NOT DELETE THIS LINE
Inflate.uo: Inflate.ui
EstimateJumps.ui: Bytecode.uo
ZipReader.uo: ZipReader.ui Inflate.ui
Stackdepth.ui: Label.ui Bytecode.uo
Emitcode.ui: Label.ui Constpool.ui Bytecode.uo Jvmtype.ui
Constpool.ui: Word32.ui Word16.ui Int64.ui Real64.ui Bytecode.uo Jvmtype.ui \
    Int32.ui Real32.ui
EstimateJumps.uo: EstimateJumps.ui Label.ui Localvar.ui Int64.ui Real64.ui \
    Bytecode.uo Jvmtype.ui Int32.ui Real32.ui
Word64.uo: Word64.ui
Word32.uo: Word32.ui
Word16.uo: Word16.ui
Stackdepth.uo: Stackdepth.ui Label.ui Localvar.ui Bytecode.uo Jvmtype.ui
Real64.uo: Real64.ui
Real32.uo: Real32.ui
Localvar.uo: Localvar.ui
Label.uo: Label.ui
Jvmtype.uo: Jvmtype.ui
IntCvt.uo: Int64.ui Int32.ui
Int64.uo: Int64.ui Word64.ui
Int32.uo: Int32.ui Word32.ui
Emitcode.uo: Emitcode.ui Label.ui Constpool.ui Word16.ui EstimateJumps.ui \
    Int64.ui Localvar.ui Real64.ui Bytecode.uo Jvmtype.ui Int32.ui \
    Real32.ui
Decompile.uo: Label.ui Constpool.ui Word32.ui Word16.ui Localvar.ui \
    Int64.ui Real64.ui Bytecode.uo Jvmtype.ui Classdecl.uo Int32.ui \
    Real32.ui Classfile.uo
Constpool.uo: Constpool.ui Word32.ui Word16.ui Int64.ui Real64.ui \
    Bytecode.uo Jvmtype.ui Int32.ui Real32.ui
Classfile.uo: Constpool.ui Word32.ui Word16.ui Localvar.ui Bytecode.uo \
    Jvmtype.ui Emitcode.ui Classdecl.uo
Classdecl.uo: Label.ui Localvar.ui Bytecode.uo Jvmtype.ui
Bytecode.uo: Label.ui Int64.ui Localvar.ui Real64.ui Jvmtype.ui Int32.ui \
    Real32.ui
