EXE = 
OBJ = o

.SUFFIXES:
.SUFFIXES : .bnf .slm .c .$(OBJ)

.slm.$(OBJ):
	slim $* o

.c.$(OBJ):
	$(CC) -O2 -c -w $*.c -Ic:/slim/slim.r
#	$(CC) -Zi -c -w $*.c -Ic:/slim/slim.r

all: mfl$(EXE)

cbuilder.c: mfl.bnf
	bnf2c mfl

mfl$(EXE):\
 boolean.$(OBJ) boolean_set.$(OBJ) builder.$(OBJ)\
 cbuilder.$(OBJ) character_set.$(OBJ) collection.$(OBJ) component.$(OBJ) custbld.$(OBJ) custwalk.$(OBJ)\
 debug.$(OBJ)\
 enumerated_list.$(OBJ) enumerated_set.$(OBJ) filter.$(OBJ) globals.$(OBJ)\
 mfl.$(OBJ) identifier.$(OBJ) integer_set.$(OBJ) io.$(OBJ) iterator.$(OBJ)\
 lazy.$(OBJ) list.$(OBJ) list_of.$(OBJ)\
 nested_iterator.$(OBJ) number.$(OBJ) number_set.$(OBJ)\
 parser.$(OBJ) pboolean.$(OBJ) pcomponent.$(OBJ) penumerated_list.$(OBJ)\
 penumerated_set.$(OBJ) pfilter.$(OBJ) piterator.$(OBJ)\
 plazy.$(OBJ) pnested_iterator.$(OBJ) pnumber.$(OBJ) proxy_component.$(OBJ)\
 pslot.$(OBJ) pslot_list.$(OBJ) pstepped_range.$(OBJ) pstepped_range_list.$(OBJ)\
 pstepped_range_set.$(OBJ) pstring.$(OBJ) pvalue.$(OBJ)\
 scanner.$(OBJ) scope.$(OBJ) set.$(OBJ) set_of.$(OBJ) slot.$(OBJ) slot_list.$(OBJ)\
 slot_type.$(OBJ) stepped_range.$(OBJ) stepped_range_list.$(OBJ) stepped_range_set.$(OBJ)\
 string.$(OBJ) string_set.$(OBJ) target.$(OBJ) target_list.$(OBJ)\
 value.$(OBJ) value_set.$(OBJ) walker.$(OBJ) 
	sli mfl
