Commit cbbbdc2c by Zack Weinberg

r110121@banpei: zack | 2006-01-22 14:39:11 -0800

 
         * Makefile.in: Consolidate most rules that use $(CC_FOR_BUILD) and/or
         $(RUN_GEN).  Use pattern rules to factor out as much boilerplate as
         practical.  Eliminate per-generator-program link rules.

From-SVN: r110117
parent bac9efea
2006-01-22 Zack Weinberg <zackw@panix.com>
* Makefile.in: Consolidate most rules that use $(CC_FOR_BUILD) and/or
$(RUN_GEN). Use pattern rules to factor out as much boilerplate as
practical. Eliminate per-generator-program link rules.
2006-01-23 Andrew Pinski <pinskia@physics.uc.edu> 2006-01-23 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/24437 PR middle-end/24437
...@@ -169,14 +175,14 @@ ...@@ -169,14 +175,14 @@
2006-01-20 Dirk Mueller <dmueller@suse.com> 2006-01-20 Dirk Mueller <dmueller@suse.com>
PR c++/5520 PR c++/5520
* c-parser.c (c_parser_if_body): Use build_empty_stmt() * c-parser.c (c_parser_if_body): Use build_empty_stmt()
instead of a special NOP marker. instead of a special NOP marker.
* c-typeck.c (c_finish_if_stmt): Remove obsoleted special * c-typeck.c (c_finish_if_stmt): Remove obsoleted special
NOP marker handling. NOP marker handling.
* c-common.h (empty_body_warning): Add forward declaration. * c-common.h (empty_body_warning): Add forward declaration.
* c-common.c (empty_body_warning): Add (from c_finish_if_stmt). * c-common.c (empty_body_warning): Add (from c_finish_if_stmt).
Now uses IS_EMPTY_STMT() instead of special NOP markers. Now uses IS_EMPTY_STMT() instead of special NOP markers.
2005-01-20 Paul Brook <paul@codesourcery.com> 2005-01-20 Paul Brook <paul@codesourcery.com>
...@@ -211,11 +217,11 @@ ...@@ -211,11 +217,11 @@
2005-01-19 Kenneth Zadeck <zadeck@naturalbridge.com> 2005-01-19 Kenneth Zadeck <zadeck@naturalbridge.com>
PR rtl-optimization/25799 PR rtl-optimization/25799
* df-problems.c (df_ru_confluence_n, df_rd_confluence_n): * df-problems.c (df_ru_confluence_n, df_rd_confluence_n):
Corrected confluence operator to remove bits from op2 before oring Corrected confluence operator to remove bits from op2 before oring
with op1 rather than removing bits from op1. with op1 rather than removing bits from op1.
(df_ru_transfer_function): Corrected test on wrong bitmap which (df_ru_transfer_function): Corrected test on wrong bitmap which
caused infinite loop. Both of these problems were introduced in caused infinite loop. Both of these problems were introduced in
the dataflow rewrite. the dataflow rewrite.
...@@ -298,7 +304,7 @@ ...@@ -298,7 +304,7 @@
for the TARGET_DEEP_BRANCH_PREDICTION case. for the TARGET_DEEP_BRANCH_PREDICTION case.
2006-01-19 Jan Hubicka <jh@suse.cz> 2006-01-19 Jan Hubicka <jh@suse.cz>
H.J. Lu <hongjiu.lu@intel.com> H.J. Lu <hongjiu.lu@intel.com>
Evandro Menezes <evandro.menezes@amd.com> Evandro Menezes <evandro.menezes@amd.com>
* invoke.texi (generic): Document * invoke.texi (generic): Document
...@@ -495,7 +501,7 @@ ...@@ -495,7 +501,7 @@
* tree-vrp.c (extract_range_from_assert): Refine the result range * tree-vrp.c (extract_range_from_assert): Refine the result range
if the variable referenced by the ASSERT_EXPR has a range and if the variable referenced by the ASSERT_EXPR has a range and
either the tentative result range or the previous range is a either the tentative result range or the previous range is a
VR_ANTI_RANGE. VR_ANTI_RANGE.
2006-01-19 Richard Sandiford <richard@codesourcery.com> 2006-01-19 Richard Sandiford <richard@codesourcery.com>
...@@ -521,13 +527,13 @@ ...@@ -521,13 +527,13 @@
2006-01-19 Andreas Krebbel <krebbel1@de.ibm.com> 2006-01-19 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.md ("Y", "y"): New mode attribute. * config/s390/s390.md ("Y", "y"): New mode attribute.
("*cmpdi_ccs", "*cmpsi_ccs", "*adddi3_imm_cc", "*adddi3_carry1_cc", ("*cmpdi_ccs", "*cmpsi_ccs", "*adddi3_imm_cc", "*adddi3_carry1_cc",
"*adddi3_carry1_cconly", "*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*adddi3_carry1_cconly", "*adddi3_carry2_cc", "*adddi3_carry2_cconly",
"*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2", "*adddi3_64", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2", "*adddi3_64",
"*addsi3_imm_cc", "*addsi3_carry1_cc", "*addsi3_imm_cc", "*addsi3_carry1_cc",
"*addsi3_carry1_cconly", "*addsi3_carry2_cc", "*addsi3_carr2_cconly", "*addsi3_carry1_cconly", "*addsi3_carry2_cc", "*addsi3_carr2_cconly",
"*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2",
"*subdi3_borrow_cc", "*subdi3_borrow_cconly", "*subdi3_cc", "*subdi3_borrow_cc", "*subdi3_borrow_cconly", "*subdi3_cc",
"*subdi3_cc2", "*subdi3_cconly", "*subdi3_cconly2", "*subdi3_64", "*subdi3_cc2", "*subdi3_cconly", "*subdi3_cconly2", "*subdi3_64",
"*subsi3_borrow_cc", "*subsi3_borrow_cconly", "*subsi3_cc", "*subsi3_borrow_cc", "*subsi3_borrow_cconly", "*subsi3_cc",
"*subsi3_cc2", "*subsi3_cconly", "*subsi3_cconly", "*subsi3_cconly2", "*subsi3_cc2", "*subsi3_cconly", "*subsi3_cconly", "*subsi3_cconly2",
...@@ -536,7 +542,7 @@ ...@@ -536,7 +542,7 @@
"*add<mode>3_carry2_cc", "*add<mode>3_carry2_cconly", "*add<mode>3_cc", "*add<mode>3_carry2_cc", "*add<mode>3_carry2_cconly", "*add<mode>3_cc",
"*add<mode>3_cconly", "*add<mode>3_cconly2", "*add<mode>3_imm_cc", "*add<mode>3_cconly", "*add<mode>3_cconly2", "*add<mode>3_imm_cc",
"*sub<mode>3_borrow_cc", "*sub<mode>3_borrow_cconly", "*sub<mode>3_borrow_cc", "*sub<mode>3_borrow_cconly",
"*sub<mode>3_cc", "*sub<mode>3_cc2", "*sub<mode>3_cconly", "*sub<mode>3_cc", "*sub<mode>3_cc2", "*sub<mode>3_cconly",
"*sub<mode>3_cconly2"): New insn patterns. "*sub<mode>3_cconly2"): New insn patterns.
("addsi3", "subsi3"): New expanders. ("addsi3", "subsi3"): New expanders.
...@@ -640,7 +646,7 @@ ...@@ -640,7 +646,7 @@
(add_may_alias): Ditto. (add_may_alias): Ditto.
(replace_may_alias): Ditto. (replace_may_alias): Ditto.
(get_nmt_for): Ditto. (get_nmt_for): Ditto.
(create_global_var): (create_global_var):
(is_escape_site): Return an escape_type enumeration. (is_escape_site): Return an escape_type enumeration.
* tree-flow-inline.h (is_call_clobbered): Global var does not * tree-flow-inline.h (is_call_clobbered): Global var does not
imply call clobbered. imply call clobbered.
...@@ -650,13 +656,13 @@ ...@@ -650,13 +656,13 @@
* tree-dfa.c (dump_variable): If details is on, dump the reason * tree-dfa.c (dump_variable): If details is on, dump the reason
for escaping. for escaping.
* tree-outof-ssa.c (create_temp): Copy escape mask from original * tree-outof-ssa.c (create_temp): Copy escape mask from original
variable. variable.
* tree-flow.h (struct ptr_info_def): Add escape mask member. * tree-flow.h (struct ptr_info_def): Add escape mask member.
(struct var_ann_d): Ditto. (struct var_ann_d): Ditto.
(enum escape_type): New. (enum escape_type): New.
(mark_call_clobbered): Adjust prototype. (mark_call_clobbered): Adjust prototype.
* tree-ssa-structalias.c (update_alias_info): Unmodifiable vars * tree-ssa-structalias.c (update_alias_info): Unmodifiable vars
are never call clobbered. are never call clobbered.
Record reasons for escaping. Record reasons for escaping.
* tree-ssa-structalias.h (is_escape_site): Update prototype. * tree-ssa-structalias.h (is_escape_site): Update prototype.
* tree-ssa-operands.c (ssa_call_clobbered_cache_valid): Remove. * tree-ssa-operands.c (ssa_call_clobbered_cache_valid): Remove.
...@@ -673,7 +679,7 @@ ...@@ -673,7 +679,7 @@
Add use of PURE_CONST information. Add use of PURE_CONST information.
(add_call_read_ops): Remove use of cache. (add_call_read_ops): Remove use of cache.
Add use of static not_read information. Add use of static not_read information.
2006-01-18 Alexandre Oliva <aoliva@redhat.com> 2006-01-18 Alexandre Oliva <aoliva@redhat.com>
Introduce TLS descriptors for i386 and x86_64. Introduce TLS descriptors for i386 and x86_64.
...@@ -725,7 +731,7 @@ ...@@ -725,7 +731,7 @@
(ashrdi3): Likewise. (ashrdi3): Likewise.
(aeabi_lasr): Likewise. (aeabi_lasr): Likewise.
(lshrdi3): Likewise. (lshrdi3): Likewise.
(aeabi_llsr): Likewise. (aeabi_llsr): Likewise.
2005-03-10 Julian Brown <julian@codesourcery.com> 2005-03-10 Julian Brown <julian@codesourcery.com>
* config.gcc: Disable shared libgcc for SymbianOS. * config.gcc: Disable shared libgcc for SymbianOS.
* config/arm/t-symbian (LIB2ADDEH): Include config/arm/pr-support.c. * config/arm/t-symbian (LIB2ADDEH): Include config/arm/pr-support.c.
...@@ -1199,7 +1205,7 @@ ...@@ -1199,7 +1205,7 @@
(override_options): Use the size_cost.branch_cost as the default (override_options): Use the size_cost.branch_cost as the default
ix86_branch_cost when optimizing for size. ix86_branch_cost when optimizing for size.
2006-01-18 Ben Elliston <bje@au.ibm.com> 2006-01-18 Ben Elliston <bje@au.ibm.com>
* Makefile.in (D32PBIT_FUNCS): New. * Makefile.in (D32PBIT_FUNCS): New.
(D64PBIT_FUNCS, D128PBIT_FUNCS): Likewise. (D64PBIT_FUNCS, D128PBIT_FUNCS): Likewise.
...@@ -1212,7 +1218,7 @@ ...@@ -1212,7 +1218,7 @@
* doc/libgcc.texi (Decimal float library routines): New node. * doc/libgcc.texi (Decimal float library routines): New node.
* config/dfp-bit.h, config/dfp-bit.c: New files. * config/dfp-bit.h, config/dfp-bit.c: New files.
2006-01-18 Ben Elliston <bje@au.ibm.com> 2006-01-18 Ben Elliston <bje@au.ibm.com>
* expr.c (emit_move_change_mode): Always adjust addresses, not * expr.c (emit_move_change_mode): Always adjust addresses, not
just during reload. Copy replacements only during reload. just during reload. Copy replacements only during reload.
...@@ -1316,7 +1322,7 @@ ...@@ -1316,7 +1322,7 @@
Merge from gomp branch: Merge from gomp branch:
* Makefile.in (TREE_INLINE_H): New. Use it as needed. * Makefile.in (TREE_INLINE_H): New. Use it as needed.
* tree-inline.h (struct copy_body_data): Move from tree-inline.c * tree-inline.h (struct copy_body_data): Move from tree-inline.c
and rename from struct inline_data. Rename callee* to dst*; and rename from struct inline_data. Rename callee* to dst*;
caller* to src*; add copy_decl hook, transform_call_graph_edges, caller* to src*; add copy_decl hook, transform_call_graph_edges,
transform_new_cfg, transform_return_to_modify, and transform_new_cfg, transform_return_to_modify, and
transform_lang_insert_block flags; remove cloning_p, versioning_p, transform_lang_insert_block flags; remove cloning_p, versioning_p,
...@@ -1435,7 +1441,7 @@ ...@@ -1435,7 +1441,7 @@
* doc/invoke.texi: Add documentation for -frtl-abstract-sequences. * doc/invoke.texi: Add documentation for -frtl-abstract-sequences.
2006-01-16 Eric Botcazou <ebotcazou@adacore.com> 2006-01-16 Eric Botcazou <ebotcazou@adacore.com>
Roger Sayle <roger@eyesopen.com> Roger Sayle <roger@eyesopen.com>
* fold-const.c (fold_minmax): New static function. * fold-const.c (fold_minmax): New static function.
(fold_binary) <MIN_EXPR>: Call it. (fold_binary) <MIN_EXPR>: Call it.
...@@ -1677,7 +1683,7 @@ ...@@ -1677,7 +1683,7 @@
used to communicate with thread_through_all_blocks. used to communicate with thread_through_all_blocks.
* tree-flow.h (thread_through_all_blocks): Update prototype. * tree-flow.h (thread_through_all_blocks): Update prototype.
(register_jump_thread): Prototype. (register_jump_thread): Prototype.
2006-01-11 Kazu Hirata <kazu@codesourcery.com> 2006-01-11 Kazu Hirata <kazu@codesourcery.com>
* df-core.c (df_compact_blocks, df_bb_replace): Use * df-core.c (df_compact_blocks, df_bb_replace): Use
...@@ -1709,7 +1715,7 @@ ...@@ -1709,7 +1715,7 @@
2005-01-11 Kenneth Zadeck <zadeck@naturalbridge.com> 2005-01-11 Kenneth Zadeck <zadeck@naturalbridge.com>
* Makefile.in: Removed rotted odf.c entry. * Makefile.in: Removed rotted odf.c entry.
2006-01-11 Hans-Peter Nilsson <hp@axis.com> 2006-01-11 Hans-Peter Nilsson <hp@axis.com>
PR target/25706 PR target/25706
...@@ -1783,27 +1789,27 @@ ...@@ -1783,27 +1789,27 @@
PR tree-optimization/24123 PR tree-optimization/24123
* Makefile.in (tree-ssa-math-opts.o): Adjust dependencies. * Makefile.in (tree-ssa-math-opts.o): Adjust dependencies.
* tree-cfg.c (single_noncomplex_succ): New. * tree-cfg.c (single_noncomplex_succ): New.
* tree-flow.h (single_noncomplex_succ): Declare it. * tree-flow.h (single_noncomplex_succ): Declare it.
* tree-ssa-math-opts.c (enum place_reciprocal): Remove. * tree-ssa-math-opts.c (enum place_reciprocal): Remove.
* tree-ssa-math-opts.c (enum place_reciprocal): Remove. * tree-ssa-math-opts.c (enum place_reciprocal): Remove.
(struct occurrence, occ_head, occ_pool, is_divide_by, compute_merit, (struct occurrence, occ_head, occ_pool, is_divide_by, compute_merit,
insert_bb, register_division_in, insert_reciprocals, insert_bb, register_division_in, insert_reciprocals,
replace_reciprocal, free_bb): New. replace_reciprocal, free_bb): New.
(execute_cse_reciprocals_1): Rewritten. (execute_cse_reciprocals_1): Rewritten.
(execute_cse_reciprocals): Adjust calls to execute_cse_reciprocals_1. (execute_cse_reciprocals): Adjust calls to execute_cse_reciprocals_1.
Do not commit any edge insertion. Always compute dominators and Do not commit any edge insertion. Always compute dominators and
create the allocation pool. create the allocation pool.
* target-def.h (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): New. * target-def.h (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): New.
* target.h (struct gcc_target): Add min_divistions_for_recip_mul. * target.h (struct gcc_target): Add min_divistions_for_recip_mul.
* targhooks.c (default_min_divistions_for_recip_mul): New. * targhooks.c (default_min_divistions_for_recip_mul): New.
* targhooks.h (default_min_divistions_for_recip_mul): New prototype. * targhooks.h (default_min_divistions_for_recip_mul): New prototype.
* passes.c (init_optimization_passes): Run recip after tree loop * passes.c (init_optimization_passes): Run recip after tree loop
optimizations. optimizations.
* doc/tm.texi (Misc): Document TARGET_MIN_DIVISIONS_FOR_RECIP_MUL. * doc/tm.texi (Misc): Document TARGET_MIN_DIVISIONS_FOR_RECIP_MUL.
2005-01-11 Danny Berlin <dberlin@dberlin.org> 2005-01-11 Danny Berlin <dberlin@dberlin.org>
Kenneth Zadeck <zadeck@naturalbridge.com> Kenneth Zadeck <zadeck@naturalbridge.com>
* df.h (DF_SCAN, DF_RU, DF_RD, DF_LR, DF_UR, DF_UREC, DF_CHAIN, * df.h (DF_SCAN, DF_RU, DF_RD, DF_LR, DF_UR, DF_UREC, DF_CHAIN,
DF_RI, DF_LAST_PROBLEM_PLUS1, DF_DU_CHAIN, DF_UD_CHAIN, DF_RI, DF_LAST_PROBLEM_PLUS1, DF_DU_CHAIN, DF_UD_CHAIN,
...@@ -1859,7 +1865,7 @@ ...@@ -1859,7 +1865,7 @@
df_ref_remove, df_insn_refs_delete, df_refs_delete, df_ref_remove, df_insn_refs_delete, df_refs_delete,
df_reorganize_refs, df_set_state, df_hard_reg_init, df_reorganize_refs, df_set_state, df_hard_reg_init,
df_read_modify_subreg_p) New public functions. df_read_modify_subreg_p) New public functions.
* df-core.c: The core dataflow solver and glue routines for rtl * df-core.c: The core dataflow solver and glue routines for rtl
dataflow. dataflow.
(df_init, df_add_problem, df_set_blocks, df_finish, (df_init, df_add_problem, df_set_blocks, df_finish,
df_hybrid_search_forward, df_hybrid_search_backward, df_hybrid_search_forward, df_hybrid_search_backward,
...@@ -1927,17 +1933,17 @@ ...@@ -1927,17 +1933,17 @@
df_ri_compute, df_ri_free, df_ri_dump, df_ri_add_problem, df_ri_compute, df_ri_free, df_ri_dump, df_ri_add_problem,
df_reg_lifetime): New functions. df_reg_lifetime): New functions.
* df.c: Deleted file. * df.c: Deleted file.
* ddg.c (create_ddg_dep_no_link, build_inter_loop_deps): Made code * ddg.c (create_ddg_dep_no_link, build_inter_loop_deps): Made code
consistent with new df api. consistent with new df api.
* modulo-sched.c (sms_schedule, rest_of_handle_sms, * modulo-sched.c (sms_schedule, rest_of_handle_sms,
rest_of_handle_sms): Ditto. rest_of_handle_sms): Ditto.
* web.c (unionfind_union, union_defs, entry_register, web_main): * web.c (unionfind_union, union_defs, entry_register, web_main):
Ditto. Ditto.
* loop_invariant.c (invariant_for_use, hash_invariant_expr_1, * loop_invariant.c (invariant_for_use, hash_invariant_expr_1,
invariant_expr_equal_p, find_defs, check_dependencies, invariant_expr_equal_p, find_defs, check_dependencies,
find_invariant_insn, find_invariants_to_move, move_invariant_reg, find_invariant_insn, find_invariants_to_move, move_invariant_reg,
free_inv_motion_data, move_loop_invariants): Ditto. free_inv_motion_data, move_loop_invariants): Ditto.
* Makefile.in (df.c, df-scan.c df-problems.c df-core.c): * Makefile.in (df.c, df-scan.c df-problems.c df-core.c):
Update dependencies. Update dependencies.
(odf.c): Added defective entry that was deleted later in day. (odf.c): Added defective entry that was deleted later in day.
* sched-deps.c (sched_analyze_1): Ditto. * sched-deps.c (sched_analyze_1): Ditto.
...@@ -2399,8 +2405,8 @@ ...@@ -2399,8 +2405,8 @@
Richard Henderson <rth@redhat.com> Richard Henderson <rth@redhat.com>
Merge from gomp-branch: Merge from gomp-branch:
* varasm.c (assemble_variable): Handle thread-local COMMON data. * varasm.c (assemble_variable): Handle thread-local COMMON data.
* defaults.h (ASM_OUTPUT_TLS_COMMON): Define. * defaults.h (ASM_OUTPUT_TLS_COMMON): Define.
2006-01-03 Paolo Bonzini <bonzini@gnu.org> 2006-01-03 Paolo Bonzini <bonzini@gnu.org>
...@@ -2496,7 +2502,7 @@ ...@@ -2496,7 +2502,7 @@
Don't clear have_location_lists. Don't clear have_location_lists.
2006-01-02 Eric Botcazou <ebotcazou@adacore.com> 2006-01-02 Eric Botcazou <ebotcazou@adacore.com>
Jan Hubicka <jh@suse.cz> Jan Hubicka <jh@suse.cz>
* cfglayout.c (fixup_reorder_chain): Remove kludge for the * cfglayout.c (fixup_reorder_chain): Remove kludge for the
case of conditional jump jumping to the next instruction. case of conditional jump jumping to the next instruction.
...@@ -2510,8 +2516,8 @@ ...@@ -2510,8 +2516,8 @@
2006-01-02 Paolo Bonzini <bonzini@gnu.org> 2006-01-02 Paolo Bonzini <bonzini@gnu.org>
PR target/25259 PR target/25259
* Makefile.in (DECNUMINC): Include libdecnumber's build directory. * Makefile.in (DECNUMINC): Include libdecnumber's build directory.
2006-01-02 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 2006-01-02 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
......
...@@ -1367,6 +1367,8 @@ $(SPECS): xgcc$(exeext) ...@@ -1367,6 +1367,8 @@ $(SPECS): xgcc$(exeext)
gcc-cross: xgcc$(exeext) gcc-cross: xgcc$(exeext)
cp xgcc$(exeext) gcc-cross$(exeext) cp xgcc$(exeext) gcc-cross$(exeext)
dummy-checksum.o : dummy-checksum.c
cc1-dummy$(exeext): $(C_OBJS) dummy-checksum.o $(BACKEND) $(LIBDEPS) cc1-dummy$(exeext): $(C_OBJS) dummy-checksum.o $(BACKEND) $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) dummy-checksum.o \ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) dummy-checksum.o \
$(BACKEND) $(LIBS) $(BACKEND) $(LIBS)
...@@ -1708,27 +1710,6 @@ gccspec.o: gccspec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) ...@@ -1708,27 +1710,6 @@ gccspec.o: gccspec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H)
cppspec.o: cppspec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) cppspec.o: cppspec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H)
build/genchecksum$(build_exeext) : build/genchecksum.o $(BUILD_LIBDEPS)
$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
build/genchecksum.o $(BUILD_LIBS)
build/genchecksum.o : genchecksum.c $(BCONFIG_H) $(SYSTEM_H) $(MD5_H)
dummy-checksum.o : dummy-checksum.c
tree-check.h: s-check ; @true
s-check : build/gencheck$(build_exeext)
$(RUN_GEN) build/gencheck$(build_exeext) > tmp-check.h
$(SHELL) $(srcdir)/../move-if-change tmp-check.h tree-check.h
$(STAMP) s-check
build/gencheck$(build_exeext) : build/gencheck.o $(BUILD_LIBDEPS)
$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
build/gencheck.o $(BUILD_LIBS)
build/gencheck.o : gencheck.c gencheck.h tree.def $(BCONFIG_H) $(SYSTEM_H) \
coretypes.h $(GTM_H) $(lang_tree_files)
gencheck.h : s-gencheck ; @true gencheck.h : s-gencheck ; @true
s-gencheck : Makefile s-gencheck : Makefile
ltf="$(lang_tree_files)"; for f in $$ltf; do \ ltf="$(lang_tree_files)"; for f in $$ltf; do \
...@@ -2657,188 +2638,121 @@ s-mddeps: $(md_file) $(MD_INCLUDES) build/genmddeps$(build_exeext) ...@@ -2657,188 +2638,121 @@ s-mddeps: $(md_file) $(MD_INCLUDES) build/genmddeps$(build_exeext)
$(SHELL) $(srcdir)/../move-if-change tmp-mddeps mddeps.mk $(SHELL) $(srcdir)/../move-if-change tmp-mddeps mddeps.mk
$(STAMP) s-mddeps $(STAMP) s-mddeps
# The following pair of rules has this effect: # Header dependencies for generated source files.
# genconfig is run only if the md has changed since genconfig was last run; genrtl.o : genrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H)\
# but the file insn-config.h is touched only when its contents actually change. $(GGC_H)
insn-attrtab.o : insn-attrtab.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
# Each of the other insn-* files is handled by a similar pair of rules. $(TM_H) $(RTL_H) $(REGS_H) real.h output.h $(INSN_ATTR_H) \
insn-config.h toplev.h $(RECOG_H) $(TM_P_H) $(FLAGS_H)
# This causes an anomaly in the results of make -n insn-emit.o : insn-emit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
# because insn-* is older than s-* $(RTL_H) $(EXPR_H) real.h output.h insn-config.h $(OPTABS_H) \
# and thus make -n thinks that insn-* will be updated reload.h $(RECOG_H) toplev.h $(FUNCTION_H) $(FLAGS_H) hard-reg-set.h \
# and force recompilation of things that depend on it. $(RESOURCE_H) $(TM_P_H) $(BASIC_BLOCK_H)
# We use move-if-change precisely to avoid such recompilation. insn-extract.o : insn-extract.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
# But there is no way to teach make -n that it will be avoided. $(TM_H) $(RTL_H) toplev.h insn-config.h $(RECOG_H)
insn-modes.o : insn-modes.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
# Each of the insn-*.[ch] rules has a semicolon at the end, $(MACHMODE_H) real.h
# for otherwise the system Make on SunOS 4.1 never tries insn-opinit.o : insn-opinit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
# to recompile insn-*.o. To avoid problems and extra noise from $(TM_H) $(RTL_H) insn-config.h $(FLAGS_H) $(RECOG_H) $(EXPR_H) \
# versions of make which don't like empty commands (nothing after the $(OPTABS_H) reload.h
# trailing `;'), we call true for each. insn-output.o : insn-output.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
$(TM_H) $(RTL_H) $(GGC_H) $(REGS_H) real.h conditions.h \
insn-config.h: s-config ; @true hard-reg-set.h insn-config.h $(INSN_ATTR_H) $(EXPR_H) output.h \
s-config : $(MD_DEPS) build/genconfig$(build_exeext) $(RECOG_H) $(FUNCTION_H) toplev.h $(FLAGS_H) insn-codes.h $(TM_P_H) \
$(RUN_GEN) build/genconfig$(build_exeext) $(md_file) > tmp-config.h $(TARGET_H)
$(SHELL) $(srcdir)/../move-if-change tmp-config.h insn-config.h insn-peep.o : insn-peep.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(STAMP) s-config $(RTL_H) $(REGS_H) output.h real.h insn-config.h $(RECOG_H) except.h \
$(FUNCTION_H) $(TM_P_H)
insn-conditions.c: s-conditions ; @true insn-preds.o : insn-preds.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
s-conditions : $(MD_DEPS) build/genconditions$(build_exeext) $(TM_H) $(RTL_H) $(TREE_H) insn-config.h $(RECOG_H) real.h output.h \
$(RUN_GEN) build/genconditions$(build_exeext) $(md_file) > tmp-conditions.c $(FLAGS_H) $(FUNCTION_H) hard-reg-set.h $(RESOURCE_H) $(TM_P_H) \
$(SHELL) $(srcdir)/../move-if-change tmp-conditions.c insn-conditions.c toplev.h reload.h $(REGS_H)
$(STAMP) s-conditions insn-recog.o : insn-recog.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
$(TM_H) $(RTL_H) insn-config.h $(RECOG_H) real.h output.h $(FLAGS_H) \
build/insn-conditions.o : insn-conditions.c $(CONFIG_H) $(SYSTEM_H) \ $(FUNCTION_H) hard-reg-set.h $(RESOURCE_H) $(TM_P_H) toplev.h reload.h
$(GTM_H) $(RTL_H) $(TM_P_H) $(REGS_H) $(FUNCTION_H) $(RECOG_H) real.h output.h \
$(FLAGS_H) hard-reg-set.h $(RESOURCE_H) toplev.h reload.h gensupport.h \ # For each of the files generated by running a generator program over
insn-constants.h coretypes.h # the machine description, the following pair of static pattern rules
# runs the generator program only if the machine description has changed,
# but touches the target file only when its contents actually change.
# The "; @true" construct forces Make to recheck the timestamp on the
# target file.
simple_generated_h = insn-attr.h insn-codes.h insn-config.h \
insn-constants.h insn-flags.h
simple_generated_c = insn-attrtab.c insn-conditions.c insn-emit.c \
insn-extract.c insn-opinit.c insn-output.c \
insn-peep.c insn-recog.c
$(simple_generated_h): insn-%.h: s-%; @true
$(simple_generated_h:insn-%.h=s-%): s-%: $(MD_DEPS) build/gen%$(build_exeext)
$(RUN_GEN) build/gen$*$(build_exeext) $(md_file) > tmp-$*.h
$(SHELL) $(srcdir)/../move-if-change tmp-$*.h insn-$*.h
$(STAMP) s-$*
$(simple_generated_c): insn-%.c: s-%; @true
$(simple_generated_c:insn-%.c=s-%): s-%: $(MD_DEPS) build/gen%$(build_exeext)
$(RUN_GEN) build/gen$*$(build_exeext) $(md_file) > tmp-$*.c
$(SHELL) $(srcdir)/../move-if-change tmp-$*.c insn-$*.c
$(STAMP) s-$*
# gencheck doesn't read the machine description, and the file produced
# doesn't use the insn-* convention.
tree-check.h: s-check ; @true
s-check : build/gencheck$(build_exeext)
$(RUN_GEN) build/gencheck$(build_exeext) > tmp-check.h
$(SHELL) $(srcdir)/../move-if-change tmp-check.h tree-check.h
$(STAMP) s-check
build/dummy-conditions.o : dummy-conditions.c # These files are generated by running the same generator more than
# once with different options, so they have custom rules. The
# stampfile idiom is the same.
genrtl.c: s-genrtl; @true
genrtl.h: s-genrtl-h; @true
insn-flags.h: s-flags ; @true
s-flags : $(MD_DEPS) build/genflags$(build_exeext)
$(RUN_GEN) build/genflags$(build_exeext) $(md_file) > tmp-flags.h
$(SHELL) $(srcdir)/../move-if-change tmp-flags.h insn-flags.h
$(STAMP) s-flags
insn-codes.h: s-codes ; @true
s-codes : $(MD_DEPS) build/gencodes$(build_exeext)
$(RUN_GEN) build/gencodes$(build_exeext) $(md_file) > tmp-codes.h
$(SHELL) $(srcdir)/../move-if-change tmp-codes.h insn-codes.h
$(STAMP) s-codes
insn-constants.h: s-constants ; @true
s-constants : $(MD_DEPS) build/genconstants$(build_exeext)
$(RUN_GEN) build/genconstants$(build_exeext) $(md_file) > tmp-constants.h
$(SHELL) $(srcdir)/../move-if-change tmp-constants.h insn-constants.h
$(STAMP) s-constants
insn-emit.o : insn-emit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) $(EXPR_H) real.h output.h insn-config.h $(OPTABS_H) reload.h \
$(RECOG_H) toplev.h $(FUNCTION_H) $(FLAGS_H) hard-reg-set.h $(RESOURCE_H) \
$(TM_P_H) $(BASIC_BLOCK_H)
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) -c insn-emit.c \
$(OUTPUT_OPTION)
insn-emit.c: s-emit ; @true
s-emit : $(MD_DEPS) build/genemit$(build_exeext)
$(RUN_GEN) build/genemit$(build_exeext) $(md_file) > tmp-emit.c
$(SHELL) $(srcdir)/../move-if-change tmp-emit.c insn-emit.c
$(STAMP) s-emit
insn-recog.o : insn-recog.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) insn-config.h $(RECOG_H) real.h output.h $(FLAGS_H) $(FUNCTION_H) \
hard-reg-set.h $(RESOURCE_H) $(TM_P_H) toplev.h reload.h
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) -c insn-recog.c \
$(OUTPUT_OPTION)
insn-recog.c: s-recog ; @true
s-recog : $(MD_DEPS) build/genrecog$(build_exeext)
$(RUN_GEN) build/genrecog$(build_exeext) $(md_file) > tmp-recog.c
$(SHELL) $(srcdir)/../move-if-change tmp-recog.c insn-recog.c
$(STAMP) s-recog
insn-opinit.o : insn-opinit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) insn-config.h $(FLAGS_H) $(RECOG_H) $(EXPR_H) $(OPTABS_H) reload.h
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) -c insn-opinit.c \
$(OUTPUT_OPTION)
insn-opinit.c: s-opinit ; @true
s-opinit : $(MD_DEPS) build/genopinit$(build_exeext)
$(RUN_GEN) build/genopinit$(build_exeext) $(md_file) > tmp-opinit.c
$(SHELL) $(srcdir)/../move-if-change tmp-opinit.c insn-opinit.c
$(STAMP) s-opinit
insn-extract.o : insn-extract.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) toplev.h insn-config.h $(RECOG_H)
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) -c insn-extract.c \
$(OUTPUT_OPTION)
insn-extract.c: s-extract ; @true
s-extract : $(MD_DEPS) build/genextract$(build_exeext)
$(RUN_GEN) build/genextract$(build_exeext) $(md_file) > tmp-extract.c
$(SHELL) $(srcdir)/../move-if-change tmp-extract.c insn-extract.c
$(STAMP) s-extract
insn-peep.o : insn-peep.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) $(REGS_H) output.h real.h insn-config.h $(RECOG_H) except.h \
$(FUNCTION_H) $(TM_P_H)
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) -c insn-peep.c \
$(OUTPUT_OPTION)
insn-peep.c: s-peep ; @true
s-peep : $(MD_DEPS) build/genpeep$(build_exeext)
$(RUN_GEN) build/genpeep$(build_exeext) $(md_file) > tmp-peep.c
$(SHELL) $(srcdir)/../move-if-change tmp-peep.c insn-peep.c
$(STAMP) s-peep
insn-attrtab.o : insn-attrtab.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) $(REGS_H) real.h output.h $(INSN_ATTR_H) insn-config.h toplev.h \
$(RECOG_H) $(TM_P_H) $(FLAGS_H)
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) -c insn-attrtab.c \
$(OUTPUT_OPTION)
insn-attr.h: s-attr ; @true
s-attr : $(MD_DEPS) build/genattr$(build_exeext)
$(RUN_GEN) build/genattr$(build_exeext) $(md_file) > tmp-attr.h
$(SHELL) $(srcdir)/../move-if-change tmp-attr.h insn-attr.h
$(STAMP) s-attr
insn-attrtab.c: s-attrtab ; @true
s-attrtab : $(MD_DEPS) build/genattrtab$(build_exeext)
$(RUN_GEN) build/genattrtab$(build_exeext) $(md_file) > tmp-attrtab.c
$(SHELL) $(srcdir)/../move-if-change tmp-attrtab.c insn-attrtab.c
$(STAMP) s-attrtab
insn-output.o : insn-output.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) $(GGC_H) $(REGS_H) real.h conditions.h hard-reg-set.h \
insn-config.h $(INSN_ATTR_H) $(EXPR_H) output.h $(RECOG_H) $(FUNCTION_H) \
toplev.h $(FLAGS_H) insn-codes.h $(TM_P_H) $(TARGET_H)
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) -c insn-output.c \
$(OUTPUT_OPTION)
insn-output.c: s-output ; @true
s-output : $(MD_DEPS) build/genoutput$(build_exeext)
$(RUN_GEN) build/genoutput$(build_exeext) $(md_file) > tmp-output.c
$(SHELL) $(srcdir)/../move-if-change tmp-output.c insn-output.c
$(STAMP) s-output
genrtl.o : genrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
$(GGC_H)
genrtl.c genrtl.h : s-genrtl; @true
s-genrtl: build/gengenrtl$(build_exeext) s-genrtl: build/gengenrtl$(build_exeext)
$(RUN_GEN) build/gengenrtl$(build_exeext) -h > tmp-genrtl.h
$(SHELL) $(srcdir)/../move-if-change tmp-genrtl.h genrtl.h
$(RUN_GEN) build/gengenrtl$(build_exeext) > tmp-genrtl.c $(RUN_GEN) build/gengenrtl$(build_exeext) > tmp-genrtl.c
$(SHELL) $(srcdir)/../move-if-change tmp-genrtl.c genrtl.c $(SHELL) $(srcdir)/../move-if-change tmp-genrtl.c genrtl.c
$(STAMP) s-genrtl $(STAMP) s-genrtl
insn-modes.o : insn-modes.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ s-genrtl-h: build/gengenrtl$(build_exeext)
$(MACHMODE_H) real.h $(RUN_GEN) build/gengenrtl$(build_exeext) -h > tmp-genrtl.h
min-insn-modes.c insn-modes.c insn-modes.h : s-modes ; @true $(SHELL) $(srcdir)/../move-if-change tmp-genrtl.h genrtl.h
$(STAMP) s-genrtl-h
insn-modes.c: s-modes; @true
insn-modes.h: s-modes-h; @true
min-insn-modes.c: s-modes-m; @true
s-modes: build/genmodes$(build_exeext) s-modes: build/genmodes$(build_exeext)
$(RUN_GEN) build/genmodes$(build_exeext) > tmp-modes.c
$(SHELL) $(srcdir)/../move-if-change tmp-modes.c insn-modes.c
$(STAMP) s-modes
s-modes-h: build/genmodes$(build_exeext)
$(RUN_GEN) build/genmodes$(build_exeext) -h > tmp-modes.h $(RUN_GEN) build/genmodes$(build_exeext) -h > tmp-modes.h
$(SHELL) $(srcdir)/../move-if-change tmp-modes.h insn-modes.h $(SHELL) $(srcdir)/../move-if-change tmp-modes.h insn-modes.h
$(STAMP) s-modes-h
s-modes-m: build/genmodes$(build_exeext)
$(RUN_GEN) build/genmodes$(build_exeext) -m > tmp-min-modes.c $(RUN_GEN) build/genmodes$(build_exeext) -m > tmp-min-modes.c
$(SHELL) $(srcdir)/../move-if-change tmp-min-modes.c min-insn-modes.c $(SHELL) $(srcdir)/../move-if-change tmp-min-modes.c min-insn-modes.c
$(RUN_GEN) build/genmodes$(build_exeext) > tmp-modes.c $(STAMP) s-modes-m
$(SHELL) $(srcdir)/../move-if-change tmp-modes.c insn-modes.c
$(STAMP) s-modes
insn-preds.c tm-preds.h: s-preds; @true insn-preds.c: s-preds; @true
tm-preds.h: s-preds-h; @true
s-preds: $(MD_DEPS) build/genpreds$(build_exeext) s-preds: $(MD_DEPS) build/genpreds$(build_exeext)
$(RUN_GEN) build/genpreds$(build_exeext) -h $(md_file) > tmp-preds.h
$(SHELL) $(srcdir)/../move-if-change tmp-preds.h tm-preds.h
$(RUN_GEN) build/genpreds$(build_exeext) $(md_file) > tmp-preds.c $(RUN_GEN) build/genpreds$(build_exeext) $(md_file) > tmp-preds.c
$(SHELL) $(srcdir)/../move-if-change tmp-preds.c insn-preds.c $(SHELL) $(srcdir)/../move-if-change tmp-preds.c insn-preds.c
$(STAMP) s-preds $(STAMP) s-preds
insn-preds.o : insn-preds.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ s-preds-h: $(MD_DEPS) build/genpreds$(build_exeext)
$(RTL_H) $(TREE_H) insn-config.h $(RECOG_H) real.h output.h $(FLAGS_H) \ $(RUN_GEN) build/genpreds$(build_exeext) -h $(md_file) > tmp-preds.h
$(FUNCTION_H) hard-reg-set.h $(RESOURCE_H) $(TM_P_H) toplev.h reload.h \ $(SHELL) $(srcdir)/../move-if-change tmp-preds.h tm-preds.h
$(REGS_H) $(STAMP) s-preds-h
GTFILES = $(srcdir)/input.h $(srcdir)/coretypes.h \ GTFILES = $(srcdir)/input.h $(srcdir)/coretypes.h \
$(CPP_ID_DATA_H) $(host_xm_file_list) \ $(CPP_ID_DATA_H) $(host_xm_file_list) \
...@@ -2938,177 +2852,126 @@ s-gtype: build/gengtype$(build_exeext) $(GTFILES) ...@@ -2938,177 +2852,126 @@ s-gtype: build/gengtype$(build_exeext) $(GTFILES)
$(STAMP) s-gtype $(STAMP) s-gtype
# #
# Compile the programs that generate insn-* from the machine description. # How to compile object files to run on the build machine.
# They are compiled with $(CC_FOR_BUILD), and associated libraries,
# since they need to run on this machine
# even if GCC is being compiled to run on some other machine.
# $(CONFIG_H) is omitted from the deps of the gen*.o
# because these programs don't really depend on anything
# about the target machine. They do depend on config.h itself,
# since that describes the host machine.
# The names of programs that run on the "build" machine.
genprognames=genconfig genflags gencodes genemit genopinit genrecog \
genextract genpeep genattr genoutput
# The names of the executable files for those programs.
genprogs=$(genprognames:%=build/%$(build_exeext))
# Object files used in those programs.
genobjnames=$(genprognames:%=%.o) read-rtl.o gensupport.o genattrtab.o \
genautomata.o gengenrtl.o genmodes.o genpreds.o gengtype.o \
genconstants.o gen-protos.o scan.o fix-header.o scan-decls.o \
gencheck.o dummy-conditions.o genconditions.o errors.o ggc-none.o \
min-insn-modes.o rtl.o print-rtl.o varray.o gcov-iov.o \
insn-conditions.o gengtype-lex.o gengtype-yacc.o genmddeps.o \
genchecksum.o
genobjs=$(genobjnames:%=build/%)
$(genprogs): %$(build_exeext): %.o $(BUILD_RTL) $(BUILD_SUPPORT) \
$(BUILD_PRINT) $(BUILD_ERRORS) \
$(BUILD_LIBDEPS)
$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
$< $(BUILD_RTL) $(BUILD_SUPPORT) $(BUILD_PRINT) \
$(BUILD_ERRORS) $(BUILD_LIBS)
$(genobjs): %.o : # dependencies provided by explicit rule later build/%.o : # dependencies provided by explicit rule later
$(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) -o $@ $< $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) -o $@ $<
build/read-rtl.o: read-rtl.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) \ # Header dependencies for the programs that generate source code.
$(RTL_BASE_H) $(OBSTACK_H) $(HASHTAB_H) # These are library modules...
build/dummy-conditions.o : dummy-conditions.c
build/gensupport.o: gensupport.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h \ build/errors.o : errors.c $(BCONFIG_H) $(SYSTEM_H) errors.h
$(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) errors.h $(HASHTAB_H) gensupport.h build/gensupport.o: gensupport.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h \
$(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) errors.h $(HASHTAB_H) \
build/genconfig.o : genconfig.c $(RTL_BASE_H) $(BCONFIG_H) \ gensupport.h
$(SYSTEM_H) coretypes.h $(GTM_H) errors.h gensupport.h build/ggc-none.o : ggc-none.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h \
$(GGC_H)
build/genflags.o : genflags.c $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H) \ build/min-insn-modes.o : min-insn-modes.c $(BCONFIG_H) $(SYSTEM_H) \
$(SYSTEM_H) coretypes.h $(GTM_H) errors.h gensupport.h $(MACHMODE_H)
build/print-rtl.o: print-rtl.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h \
build/gencodes.o : gencodes.c $(RTL_BASE_H) $(BCONFIG_H) \ $(GTM_H) $(RTL_BASE_H)
$(SYSTEM_H) coretypes.h $(GTM_H) errors.h gensupport.h build/read-rtl.o: read-rtl.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h \
$(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) $(HASHTAB_H)
build/genmddeps$(build_exeext) : build/genmddeps.o $(BUILD_RTL) \ build/rtl.o: rtl.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) \
$(BUILD_EARLY_SUPPORT) $(BUILD_ERRORS) $(BUILD_LIBDEPS) $(RTL_H) real.h $(GGC_H) errors.h
$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \ build/varray.o: varray.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) \
build/genmddeps.o $(BUILD_EARLY_SUPPORT) $(BUILD_RTL) \ $(VARRAY_H) $(RTL_BASE_H) $(GGC_H) $(TREE_H) bitmap.h errors.h
$(BUILD_ERRORS) $(BUILD_LIBS) build/insn-conditions.o : insn-conditions.c $(CONFIG_H) $(SYSTEM_H) \
$(GTM_H) $(RTL_H) $(TM_P_H) $(REGS_H) $(FUNCTION_H) $(RECOG_H) real.h \
build/genmddeps.o: genmddeps.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h \ output.h $(FLAGS_H) hard-reg-set.h $(RESOURCE_H) toplev.h reload.h \
$(GTM_H) $(RTL_BASE_H) errors.h gensupport.h gensupport.h insn-constants.h coretypes.h
build/genconstants$(build_exeext) : build/genconstants.o $(BUILD_RTL) \
$(BUILD_EARLY_SUPPORT) $(BUILD_ERRORS) $(BUILD_LIBDEPS)
$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
build/genconstants.o $(BUILD_EARLY_SUPPORT) $(BUILD_RTL) \
$(BUILD_ERRORS) $(BUILD_LIBS)
build/genconstants.o : genconstants.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \
coretypes.h $(GTM_H) errors.h
build/genemit.o : genemit.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \ # ...these are the programs themselves.
build/genattr.o : genattr.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \
coretypes.h $(GTM_H) errors.h gensupport.h coretypes.h $(GTM_H) errors.h gensupport.h
build/genattrtab.o : genattrtab.c $(RTL_BASE_H) $(OBSTACK_H) \
build/genopinit.o : genopinit.c $(RTL_BASE_H) $(BCONFIG_H) \ $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) errors.h $(GGC_H) \
$(SYSTEM_H) coretypes.h $(GTM_H) errors.h gensupport.h gensupport.h genattrtab.h
build/genautomata.o : genautomata.c $(RTL_BASE_H) $(OBSTACK_H) \
build/genrecog.o : genrecog.c $(RTL_BASE_H) $(BCONFIG_H) \ $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) errors.h $(VARRAY_H) \
$(SYSTEM_H) coretypes.h $(GTM_H) errors.h gensupport.h genattrtab.h $(HASHTAB_H)
build/gencheck.o : gencheck.c gencheck.h tree.def $(BCONFIG_H) $(GTM_H) \
build/genextract.o : genextract.c $(RTL_BASE_H) $(BCONFIG_H) \ $(SYSTEM_H) coretypes.h $(lang_tree_files)
$(SYSTEM_H) coretypes.h $(GTM_H) insn-config.h errors.h gensupport.h build/genchecksum.o : genchecksum.c $(BCONFIG_H) $(SYSTEM_H) $(MD5_H)
build/gencodes.o : gencodes.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \
build/genpeep.o : genpeep.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \
coretypes.h $(GTM_H) errors.h gensupport.h coretypes.h $(GTM_H) errors.h gensupport.h
build/genconditions.o : genconditions.c $(RTL_BASE_H) $(BCONFIG_H) \
build/genattr.o : genattr.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \ $(SYSTEM_H) coretypes.h $(GTM_H) errors.h
build/genconfig.o : genconfig.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \
coretypes.h $(GTM_H) errors.h gensupport.h coretypes.h $(GTM_H) errors.h gensupport.h
build/genconstants.o : genconstants.c $(RTL_BASE_H) $(BCONFIG_H) \
build/genattrtab$(build_exeext) : build/genattrtab.o build/genautomata.o \ $(SYSTEM_H) coretypes.h $(GTM_H) errors.h
$(BUILD_RTL) $(BUILD_SUPPORT) $(BUILD_PRINT) $(BUILD_ERRORS) \ build/genemit.o : genemit.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \
$(BUILD_VARRAY) $(BUILD_LIBDEPS) coretypes.h $(GTM_H) errors.h gensupport.h
$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \ build/genextract.o : genextract.c $(RTL_BASE_H) $(BCONFIG_H) \
build/genattrtab.o build/genautomata.o \ $(SYSTEM_H) coretypes.h $(GTM_H) insn-config.h errors.h gensupport.h
$(BUILD_RTL) $(BUILD_SUPPORT) $(BUILD_PRINT) $(BUILD_ERRORS) \ build/genflags.o : genflags.c $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H) \
$(BUILD_VARRAY) $(BUILD_LIBS) -lm
build/genattrtab.o : genattrtab.c $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H) \
$(SYSTEM_H) coretypes.h $(GTM_H) errors.h $(GGC_H) gensupport.h genattrtab.h
build/genautomata.o : genautomata.c $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H) \
$(SYSTEM_H) coretypes.h $(GTM_H) errors.h $(VARRAY_H) genattrtab.h \
$(HASHTAB_H)
build/genoutput.o : genoutput.c $(RTL_BASE_H) $(BCONFIG_H) \
$(SYSTEM_H) coretypes.h $(GTM_H) errors.h gensupport.h $(SYSTEM_H) coretypes.h $(GTM_H) errors.h gensupport.h
build/gengenrtl$(build_exeext) : build/gengenrtl.o $(BUILD_ERRORS) \
$(BUILD_LIBDEPS)
$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
build/gengenrtl.o $(BUILD_ERRORS) $(BUILD_LIBS)
build/gengenrtl.o : gengenrtl.c $(BCONFIG_H) $(SYSTEM_H) rtl.def build/gengenrtl.o : gengenrtl.c $(BCONFIG_H) $(SYSTEM_H) rtl.def
build/gengtype-lex.o : gengtype-lex.c gengtype.h gengtype-yacc.h \
$(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) vec.h
build/gengtype-yacc.o : gengtype-yacc.c gengtype.h $(BCONFIG_H) \
$(SYSTEM_H) coretypes.h $(GTM_H)
build/gengtype.o : gengtype.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h \
$(GTM_H) gengtype.h gtyp-gen.h rtl.def insn-notes.def errors.h
build/genmddeps.o: genmddeps.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h \
$(GTM_H) $(RTL_BASE_H) errors.h gensupport.h
build/genmodes.o : genmodes.c $(BCONFIG_H) $(SYSTEM_H) errors.h \
$(HASHTAB_H) machmode.def $(extra_modes_file)
build/genopinit.o : genopinit.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \
coretypes.h $(GTM_H) errors.h gensupport.h
build/genoutput.o : genoutput.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \
coretypes.h $(GTM_H) errors.h gensupport.h
build/genpeep.o : genpeep.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \
coretypes.h $(GTM_H) errors.h gensupport.h
build/genpreds.o : genpreds.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \
coretypes.h $(GTM_H) errors.h gensupport.h $(OBSTACK_H)
build/genrecog.o : genrecog.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \
coretypes.h $(GTM_H) errors.h gensupport.h
build/genmodes$(build_exeext) : build/genmodes.o $(BUILD_ERRORS) \ # Compile the programs that generate insn-* from the machine description.
$(BUILD_LIBDEPS) # They are compiled with $(CC_FOR_BUILD), and associated libraries,
$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \ # since they need to run on this machine
build/genmodes.o $(BUILD_ERRORS) $(BUILD_LIBS) # even if GCC is being compiled to run on some other machine.
build/genmodes.o : genmodes.c $(BCONFIG_H) $(SYSTEM_H) errors.h $(HASHTAB_H) \
machmode.def $(extra_modes_file)
build/genpreds$(build_exeext) : build/genpreds.o $(BUILD_RTL) \ # As a general rule...
$(BUILD_EARLY_SUPPORT) $(BUILD_PRINT) $(BUILD_ERRORS) $(BUILD_LIBDEPS) build/gen%$(build_exeext): build/gen%.o $(BUILD_LIBDEPS)
$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \ $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
build/genpreds.o $(BUILD_RTL) $(BUILD_EARLY_SUPPORT) $(BUILD_PRINT) \ $(filter-out $(BUILD_LIBDEPS), $^) $(BUILD_LIBS)
$(BUILD_ERRORS) $(BUILD_LIBS)
build/genpreds.o : genpreds.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \ # All these programs have the same additional dependency set.
coretypes.h $(GTM_H) errors.h gensupport.h $(OBSTACK_H) genprognormal = attr codes config emit extract flags opinit output peep recog
$(genprognormal:%=build/gen%$(build_exeext)): $(BUILD_RTL) $(BUILD_SUPPORT) \
$(BUILD_PRINT) $(BUILD_ERRORS)
build/gengtype$(build_exeext) : build/gengtype.o build/gengtype-lex.o \ # And all of these, but it's a different set.
build/gengtype-yacc.o $(BUILD_LIBDEPS) $(BUILD_ERRORS) genprogearly = mddeps constants conditions preds
$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \ $(genprogearly:%=build/gen%$(build_exeext)): $(BUILD_RTL) $(BUILD_ERRORS) \
build/gengtype.o build/gengtype-lex.o build/gengtype-yacc.o \ $(BUILD_EARLY_SUPPORT)
$(BUILD_ERRORS) $(BUILD_LIBS) build/genpreds$(build_exeext) : $(BUILD_PRINT)
build/gengtype.o : gengtype.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) \ build/gengenrtl$(build_exeext) : $(BUILD_ERRORS)
gengtype.h gtyp-gen.h rtl.def insn-notes.def errors.h build/genmodes$(build_exeext) : $(BUILD_ERRORS)
build/gengtype-lex.o : gengtype-lex.c gengtype.h gengtype-yacc.h \ # These programs are made from more than one source file.
$(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) vec.h # The primary source file comes from the pattern rule above.
build/genattrtab$(build_exeext) : build/genautomata.o \
$(BUILD_RTL) $(BUILD_SUPPORT) $(BUILD_PRINT) $(BUILD_ERRORS) \
$(BUILD_VARRAY)
build/genattrtab$(build_exeext) : BUILD_LIBS += -lm
build/gengtype-yacc.o : gengtype-yacc.c gengtype.h $(BCONFIG_H) $(SYSTEM_H) \ build/gengtype$(build_exeext) : build/gengtype-lex.o \
coretypes.h $(GTM_H) build/gengtype-yacc.o $(BUILD_ERRORS)
# Generated source files for gengtype.
gengtype-lex.c : gengtype-lex.l gengtype-lex.c : gengtype-lex.l
-$(FLEX) $(FLEXFLAGS) -o$@ $< -$(FLEX) $(FLEXFLAGS) -o$@ $<
# This is a pattern rule solely so that Make knows it need not run the
gengtype-yacc.c gengtype-yacc.h: gengtype-yacc.y # command twice. The modifier to $@ ensures that Bison is asked to
-$(BISON) $(BISONFLAGS) -d -o gengtype-yacc.c $< # produce a .c file, whether or not Make decides it needs the .h file
# first.
build/genconditions$(build_exeext) : build/genconditions.o \ gengtype-y%.c gengtype-y%.h: gengtype-y%.y
$(BUILD_EARLY_SUPPORT) $(BUILD_RTL) $(BUILD_ERRORS) $(BUILD_LIBDEPS) -$(BISON) $(BISONFLAGS) -d -o $(@:.h=.c) $<
$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
build/genconditions.o $(BUILD_EARLY_SUPPORT) $(BUILD_RTL) \
$(BUILD_ERRORS) $(BUILD_LIBS)
build/genconditions.o : genconditions.c $(RTL_BASE_H) $(BCONFIG_H) \
$(SYSTEM_H) coretypes.h $(GTM_H) errors.h
build/errors.o : errors.c $(BCONFIG_H) $(SYSTEM_H) errors.h
build/ggc-none.o : ggc-none.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GGC_H)
build/min-insn-modes.o : min-insn-modes.c $(BCONFIG_H) $(SYSTEM_H) \
$(MACHMODE_H)
build/rtl.o: rtl.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) $(RTL_H) \
real.h $(GGC_H) errors.h
build/print-rtl.o: print-rtl.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) \
$(RTL_BASE_H)
build/varray.o: varray.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) \
$(VARRAY_H) $(RTL_BASE_H) $(GGC_H) $(TREE_H) bitmap.h errors.h
# #
# Remake internationalization support. # Remake internationalization support.
...@@ -3208,7 +3071,7 @@ test-protoize-simple: ./protoize ./unprotoize $(GCC_PASSES) ...@@ -3208,7 +3071,7 @@ test-protoize-simple: ./protoize ./unprotoize $(GCC_PASSES)
# gcov-iov.c is run on the build machine to generate gcov-iov.h from version.c # gcov-iov.c is run on the build machine to generate gcov-iov.h from version.c
build/gcov-iov.o: gcov-iov.c $(BCONFIG_H) coretypes.h $(GTM_H) \ build/gcov-iov.o: gcov-iov.c $(BCONFIG_H) coretypes.h $(GTM_H) \
$(SYSTEM_H) coretypes.h $(TM_H) $(SYSTEM_H) coretypes.h $(TM_H)
build/gcov-iov$(build_exeext): build/gcov-iov.o build/gcov-iov$(build_exeext): build/gcov-iov.o
$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) build/gcov-iov.o -o $@ $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) build/gcov-iov.o -o $@
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment