CFLAGS = -O 
CC = cc
OBJS = util/pathnames.sig.o \
util/pathnames.sml.o \
util/errormsg.sig.o \
util/errormsg.sml.o \
util/dynamic.sml.o \
util/sort.sml.o \
util/sortedlist.sml.o \
util/list2.sml.o \
util/intmap.sig.o \
util/intmap.sml.o \
util/intstrmap.sig.o \
util/intstrmap.sml.o \
util/intset.sml.o \
util/strghash.sml.o \
util/union.sml.o \
util/arrayext.sml.o \
util/ascii.sml.o \
basics/symbol.sig.o \
env/env.sig.o \
env/env.sml.o \
basics/fixity.sig.o \
basics/fixity.sml.o \
basics/printutil.sig.o \
basics/printutil.sml.o \
basics/primop.sig.o \
basics/access.sig.o \
basics/access.sml.o \
basics/stamps.sig.o \
basics/stamps.sml.o \
basics/types.sig.o \
basics/types.sml.o \
basics/variables.sig.o \
basics/variables.sml.o \
basics/tuples.sml.o \
basics/basictypes.sig.o \
basics/basictypes.sml.o \
basics/typesutil.sig.o \
basics/typesutil.sml.o \
basics/unify.sig.o \
basics/unify.sml.o \
basics/conrep.sig.o \
basics/conrep.sml.o \
modules/modules.sig.o \
modules/modules.sml.o \
modules/moduleutil.sig.o \
modules/moduleutil.sml.o \
basics/eqtypes.sig.o \
basics/eqtypes.sml.o \
env/prim.sml.o \
env/coreinfo.sig.o \
env/coreinfo.sml.o \
basics/printtype.sml.o \
basics/printbas.sml.o \
modules/instantiate.sml.o \
modules/sigmatch.sig.o \
modules/sigmatch.sml.o \
modules/abstractfct.sml.o \
modules/applyfct.sml.o \
basics/lambda.sml.o \
absyn/bareabsyn.sig.o \
absyn/bareabsyn.sml.o \
absyn/absyn.sml.o \
absyn/printabsyn.sml.o \
build/index.sml.o \
typing/overload.sig.o \
typing/overload.sml.o \
typing/typecheck.sig.o \
typing/typecheck.sml.o \
print/printval.sig.o \
print/printval.sml.o \
print/printdec.sig.o \
print/printdec.sml.o \
parse/tyvarset.sml.o \
parse/misc.sig.o \
parse/misc.sml.o \
parse/corelang.sml.o \
parse/normalize.sml.o \
parse/signs.sml.o \
parse/strs.sml.o \
parse/base.sml.o \
parse/ml.grm.sig.o \
parse/ml.grm.sml.o \
lex/ml.lex.sml.o \
parse/parse.sml.o \
codegen/opt.sml.o \
codegen/interp.sml.o \
translate/mcprint.sml.o \
translate/mcopt.sml.o \
translate/mc.sml.o \
translate/nonrec.sml.o \
translate/equal.sml.o \
translate/unboxed.sml.o \
translate/inlineops.sig.o \
translate/inlineops.sml.o \
translate/translate.sml.o \
build/prof.sml.o \
build/linkage.sml.o \
c/cinterp.sml.o

smli:	$(OBJS)
	$(CC) $(CFLAGS) -o $@ $(OBJS) -lsml2c -lm

util/pathnames.sig.o:	util/pathnames.sig.c
	$(CC) $(CFLAGS) -c -o $@ util/pathnames.sig.c

util/pathnames.sml.o:	util/pathnames.sml.c
	$(CC) $(CFLAGS) -c -o $@ util/pathnames.sml.c

util/errormsg.sig.o:	util/errormsg.sig.c
	$(CC) $(CFLAGS) -c -o $@ util/errormsg.sig.c

util/errormsg.sml.o:	util/errormsg.sml.c
	$(CC) $(CFLAGS) -c -o $@ util/errormsg.sml.c

util/dynamic.sml.o:	util/dynamic.sml.c
	$(CC) $(CFLAGS) -c -o $@ util/dynamic.sml.c

util/sort.sml.o:	util/sort.sml.c
	$(CC) $(CFLAGS) -c -o $@ util/sort.sml.c

util/sortedlist.sml.o:	util/sortedlist.sml.c
	$(CC) $(CFLAGS) -c -o $@ util/sortedlist.sml.c

util/list2.sml.o:	util/list2.sml.c
	$(CC) $(CFLAGS) -c -o $@ util/list2.sml.c

