#-----------------------------------------------------------------------------#

main_target: check

include ../Mmake.common

#-----------------------------------------------------------------------------#

SOURCES= \
	any_mode.m \
	bigtest.m \
	circ_type.m \
	constructor_warning.m \
	det_errors.m \
	errors.m \
	errors1.m \
	errors2.m \
	external.m \
	func_errors.m \
	funcs_as_preds.m \
	ho_type_mode_bug.m \
	inline_conflict.m \
	io_in_ite_cond.m \
	missing_det_decls.m \
	modes_erroneous.m \
	mostly_uniq1.m \
	mostly_uniq2.m \
	multisoln_func.m \
	nullary_ho_func_error.m \
	occurs.m \
	pragma_c_code_and_clauses1.m \
	pragma_c_code_and_clauses2.m \
	qual_basic_test2.m \
	type_loop.m \
	type_mismatch.m \
	unbound_inst_var.m \
	undef_lambda_mode.m \
	undef_mode.m \
	undef_type.m

# we do not yet pass the following tests:
#	freefree.m \
#	no_exports.m \
#	prog_io_erroneous.m \
#	qualified_cons_id2.m \
#	types.m

MCFLAGS-multisoln_func	=	--infer-types
MCFLAGS-any_mode	=	--infer-types

DEPS=		$(SOURCES:%.m=%.dep)
DEPENDS=	$(SOURCES:%.m=%.depend)
ERRS=		$(SOURCES:%.m=%.err)
ERR_RESS=	$(SOURCES:%.m=%.err_res)

%.err: %.m
	if $(MC) $(MCFLAGS) --errorcheck-only $* > $*.err 2>&1; \
	then false; else true; fi

%.err_res: %.err %.err_exp
	-rm -f $@
	diff -c $*.err_exp $*.err > $@

all:	check

check:	$(ERRS) $(ERR_RESS)

errs:	$(ERRS)

depend:

clean:
	rm -f *.c *.o *.err *.err2 *.d *.err_res

#-----------------------------------------------------------------------------#
