Files
mercury/tests/valid/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

206 lines
4.8 KiB
Plaintext

#-----------------------------------------------------------------------------#
main_target: all
include ../Mmake.common
#-----------------------------------------------------------------------------#
# please keep these lists sorted
AGC_SOURCES= \
agc_graph.m \
agc_ho_pred.m \
agc_ite.m \
agc_unbound_typevars.m \
agc_unbound_typevars2.m \
agc_unused_in.m
TRAIL_SOURCES= \
complex_failure.m \
semi_fail_in_non_ite.m
TYPECLASS_SOURCES= \
func_method.m \
instance_superclass.m \
instance_unconstrained_tvar.m
OTHER_SOURCES= \
compl_unify_bug.m \
complicated_unify.m \
constructor_arg_names.m \
dcg_test.m \
deforest_loop.m \
deforest_rerun_det.m \
det_condition.m \
det_inference.m \
det_switch.m \
double_vn.m \
easy_nondet_test.m \
easy_nondet_test_2.m \
empty_bound_inst_list.m \
empty_switch.m \
error.m \
explicit_quant.m \
fail_ite.m \
followcode_det_problem.m \
func_int_bug_main.m \
headvar_not_found.m \
higher_order.m \
higher_order2.m \
higher_order3.m \
higher_order_implied_mode.m \
ho_func_call.m \
ho_inst.m \
implied_mode.m \
indexing.m \
inhibit_warn_test.m \
inlining_bug.m \
int64.m \
intermod_lambda.m \
intermod_quote.m \
intermod_test.m \
lambda_inference.m\
lambda_instmap_bug.m \
lambda_output.m \
lambda_quant.m \
lambda_quant_bug.m \
lambda_recompute.m \
lambda_struct_bug.m \
lambda_switch.m \
lambda_type.m \
lazy_list.m \
liveness_nonlocals.m \
livevals_seq.m \
loop.m \
loop_in_disj.m \
middle_rec_labels.m \
modes_bug.m \
module_a.m \
module_b.m \
module_c.m \
module_d.m \
module_e.m \
mostly_uniq_mode_inf.m \
multidet_prune1.m \
multidet_test.m \
nasty_func_test.m \
nested_mod_type_bug.m \
nondet_live.m \
parsing_bug_main.m \
pred_with_no_modes.m \
qualified_cons_id.m \
same_length_2.m \
semidet_disj.m \
shape_type.m \
simplify_bug.m \
soln_context.m \
some_switch.m \
stack_alloc.m \
subtype_switch.m \
switch_detection_bug.m \
switch_detection_bug2.m \
switches.m \
tricky_ite.m \
two_pragma_c_codes.m \
two_way_unif.m \
type_inf_ambig_test.m \
unbound_tvar_in_lambda.m \
undead_proc.m \
uniq_unify.m \
uniq_mode_inf_bug.m \
unreachable_code.m \
unused_args_test2.m \
vn_float.m
# Code generation is not yet implemented for Aditi updates,
# so don't attempt to compile to C.
# aditi_update.m
# The mode system can't handle the following test cases yet:
# assoc_list.m
# determinism.m
# mode_merge_insts.m
# Base grades `jump' and `fast'
# cannot be used with accurate GC or type classes
ifneq "$(findstring asm_,$(GRADE))" ""
SOURCES0=$(AGC_SOURCES) $(TYPECLASS_SOURCES) $(OTHER_SOURCES)
else
ifneq "$(findstring jump,$(GRADE))" ""
SOURCES0=$(OTHER_SOURCES)
else
ifneq "$(findstring fast,$(GRADE))" ""
SOURCES0=$(OTHER_SOURCES)
else
SOURCES0=$(AGC_SOURCES) $(TYPECLASS_SOURCES) $(OTHER_SOURCES)
endif
endif
endif
ifneq "$(findstring .mm,$(GRADE))" ""
SOURCES=$(SOURCES0)
else
SOURCES=$(SOURCES0) $(TRAIL_SOURCES)
endif
DEPS = $(SOURCES:%.m=%.depend) aditi_update.depend
OBJS = $(SOURCES:%.m=$(os_subdir)%.o)
PROGS = $(SOURCES:%.m=%)
all: objs
# some regression tests only failed with particular options enabled
# (please keep these lists sorted)
GRADEFLAGS-agc_graph = --gc accurate
GRADEFLAGS-agc_ho_pred = --gc accurate
GRADEFLAGS-agc_ite = --gc accurate
GRADEFLAGS-agc_unbound_typevars = --gc accurate
GRADEFLAGS-agc_unbound_typevars2 = --gc accurate
GRADEFLAGS-agc_unused_in = --gc accurate
GRADEFLAGS-complex_failure = --use-trail
GRADEFLAGS-semi_fail_in_non_ite = --use-trail
MCFLAGS-aditi_update = --aditi
MCFLAGS-compl_unify_bug = -O3
MCFLAGS-deforest_loop = -O3 --intermodule-optimization
MCFLAGS-deforest_rerun_det = -O3 --check-termination
MCFLAGS-double_vn = -O4
MCFLAGS-explicit_quant = --halt-at-warn
MCFLAGS-higher_order_implied_mode = -O-1
MCFLAGS-inhibit_warn_test = --inhibit-warnings --halt-at-warn
MCFLAGS-intermod_lambda = --intermodule-optimization
MCFLAGS-intermod_lambda2 = --intermodule-optimization
MCFLAGS-intermod_quote = --intermodule-optimization
MCFLAGS-intermod_quote2 = --intermodule-optimization
MCFLAGS-intermod_test = --intermodule-optimization
MCFLAGS-intermod_test2 = --intermodule-optimization
MCFLAGS-livevals_seq = -O5 --opt-space
MCFLAGS-middle_rec_labels = --middle-rec --no-follow-vars
MCFLAGS-mostly_uniq_mode_inf = --infer-all
MCFLAGS-pred_with_no_modes = --infer-all
MCFLAGS-simplify_bug = -O-1
MCFLAGS-two_way_unif = -O-1
MCFLAGS-type_inf_ambig_test = --infer-all
MCFLAGS-uniq_mode_inf_bug = --infer-all
MCFLAGS-vn_float = -O5
check: objs aditi_update.err
objs: $(OBJS)
depend: $(DEPS)
printtests:
@echo $(PROGS)
printobjs:
@echo $(OBJS)
clean_local:
rm -f *.err *.h
#-----------------------------------------------------------------------------#