# vim: ts=8 sw=8 noexpandtab ft=make

# Automatically generated module dependencies for
# module `ll_backend.optimize' in source file `optimize.m'.
# Generated by Mercury compiler version rotd-2024-11-18
# configured for x86_64-pc-linux-gnu.

# RULE date_file_deps
# target group names:
#   dates_and_err
# source group names:
#   source
#   ancestors
#   direct deps
#   indirect deps
#   type_repn self dep
#   type_repn ancestor dep
ll_backend.optimize.optdate ll_backend.optimize.trans_opt_date optimize.err ll_backend.optimize.c_date ll_backend.optimize.java_date : \
		optimize.m \
	\
		ll_backend.int0 \
	\
		bool.int \
		builtin.int \
		char.int \
		counter.int \
		dir.int \
		hlds.int \
		int.int \
		io.int \
		libs.int \
		list.int \
		map.int \
		maybe.int \
		mdbcomp.int \
		parse_tree.int \
		private_builtin.int \
		require.int \
		set_tree234.int \
		string.int \
		hlds.code_model.int \
		hlds.hlds_pred.int \
		io.call_system.int \
		libs.file_util.int \
		libs.globals.int \
		libs.optimization_options.int \
		libs.options.int \
		ll_backend.continuation_info.int \
		ll_backend.delay_slot.int \
		ll_backend.dupelim.int \
		ll_backend.frameopt.int \
		ll_backend.global_data.int \
		ll_backend.jumpopt.int \
		ll_backend.labelopt.int \
		ll_backend.llds.int \
		ll_backend.opt_debug.int \
		ll_backend.opt_util.int \
		ll_backend.peephole.int \
		ll_backend.reassign.int \
		ll_backend.stdlabel.int \
		ll_backend.use_local_vars.int \
		ll_backend.wrap_blocks.int \
		mdbcomp.prim_data.int \
		mdbcomp.sym_name.int \
		parse_tree.prog_data.int \
		string.format.int \
		string.parse_util.int \
	\
		analysis.int2 \
		array.int2 \
		assoc_list.int2 \
		backend_libs.int2 \
		bimap.int2 \
		bitmap.int2 \
		check_hlds.int2 \
		construct.int2 \
		cord.int2 \
		deconstruct.int2 \
		enum.int2 \
		getopt.int2 \
		mode_robdd.int2 \
		one_or_more.int2 \
		one_or_more_map.int2 \
		ops.int2 \
		pair.int2 \
		pretty_printer.int2 \
		robdd.int2 \
		set.int2 \
		set_ordlist.int2 \
		sparse_bitset.int2 \
		stack.int2 \
		stream.int2 \
		term.int2 \
		term_context.int2 \
		time.int2 \
		transform_hlds.int2 \
		tree234.int2 \
		type_desc.int2 \
		unit.int2 \
		univ.int2 \
		varset.int2 \
		analysis.framework.int2 \
		backend_libs.builtin_ops.int2 \
		backend_libs.rtti.int2 \
		check_hlds.mode_constraint_robdd.int2 \
		hlds.goal_mode.int2 \
		hlds.hlds_class.int2 \
		hlds.hlds_clauses.int2 \
		hlds.hlds_cons.int2 \
		hlds.hlds_data.int2 \
		hlds.hlds_goal.int2 \
		hlds.hlds_llds.int2 \
		hlds.hlds_module.int2 \
		hlds.hlds_promise.int2 \
		hlds.hlds_rtti.int2 \
		hlds.inst_graph.int2 \
		hlds.instmap.int2 \
		hlds.pred_name.int2 \
		hlds.pred_table.int2 \
		hlds.status.int2 \
		libs.maybe_util.int2 \
		libs.op_mode.int2 \
		libs.polyhedron.int2 \
		libs.trace_params.int2 \
		ll_backend.layout.int2 \
		ll_backend.livemap.int2 \
		ll_backend.trace_gen.int2 \
		mdbcomp.feedback.int2 \
		mdbcomp.goal_path.int2 \
		mdbcomp.program_representation.int2 \
		mode_robdd.tfeirn.int2 \
		parse_tree.error_spec.int2 \
		parse_tree.maybe_error.int2 \
		parse_tree.prog_data_foreign.int2 \
		parse_tree.prog_data_pragma.int2 \
		parse_tree.prog_foreign.int2 \
		parse_tree.prog_item.int2 \
		parse_tree.prog_rename.int2 \
		parse_tree.prog_type.int2 \
		parse_tree.set_of_var.int2 \
		parse_tree.var_db.int2 \
		parse_tree.var_table.int2 \
		transform_hlds.term_constr_errors.int2 \
		transform_hlds.term_constr_main_types.int2 \
		transform_hlds.term_errors.int2 \
		transform_hlds.term_util.int2 \
	\
		ll_backend.optimize.int \
	\
		ll_backend.int