util/intmap.sig.o:	util/intmap.sig.c
	$(CC) $(CFLAGS) -c -o $@ util/intmap.sig.c

util/intmap.sml.o:	util/intmap.sml.c
	$(CC) $(CFLAGS) -c -o $@ util/intmap.sml.c

util/intstrmap.sig.o:	util/intstrmap.sig.c
	$(CC) $(CFLAGS) -c -o $@ util/intstrmap.sig.c

util/intstrmap.sml.o:	util/intstrmap.sml.c
	$(CC) $(CFLAGS) -c -o $@ util/intstrmap.sml.c

util/intset.sml.o:	util/intset.sml.c
	$(CC) $(CFLAGS) -c -o $@ util/intset.sml.c

util/strghash.sml.o:	util/strghash.sml.c
	$(CC) $(CFLAGS) -c -o $@ util/strghash.sml.c

util/union.sml.o:	util/union.sml.c
	$(CC) $(CFLAGS) -c -o $@ util/union.sml.c

util/arrayext.sml.o:	util/arrayext.sml.c
	$(CC) $(CFLAGS) -c -o $@ util/arrayext.sml.c

util/ascii.sml.o:	util/ascii.sml.c
	$(CC) $(CFLAGS) -c -o $@ util/ascii.sml.c

basics/symbol.sig.o:	basics/symbol.sig.c
	$(CC) $(CFLAGS) -c -o $@ basics/symbol.sig.c

env/env.sig.o:	env/env.sig.c
	$(CC) $(CFLAGS) -c -o $@ env/env.sig.c

env/env.sml.o:	env/env.sml.c
	$(CC) $(CFLAGS) -c -o $@ env/env.sml.c

basics/fixity.sig.o:	basics/fixity.sig.c
	$(CC) $(CFLAGS) -c -o $@ basics/fixity.sig.c

basics/fixity.sml.o:	basics/fixity.sml.c
	$(CC) $(CFLAGS) -c -o $@ basics/fixity.sml.c

basics/printutil.sig.o:	basics/printutil.sig.c
	$(CC) $(CFLAGS) -c -o $@ basics/printutil.sig.c

basics/printutil.sml.o:	basics/printutil.sml.c
	$(CC) $(CFLAGS) -c -o $@ basics/printutil.sml.c

basics/primop.sig.o:	basics/primop.sig.c
	$(CC) $(CFLAGS) -c -o $@ basics/primop.sig.c

basics/access.sig.o:	basics/access.sig.c
	$(CC) $(CFLAGS) -c -o $@ basics/access.sig.c

basics/access.sml.o:	basics/access.sml.c
	$(CC) $(CFLAGS) -c -o $@ basics/access.sml.c

basics/stamps.sig.o:	basics/stamps.sig.c
	$(CC) $(CFLAGS) -c -o $@ basics/stamps.sig.c

basics/stamps.sml.o:	basics/stamps.sml.c
	$(CC) $(CFLAGS) -c -o $@ basics/stamps.sml.c

basics/types.sig.o:	basics/types.sig.c
	$(CC) $(CFLAGS) -c -o $@ basics/types.sig.c

basics/types.sml.o:	basics/types.sml.c
	$(CC) $(CFLAGS) -c -o $@ basics/types.sml.c

basics/variables.sig.o:	basics/variables.sig.c
	$(CC) $(CFLAGS) -c -o $@ basics/variables.sig.c

basics/variables.sml.o:	basics/variables.sml.c
	$(CC) $(CFLAGS) -c -o $@ basics/variables.sml.c

basics/tuples.sml.o:	basics/tuples.sml.c
	$(CC) $(CFLAGS) -c -o $@ basics/tuples.sml.c

basics/basictypes.sig.o:	basics/basictypes.sig.c
	$(CC) $(CFLAGS) -c -o $@ basics/basictypes.sig.c

basics/basictypes.sml.o:	basics/basictypes.sml.c
	$(CC) $(CFLAGS) -c -o $@ basics/basictypes.sml.c

basics/typesutil.sig.o:	basics/typesutil.sig.c
	$(CC) $(CFLAGS) -c -o $@ basics/typesutil.sig.c

basics/typesutil.sml.o:	basics/typesutil.sml.c
	$(CC) $(CFLAGS) -c -o $@ basics/typesutil.sml.c

basics/unify.sig.o:	basics/unify.sig.c
	$(CC) $(CFLAGS) -c -o $@ basics/unify.sig.c

