Files
mercury/tests/invalid/Mmakefile
Mark Brown 784dc26cab Fix bugs that were stopping *.res and *.out files being cleaned up properly.
Estimated hours taken: 0.5

Fix bugs that were stopping *.res and *.out files being cleaned up properly.

tests/Mmake.common:
tests/general/accumulator/Mmakefile:
tests/invalid/Mmakefile:
tests/misc_tests/Mmakefile:
tests/tabling/Mmakefile:
tests/term/Mmakefile:
tests/valid/Mmakefile:
tests/warnings/Mmakefile:
	Make cleaning tasks depend on (real)clean_local rather than
	(real)clean.  This is because tests/startup and tests/shutdown
	use the *_local targets.

tests/general/Mmakefile:
	Fix bugs in the recursive mmake calls.
1999-07-14 17:04:41 +00:00

125 lines
3.1 KiB
Plaintext

#-----------------------------------------------------------------------------#
main_target: check
include ../Mmake.common
#-----------------------------------------------------------------------------#
SOURCES= \
aditi_update_errors.m \
aditi_update_mode_errors.m \
any_mode.m \
bigtest.m \
bind_var_errors.m \
circ_type.m \
constructor_warning.m \
det_errors.m \
duplicate_modes.m \
errors.m \
errors1.m \
errors2.m \
external.m \
ext_type_bug.m \
func_errors.m \
funcs_as_preds.m \
ho_type_mode_bug.m \
ho_unique_error.m \
inline_conflict.m \
io_in_ite_cond.m \
missing_det_decls.m \
missing_interface_import.m \
modes_erroneous.m \
mostly_uniq1.m \
mostly_uniq2.m \
multisoln_func.m \
nested_impl_in_int.m \
no_exports.m \
nullary_ho_func_error.m \
occurs.m \
partial_implied_mode.m \
polymorphic_unification.m \
pragma_c_code_and_clauses1.m \
pragma_c_code_and_clauses2.m \
pragma_c_code_no_det.m \
predmode.m \
prog_io_erroneous.m \
qual_basic_test2.m \
qualified_cons_id2.m \
some.m \
spurious_mode_error.m \
test_nested.m \
type_inf_loop.m \
type_loop.m \
type_mismatch.m \
typeclass_test_1.m \
typeclass_test_2.m \
typeclass_test_3.m \
typeclass_test_4.m \
typeclass_test_5.m \
typeclass_test_7.m \
typeclass_test_9.m \
types.m \
type_spec.m \
unbound_inst_var.m \
undef_lambda_mode.m \
undef_mode.m \
undef_symbol.m \
undef_type.m \
uniq_modes.m \
uu_type.m \
vars_in_wrong_places.m
# we do not yet pass the following tests:
# parent.undeclared_child.m (just not yet implemented)
# sub_b.m and sub_c.m (bug with dependencies & nested modules)
# freefree.m (need bromage's aliasing stuff)
# typeclass_test_8.m (minor formatting error in the output --
# the type class name should be in quotes)
MCFLAGS-aditi_update_errors = --aditi
MCFLAGS-aditi_update_mode_errors = --aditi
MCFLAGS-multisoln_func = --infer-types
MCFLAGS-any_mode = --infer-types
MCFLAGS-duplicate_modes = --verbose-error-messages
MCFLAGS-missing_interface_import = --make-interface
MCFLAGS-no_exports = --halt-at-warn
MCFLAGS-sub_c = --verbose-error-messages
# The bug is caught when generating dependencies, so it is
# easiest just to do that step.
MCFLAGS-nested_impl_in_int = --generate-dependencies
DEPS= $(SOURCES:%.m=%.dep)
DEPENDS= $(SOURCES:%.m=%.depend)
ERRS= $(SOURCES:%.m=%.err)
ERR_RESS= $(SOURCES:%.m=%.err_res)
%.err: %.m
if $(MC) $(ALL_MCFLAGS) --errorcheck-only $* > $*.err 2>&1; \
then false; else true; fi
# Some tests have more than one possible valid output, so
# we allow the test to pass if it matches *either* the .err_exp
# or the .err_exp2 file.
%.err_res: %.err %.err_exp
-rm -f $@
diff -c $*.err_exp $*.err > $@ || \
{ [ -f $*.err_exp2 ] && diff -c $*.err_exp2 $*.err > $@; }
all: check
check: $(ERRS) $(ERR_RESS)
errs: $(ERRS)
# We only need to make the dependencies for test cases consisting of
# multiple modules; currently the following are the only such cases.
depend: aditi_update_errors.depend aditi_update_mode_errors.depend \
test_nested.depend partial_implied_mode.depend
clean_local:
rm -f *.err *.err_res
#-----------------------------------------------------------------------------#