# RULE objs_on_mihs
ll_backend.optimize.pic_o ll_backend.optimize.$O : \
		analysis.mih \
		array.mih \
		assoc_list.mih \
		backend_libs.mih \
		bimap.mih \
		bitmap.mih \
		bool.mih \
		builtin.mih \
		char.mih \
		check_hlds.mih \
		construct.mih \
		cord.mih \
		counter.mih \
		deconstruct.mih \
		dir.mih \
		enum.mih \
		getopt.mih \
		hlds.mih \
		int.mih \
		io.mih \
		libs.mih \
		list.mih \
		ll_backend.mih \
		map.mih \
		maybe.mih \
		mdbcomp.mih \
		mode_robdd.mih \
		one_or_more.mih \
		one_or_more_map.mih \
		ops.mih \
		pair.mih \
		parse_tree.mih \
		pretty_printer.mih \
		private_builtin.mih \
		require.mih \
		robdd.mih \
		set.mih \
		set_ordlist.mih \
		set_tree234.mih \
		sparse_bitset.mih \
		stack.mih \
		stream.mih \
		string.mih \
		term.mih \
		term_context.mih \
		time.mih \
		transform_hlds.mih \
		tree234.mih \
		type_desc.mih \
		unit.mih \
		univ.mih \
		varset.mih \
		analysis.framework.mih \
		backend_libs.builtin_ops.mih \
		backend_libs.rtti.mih \
		check_hlds.mode_constraint_robdd.mih \
		hlds.code_model.mih \
		hlds.goal_mode.mih \
		hlds.hlds_class.mih \
		hlds.hlds_clauses.mih \
		hlds.hlds_cons.mih \
		hlds.hlds_data.mih \
		hlds.hlds_goal.mih \
		hlds.hlds_llds.mih \
		hlds.hlds_module.mih \
		hlds.hlds_pred.mih \
		hlds.hlds_promise.mih \
		hlds.hlds_rtti.mih \
		hlds.inst_graph.mih \
		hlds.instmap.mih \
		hlds.pred_name.mih \
		hlds.pred_table.mih \
		hlds.status.mih \
		io.call_system.mih \
		libs.file_util.mih \
		libs.globals.mih \
		libs.maybe_util.mih \
		libs.op_mode.mih \
		libs.optimization_options.mih \
		libs.options.mih \
		libs.polyhedron.mih \
		libs.trace_params.mih \
		ll_backend.continuation_info.mih \
		ll_backend.delay_slot.mih \
		ll_backend.dupelim.mih \
		ll_backend.frameopt.mih \
		ll_backend.global_data.mih \
		ll_backend.jumpopt.mih \
		ll_backend.labelopt.mih \
		ll_backend.layout.mih \
		ll_backend.livemap.mih \
		ll_backend.llds.mih \
		ll_backend.opt_debug.mih \
		ll_backend.opt_util.mih \
		ll_backend.peephole.mih \
		ll_backend.reassign.mih \
		ll_backend.stdlabel.mih \
		ll_backend.trace_gen.mih \
		ll_backend.use_local_vars.mih \
		ll_backend.wrap_blocks.mih \
		mdbcomp.feedback.mih \
		mdbcomp.goal_path.mih \
		mdbcomp.prim_data.mih \
		mdbcomp.program_representation.mih \
		mdbcomp.sym_name.mih \
		mode_robdd.tfeirn.mih \
		parse_tree.error_spec.mih \
		parse_tree.maybe_error.mih \
		parse_tree.prog_data.mih \
		parse_tree.prog_data_foreign.mih \
		parse_tree.prog_data_pragma.mih \
		parse_tree.prog_foreign.mih \
		parse_tree.prog_item.mih \
		parse_tree.prog_rename.mih \
		parse_tree.prog_type.mih \
		parse_tree.set_of_var.mih \
		parse_tree.var_db.mih \
		parse_tree.var_table.mih \
		string.format.mih \
		string.parse_util.mih \
		transform_hlds.term_constr_errors.mih \
		transform_hlds.term_constr_main_types.mih \
		transform_hlds.term_errors.mih \
		transform_hlds.term_util.mih