basics/unify.sml.o:	basics/unify.sml.c
	$(CC) $(CFLAGS) -c -o $@ basics/unify.sml.c

basics/conrep.sig.o:	basics/conrep.sig.c
	$(CC) $(CFLAGS) -c -o $@ basics/conrep.sig.c

basics/conrep.sml.o:	basics/conrep.sml.c
	$(CC) $(CFLAGS) -c -o $@ basics/conrep.sml.c

modules/modules.sig.o:	modules/modules.sig.c
	$(CC) $(CFLAGS) -c -o $@ modules/modules.sig.c

modules/modules.sml.o:	modules/modules.sml.c
	$(CC) $(CFLAGS) -c -o $@ modules/modules.sml.c

modules/moduleutil.sig.o:	modules/moduleutil.sig.c
	$(CC) $(CFLAGS) -c -o $@ modules/moduleutil.sig.c

modules/moduleutil.sml.o:	modules/moduleutil.sml.c
	$(CC) $(CFLAGS) -c -o $@ modules/moduleutil.sml.c

basics/eqtypes.sig.o:	basics/eqtypes.sig.c
	$(CC) $(CFLAGS) -c -o $@ basics/eqtypes.sig.c

basics/eqtypes.sml.o:	basics/eqtypes.sml.c
	$(CC) $(CFLAGS) -c -o $@ basics/eqtypes.sml.c

env/prim.sml.o:	env/prim.sml.c
	$(CC) $(CFLAGS) -c -o $@ env/prim.sml.c

env/coreinfo.sig.o:	env/coreinfo.sig.c
	$(CC) $(CFLAGS) -c -o $@ env/coreinfo.sig.c

env/coreinfo.sml.o:	env/coreinfo.sml.c
	$(CC) $(CFLAGS) -c -o $@ env/coreinfo.sml.c

basics/printtype.sml.o:	basics/printtype.sml.c
	$(CC) $(CFLAGS) -c -o $@ basics/printtype.sml.c

basics/printbas.sml.o:	basics/printbas.sml.c
	$(CC) $(CFLAGS) -c -o $@ basics/printbas.sml.c

modules/instantiate.sml.o:	modules/instantiate.sml.c
	$(CC) $(CFLAGS) -c -o $@ modules/instantiate.sml.c

modules/sigmatch.sig.o:	modules/sigmatch.sig.c
	$(CC) $(CFLAGS) -c -o $@ modules/sigmatch.sig.c

modules/sigmatch.sml.o:	modules/sigmatch.sml.c
	$(CC) $(CFLAGS) -c -o $@ modules/sigmatch.sml.c

modules/abstractfct.sml.o:	modules/abstractfct.sml.c
	$(CC) $(CFLAGS) -c -o $@ modules/abstractfct.sml.c

modules/applyfct.sml.o:	modules/applyfct.sml.c
	$(CC) $(CFLAGS) -c -o $@ modules/applyfct.sml.c

basics/lambda.sml.o:	basics/lambda.sml.c
	$(CC) $(CFLAGS) -c -o $@ basics/lambda.sml.c

absyn/bareabsyn.sig.o:	absyn/bareabsyn.sig.c
	$(CC) $(CFLAGS) -c -o $@ absyn/bareabsyn.sig.c

absyn/bareabsyn.sml.o:	absyn/bareabsyn.sml.c
	$(CC) $(CFLAGS) -c -o $@ absyn/bareabsyn.sml.c

absyn/absyn.sml.o:	absyn/absyn.sml.c
	$(CC) $(CFLAGS) -c -o $@ absyn/absyn.sml.c

absyn/printabsyn.sml.o:	absyn/printabsyn.sml.c
	$(CC) $(CFLAGS) -c -o $@ absyn/printabsyn.sml.c

build/index.sml.o:	build/index.sml.c
	$(CC) $(CFLAGS) -c -o $@ build/index.sml.c

typing/overload.sig.o:	typing/overload.sig.c
	$(CC) $(CFLAGS) -c -o $@ typing/overload.sig.c

typing/overload.sml.o:	typing/overload.sml.c
	$(CC) $(CFLAGS) -c -o $@ typing/overload.sml.c

typing/typecheck.sig.o:	typing/typecheck.sig.c
	$(CC) $(CFLAGS) -c -o $@ typing/typecheck.sig.c

typing/typecheck.sml.o:	typing/typecheck.sml.c
	$(CC) $(CFLAGS) -c -o $@ typing/typecheck.sml.c