# RULE mh_and_mih_on_c
ll_backend.optimize.mh ll_backend.optimize.mih : ll_backend.optimize.c

ifeq ($(findstring java,$(GRADE)),java)

# RULE module_dep_on_java
ll_backend.optimize.module_dep : jmercury/ll_backend__optimize.java

else

# RULE module_dep_on_c
ll_backend.optimize.module_dep : ll_backend.optimize.c

endif # conditional fragment

# RULE self_and_parent_date_deps
# target group names:
#   date files
# source group names:
#   source
#   ancestor int0
#   direct dep int3s
#   indirect dep int3s
ll_backend.optimize.date ll_backend.optimize.date0 ll_backend.date : \
		optimize.m \
	\
		ll_backend.int0 \
	\
		bool.int3 \
		builtin.int3 \
		char.int3 \
		counter.int3 \
		dir.int3 \
		hlds.int3 \
		int.int3 \
		io.int3 \
		libs.int3 \
		list.int3 \
		map.int3 \
		maybe.int3 \
		mdbcomp.int3 \
		parse_tree.int3 \
		private_builtin.int3 \
		require.int3 \
		set_tree234.int3 \
		string.int3 \
		hlds.code_model.int3 \
		hlds.hlds_pred.int3 \
		io.call_system.int3 \
		libs.file_util.int3 \
		libs.globals.int3 \
		libs.optimization_options.int3 \
		libs.options.int3 \
		ll_backend.continuation_info.int3 \
		ll_backend.delay_slot.int3 \
		ll_backend.dupelim.int3 \
		ll_backend.frameopt.int3 \
		ll_backend.global_data.int3 \
		ll_backend.jumpopt.int3 \
		ll_backend.labelopt.int3 \
		ll_backend.llds.int3 \
		ll_backend.opt_debug.int3 \
		ll_backend.opt_util.int3 \
		ll_backend.peephole.int3 \
		ll_backend.reassign.int3 \
		ll_backend.stdlabel.int3 \
		ll_backend.use_local_vars.int3 \
		ll_backend.wrap_blocks.int3 \
		mdbcomp.prim_data.int3 \
		mdbcomp.sym_name.int3 \
		parse_tree.prog_data.int3 \
		string.format.int3 \
		string.parse_util.int3 \
	\
		analysis.int3 \
		array.int3 \
		assoc_list.int3 \
		backend_libs.int3 \
		bimap.int3 \
		bitmap.int3 \
		check_hlds.int3 \
		construct.int3 \
		cord.int3 \
		deconstruct.int3 \
		enum.int3 \
		getopt.int3 \
		mode_robdd.int3 \
		one_or_more.int3 \
		one_or_more_map.int3 \
		ops.int3 \
		pair.int3 \
		pretty_printer.int3 \
		robdd.int3 \
		set.int3 \
		set_ordlist.int3 \
		sparse_bitset.int3 \
		stack.int3 \
		stream.int3 \
		term.int3 \
		term_context.int3 \
		time.int3 \
		transform_hlds.int3 \
		tree234.int3 \
		type_desc.int3 \
		unit.int3 \
		univ.int3 \
		varset.int3 \
		analysis.framework.int3 \
		backend_libs.builtin_ops.int3 \
		backend_libs.rtti.int3 \
		check_hlds.mode_constraint_robdd.int3 \
		hlds.goal_mode.int3 \
		hlds.hlds_class.int3 \
		hlds.hlds_clauses.int3 \
		hlds.hlds_cons.int3 \
		hlds.hlds_data.int3 \
		hlds.hlds_goal.int3 \
		hlds.hlds_llds.int3 \
		hlds.hlds_module.int3 \
		hlds.hlds_promise.int3 \
		hlds.hlds_rtti.int3 \
		hlds.inst_graph.int3 \
		hlds.instmap.int3 \
		hlds.pred_name.int3 \
		hlds.pred_table.int3 \
		hlds.status.int3 \
		libs.maybe_util.int3 \
		libs.op_mode.int3 \
		libs.polyhedron.int3 \
		libs.trace_params.int3 \
		ll_backend.layout.int3 \
		ll_backend.livemap.int3 \
		ll_backend.trace_gen.int3 \
		mdbcomp.feedback.int3 \
		mdbcomp.goal_path.int3 \
		mdbcomp.program_representation.int3 \
		mode_robdd.tfeirn.int3 \
		parse_tree.error_spec.int3 \
		parse_tree.maybe_error.int3 \
		parse_tree.prog_data_foreign.int3 \
		parse_tree.prog_data_pragma.int3 \
		parse_tree.prog_foreign.int3 \
		parse_tree.prog_item.int3 \
		parse_tree.prog_rename.int3 \
		parse_tree.prog_type.int3 \
		parse_tree.set_of_var.int3 \
		parse_tree.var_db.int3 \
		parse_tree.var_table.int3 \
		transform_hlds.term_constr_errors.int3 \
		transform_hlds.term_constr_main_types.int3 \
		transform_hlds.term_errors.int3 \
		transform_hlds.term_util.int3