print/printval.sig.o:	print/printval.sig.c
	$(CC) $(CFLAGS) -c -o $@ print/printval.sig.c

print/printval.sml.o:	print/printval.sml.c
	$(CC) $(CFLAGS) -c -o $@ print/printval.sml.c

print/printdec.sig.o:	print/printdec.sig.c
	$(CC) $(CFLAGS) -c -o $@ print/printdec.sig.c

print/printdec.sml.o:	print/printdec.sml.c
	$(CC) $(CFLAGS) -c -o $@ print/printdec.sml.c

parse/tyvarset.sml.o:	parse/tyvarset.sml.c
	$(CC) $(CFLAGS) -c -o $@ parse/tyvarset.sml.c

parse/misc.sig.o:	parse/misc.sig.c
	$(CC) $(CFLAGS) -c -o $@ parse/misc.sig.c

parse/misc.sml.o:	parse/misc.sml.c
	$(CC) $(CFLAGS) -c -o $@ parse/misc.sml.c

parse/corelang.sml.o:	parse/corelang.sml.c
	$(CC) $(CFLAGS) -c -o $@ parse/corelang.sml.c

parse/normalize.sml.o:	parse/normalize.sml.c
	$(CC) $(CFLAGS) -c -o $@ parse/normalize.sml.c

parse/signs.sml.o:	parse/signs.sml.c
	$(CC) $(CFLAGS) -c -o $@ parse/signs.sml.c

parse/strs.sml.o:	parse/strs.sml.c
	$(CC) $(CFLAGS) -c -o $@ parse/strs.sml.c

parse/base.sml.o:	parse/base.sml.c
	$(CC) $(CFLAGS) -c -o $@ parse/base.sml.c

parse/ml.grm.sig.o:	parse/ml.grm.sig.c
	$(CC) $(CFLAGS) -c -o $@ parse/ml.grm.sig.c

parse/ml.grm.sml.o:	parse/ml.grm.sml.c
	$(CC) $(CFLAGS) -c -o $@ parse/ml.grm.sml.c

lex/ml.lex.sml.o:	lex/ml.lex.sml.c
	$(CC) $(CFLAGS) -c -o $@ lex/ml.lex.sml.c

parse/parse.sml.o:	parse/parse.sml.c
	$(CC) $(CFLAGS) -c -o $@ parse/parse.sml.c

codegen/opt.sml.o:	codegen/opt.sml.c
	$(CC) $(CFLAGS) -c -o $@ codegen/opt.sml.c

codegen/interp.sml.o:	codegen/interp.sml.c
	$(CC) $(CFLAGS) -c -o $@ codegen/interp.sml.c

translate/mcprint.sml.o:	translate/mcprint.sml.c
	$(CC) $(CFLAGS) -c -o $@ translate/mcprint.sml.c

translate/mcopt.sml.o:	translate/mcopt.sml.c
	$(CC) $(CFLAGS) -c -o $@ translate/mcopt.sml.c

translate/mc.sml.o:	translate/mc.sml.c
	$(CC) $(CFLAGS) -c -o $@ translate/mc.sml.c

translate/nonrec.sml.o:	translate/nonrec.sml.c
	$(CC) $(CFLAGS) -c -o $@ translate/nonrec.sml.c

translate/equal.sml.o:	translate/equal.sml.c
	$(CC) $(CFLAGS) -c -o $@ translate/equal.sml.c

translate/unboxed.sml.o:	translate/unboxed.sml.c
	$(CC) $(CFLAGS) -c -o $@ translate/unboxed.sml.c

translate/inlineops.sig.o:	translate/inlineops.sig.c
	$(CC) $(CFLAGS) -c -o $@ translate/inlineops.sig.c

translate/inlineops.sml.o:	translate/inlineops.sml.c
	$(CC) $(CFLAGS) -c -o $@ translate/inlineops.sml.c

translate/translate.sml.o:	translate/translate.sml.c
	$(CC) $(CFLAGS) -c -o $@ translate/translate.sml.c

build/prof.sml.o:	build/prof.sml.c
	$(CC) $(CFLAGS) -c -o $@ build/prof.sml.c

build/linkage.sml.o:	build/linkage.sml.c
	$(CC) $(CFLAGS) -c -o $@ build/linkage.sml.c

c/cinterp.sml.o:	c/cinterp.sml.c
	$(CC) $(CFLAGS) -c -o $@ c/cinterp.sml.c