# RULE self_and_parent_date0_deps
# target group names:
#   date0s
# source group names:
#   source
#   direct dep int3s
#   indirect dep int3s
ll_backend.optimize.date0 ll_backend.date0 : \
		optimize.m \
	\
		bool.int3 \
		builtin.int3 \
		char.int3 \
		counter.int3 \
		dir.int3 \
		hlds.int3 \
		int.int3 \
		io.int3 \
		libs.int3 \
		list.int3 \
		map.int3 \
		maybe.int3 \
		mdbcomp.int3 \
		parse_tree.int3 \
		private_builtin.int3 \
		require.int3 \
		set_tree234.int3 \
		string.int3 \
		hlds.code_model.int3 \
		hlds.hlds_pred.int3 \
		io.call_system.int3 \
		libs.file_util.int3 \
		libs.globals.int3 \
		libs.optimization_options.int3 \
		libs.options.int3 \
		ll_backend.continuation_info.int3 \
		ll_backend.delay_slot.int3 \
		ll_backend.dupelim.int3 \
		ll_backend.frameopt.int3 \
		ll_backend.global_data.int3 \
		ll_backend.jumpopt.int3 \
		ll_backend.labelopt.int3 \
		ll_backend.llds.int3 \
		ll_backend.opt_debug.int3 \
		ll_backend.opt_util.int3 \
		ll_backend.peephole.int3 \
		ll_backend.reassign.int3 \
		ll_backend.stdlabel.int3 \
		ll_backend.use_local_vars.int3 \
		ll_backend.wrap_blocks.int3 \
		mdbcomp.prim_data.int3 \
		mdbcomp.sym_name.int3 \
		parse_tree.prog_data.int3 \
		string.format.int3 \
		string.parse_util.int3 \
	\
		analysis.int3 \
		array.int3 \
		assoc_list.int3 \
		backend_libs.int3 \
		bimap.int3 \
		bitmap.int3 \
		check_hlds.int3 \
		construct.int3 \
		cord.int3 \
		deconstruct.int3 \
		enum.int3 \
		getopt.int3 \
		mode_robdd.int3 \
		one_or_more.int3 \
		one_or_more_map.int3 \
		ops.int3 \
		pair.int3 \
		pretty_printer.int3 \
		robdd.int3 \
		set.int3 \
		set_ordlist.int3 \
		sparse_bitset.int3 \
		stack.int3 \
		stream.int3 \
		term.int3 \
		term_context.int3 \
		time.int3 \
		transform_hlds.int3 \
		tree234.int3 \
		type_desc.int3 \
		unit.int3 \
		univ.int3 \
		varset.int3 \
		analysis.framework.int3 \
		backend_libs.builtin_ops.int3 \
		backend_libs.rtti.int3 \
		check_hlds.mode_constraint_robdd.int3 \
		hlds.goal_mode.int3 \
		hlds.hlds_class.int3 \
		hlds.hlds_clauses.int3 \
		hlds.hlds_cons.int3 \
		hlds.hlds_data.int3 \
		hlds.hlds_goal.int3 \
		hlds.hlds_llds.int3 \
		hlds.hlds_module.int3 \
		hlds.hlds_promise.int3 \
		hlds.hlds_rtti.int3 \
		hlds.inst_graph.int3 \
		hlds.instmap.int3 \
		hlds.pred_name.int3 \
		hlds.pred_table.int3 \
		hlds.status.int3 \
		libs.maybe_util.int3 \
		libs.op_mode.int3 \
		libs.polyhedron.int3 \
		libs.trace_params.int3 \
		ll_backend.layout.int3 \
		ll_backend.livemap.int3 \
		ll_backend.trace_gen.int3 \
		mdbcomp.feedback.int3 \
		mdbcomp.goal_path.int3 \
		mdbcomp.program_representation.int3 \
		mode_robdd.tfeirn.int3 \
		parse_tree.error_spec.int3 \
		parse_tree.maybe_error.int3 \
		parse_tree.prog_data_foreign.int3 \
		parse_tree.prog_data_pragma.int3 \
		parse_tree.prog_foreign.int3 \
		parse_tree.prog_item.int3 \
		parse_tree.prog_rename.int3 \
		parse_tree.prog_type.int3 \
		parse_tree.set_of_var.int3 \
		parse_tree.var_db.int3 \
		parse_tree.var_table.int3 \
		transform_hlds.term_constr_errors.int3 \
		transform_hlds.term_constr_main_types.int3 \
		transform_hlds.term_errors.int3 \
		transform_hlds.term_util.int3

# RULE foreign_deps_for_mh
ll_backend.optimize.$O ll_backend.optimize.pic_o : \
		array.mh \
		bitmap.mh \
		dir.mh \
		io.mh \
		string.mh \
		time.mh \
		io.stream_ops.mh

# RULE int0_on_date0
ll_backend.optimize.int0 : ll_backend.optimize.date0
	@:

# RULE int_on_date
ll_backend.optimize.int : ll_backend.optimize.date
	@:

# RULE int2_on_date
ll_backend.optimize.int2 : ll_backend.optimize.date
	@:

# RULE int3_on_date3
ll_backend.optimize.int3 : ll_backend.optimize.date3
	@:

# RULE opt_on_opt_date
ll_backend.optimize.opt : ll_backend.optimize.optdate
	@:

# RULE trans_opt_on_trans_opt_date
ll_backend.optimize.trans_opt : ll_backend.optimize.trans_opt_date
	@:

# RULE date0_on_src
ll_backend.optimize.date0 : optimize.m
	$(MCPI) $(ALL_GRADEFLAGS) $(ALL_MCPIFLAGS) ll_backend.optimize

# RULE date_on_src
ll_backend.optimize.date : optimize.m
	$(MCI) $(ALL_GRADEFLAGS) $(ALL_MCIFLAGS) ll_backend.optimize

# RULE date3_on_src
ll_backend.optimize.date3 : optimize.m
	$(MCSI) $(ALL_GRADEFLAGS) $(ALL_MCSIFLAGS) ll_backend.optimize

# RULE opt_date_on_src
ll_backend.optimize.optdate : optimize.m
	$(MCOI) $(ALL_GRADEFLAGS) $(ALL_MCOIFLAGS) ll_backend.optimize

# RULE trans_opt_date_on_src
ll_backend.optimize.trans_opt_date : optimize.m
	$(MCTOI) $(ALL_GRADEFLAGS) $(ALL_MCTOIFLAGS) ll_backend.optimize

# RULE c_date_on_src
ll_backend.optimize.c_date : optimize.m
	$(MCG) $(ALL_GRADEFLAGS) $(ALL_MCGFLAGS) ll_backend.optimize $(ERR_REDIRECT)

# RULE java_date_on_src
ll_backend.optimize.java_date : optimize.m
	$(MCG) $(ALL_GRADEFLAGS) $(ALL_MCGFLAGS) --java-only ll_backend.optimize $(ERR_REDIRECT)

