configure.in: If not NO_MINUS_C_MINUS_O, substitute OUTPUT_OPTION with '-o $@'.

* configure.in: If not NO_MINUS_C_MINUS_O, substitute
	OUTPUT_OPTION with '-o $@'.  Make zlibdir, zlibinc relative to
	top level.  Kill oldstyle_subdirs.  Do not include
	$srcdir/$s/Makefile.in in all_lang_makefiles, but do include
	$outputs.  Do not run configure.lang from config.status.
	Rearrange warning-flag logic to correspond to what the
	makefile wants.  Put special vax stage1 options in
	@stage1_flags@ not @stage1_warn_cflags@.  Don't do anything
	with extra_c_objs, extra_cxx_objs, or extra_cpp_objs.
	(--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if
	switch is given, nothing otherwise.
	* configure.lang: Delete.

        * Makefile.in: Expunge all traces of extra_c_objs,
        extra_cxx_objs, and extra_cpp_objs.  Set MAYBE_CPPLIB from
        @maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS.  Set
        warning options via a three level scheme so that -pedantic and
        -Wtraditional are not used for non-C front ends: LOOSE_WARN,
        STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS ->
        WARN_CFLAGS.  Distinguish STAGE1_CFLAGS from BOOT_CFLAGS.
	Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES.
	Set OUTPUT_OPTION, ZLIB, ZLIBINC.  Do not set P,
        LANG_FLAGS_TO_PASS.  Add OUTPUT_OPTION to all object-file
        generation rules.  Wrap all rules that change the current
        directory in parentheses; pmake doesn't spawn a new shell for
        each command.  Expunge all references to $(P).  When one
        command depends on another and they're run all at once, use &&
        to separate them, not ;.  Add libgcc_s$(SHLIB_EXT) to files
        deleted on make clean.  Force OUTPUT_OPTION='-o $@' in stage2
        and beyond.

	* cp/Make-lang.in, f/Make-lang.in, java/Make-lang.in,
	objc/Make-lang.in: Wrap all rules that change the current
	directory in parentheses.  Expunge all references to $(P).
	When one command depends on another and they're run all at
	once, use && to separate them, not ;.  Add OUTPUT_OPTION to
	all object-file generation rules.  Delete obsolete variables.
	Move all build rules here from the corresponding Makefile.in and
	adapt to the new environment.

	* cp/Makefile.in, f/Makefile.in, java/Makefile.in, objc/Makefile.in:
	Delete.

	* cp/config-lang.in, f/config-lang.in, java/config-lang.in:
	Delete outputs= line.

From-SVN: r37088
This commit is contained in:
Zack Weinberg 2000-10-27 20:22:28 +00:00
parent fadb729c6d
commit b8dad04b68
20 changed files with 1074 additions and 2176 deletions

View File

@ -1,3 +1,43 @@
2000-10-27 Zack Weinberg <zack@wolery.stanford.edu>
* configure.in: If not NO_MINUS_C_MINUS_O, substitute
OUTPUT_OPTION with '-o $@'. Make zlibdir, zlibinc relative to
top level. Kill oldstyle_subdirs. Do not include
$srcdir/$s/Makefile.in in all_lang_makefiles, but do include
$outputs. Do not run configure.lang from config.status.
Rearrange warning-flag logic to correspond to what the
makefile wants. Put special vax stage1 options in
@stage1_flags@ not @stage1_warn_cflags@. Don't do anything
with extra_c_objs, extra_cxx_objs, or extra_cpp_objs.
(--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if
switch is given, nothing otherwise.
* configure.lang: Delete.
* Makefile.in: Expunge all traces of extra_c_objs,
extra_cxx_objs, and extra_cpp_objs. Set MAYBE_CPPLIB from
@maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS. Set
warning options via a three level scheme so that -pedantic and
-Wtraditional are not used for non-C front ends: LOOSE_WARN,
STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS ->
WARN_CFLAGS. Distinguish STAGE1_CFLAGS from BOOT_CFLAGS.
Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES.
Set OUTPUT_OPTION, ZLIB, ZLIBINC. Do not set P,
LANG_FLAGS_TO_PASS. Add OUTPUT_OPTION to all object-file
generation rules. Wrap all rules that change the current
directory in parentheses; pmake doesn't spawn a new shell for
each command. Expunge all references to $(P). When one
command depends on another and they're run all at once, use &&
to separate them, not ;. Add libgcc_s$(SHLIB_EXT) to files
deleted on make clean. Force OUTPUT_OPTION='-o $@' in stage2
and beyond.
* objc/Make-lang.in: Wrap all rules that change the current
directory in parentheses. Expunge all references to $(P).
When one command depends on another and they're run all at
once, use && to separate them, not ;. Add OUTPUT_OPTION to
all object-file generation rules. Delete obsolete variables.
* objc/Makefile.in: Delete.
2000-10-27 Jakub Jelinek <jakub@redhat.com>
* calls.c (expand_call): If sibcall_failure is set during pass 1,
@ -10,7 +50,7 @@
2000-10-26 Richard Henderson <rth@redhat.com>
* calls.c (expand_call): Supress sibcall if we have a
* calls.c (expand_call): Supress sibcall if we have a
BLKmode return in registers.
2000-10-26 Bernd Schmidt <bernds@redhat.co.uk>
@ -63,8 +103,8 @@
2000-10-25 Neil Booth <neilb@earthling.net>
* cpp.texi: Update with implementation-defined behavior and
internal limits.
* cpp.texi: Update with implementation-defined behavior and
internal limits.
2000-10-25 Jakub Jelinek <jakub@redhat.com>
@ -82,14 +122,14 @@ Wed Oct 25 01:02:44 EDT 2000 John Wehle (john@feith.com)
* config/mn10300/mn10300.c (secondary_reload_class): Treat pseudos
like memory.
2000-10-24 Jim Wilson <wilson@cygnus.com>
* expmed.c (store_bit_field): Move integer pun code down after
code that calls emit_move_insn for entire register move.
* stor-layout.c (compute_record_mode): Revert Mar 25, Aug 18, and
Oct 20 changes. Only store mode in TYPE_MODE if RECORD_TYPE.
2000-10-24 Richard Henderson <rth@cygnus.com>
* rtlanal.c (rtx_unstable_p, rtx_varies_p): Don't consider pic
@ -97,13 +137,13 @@ Wed Oct 25 01:02:44 EDT 2000 John Wehle (john@feith.com)
2000-10-24 Aldy Hernandez <aldyh@redhat.com>
* gcse.c (cprop_insn): do not propagate constants into jump_insn
for machines with CC0 more than once.
* gcse.c (cprop_insn): do not propagate constants into jump_insn
for machines with CC0 more than once.
2000-10-24 Richard Henderson <rth@cygnus.com>, Aldy <aldyh@cygnus.com>
* config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS): Treat
pseudos just like memory.
* config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS): Treat
pseudos just like memory.
2000-10-24 Alexandre Oliva <aoliva@redhat.com>
@ -142,7 +182,7 @@ Wed Oct 25 01:02:44 EDT 2000 John Wehle (john@feith.com)
2000-10-23 Richard Henderson <rth@cygnus.com>
* config/ia64/ia64.c (ia64_expand_prologue): Mark extra
* config/ia64/ia64.c (ia64_expand_prologue): Mark extra
output registers as fixed.
(ia64_function_epilogue): Undo output fixation.
@ -206,8 +246,8 @@ Wed Oct 18 11:16:40 2000 Donald Lindsay <dlindsay@cygnus.com>
2000-10-21 Chandrakala Chavva <cchavva@redhat.com>
* libgcc-std.ver (__addvsi3, __addvdi3, __subvsi3, __subvdi3,
__mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
New functions.
__mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
New functions.
2000-10-22 Alexandre Oliva <aoliva@redhat.com>
@ -375,7 +415,7 @@ Fri Oct 20 13:33:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
if one is still available after register allocation.
2000-10-20 J. David Anglin <dave@hiauly1.hia.nrc.ca>
* t-vax: New file. Don't build modules from libgcc1.c.
Fri Oct 20 00:57:00 EDT 2000 John Wehle (john@feith.com)
@ -418,7 +458,7 @@ Fri Oct 20 00:57:00 EDT 2000 John Wehle (john@feith.com)
factor of 2.
* config/ia64/ia64.md (movdi_symbolic): Document loss of REG_LABEL
notes.
2000-10-19 Chandrakala Chavva <cchavva@redhat.com>
* libgcc2.c (_mulvsi3): Change variables u and v to a and b.
@ -438,47 +478,47 @@ Thu Oct 19 14:25:11 MET DST 2000 Jan Hubicka <jh@suse.cz>
2000-10-18 Chandrakala Chavva <cchavva@redhat.com>
* expmed.c (expand_mult): Don't do synth_mult optimization for -ftrapv.
Use smulv_optab for -ftrapv.
(expand_mult_highpart): Use unsigned multiply.
(expand_divmod): Special-case division by -1.
For EXACT_DIV_EXPR, do right shift first, then the multiply.
For complex divide, use abs with unsigned result.
* expr.c (force_operand): Use unsigned multiply.
(expand_expr): Use overflow-trapping optabs for signed types if
flag_trapv.
If flag_trapv, don't generate a recursive call with EXPAND_SUM
if the type is signed and the original call wasn't EXPAND_SUM or
EXPAND_INITIALIZER.
* expr.h (addv_optab, subv_optab, smulv_optab, sdivv_optab): Declare.
(negv_optab, absv_optab): Declare.
* flags.h (flag_trapv): Declare.
* genopinit.c (optabs): Add entries for addv_optab, subv_optab,
smulv_optab, sdivv_optab, negv_optab and absv_optab.
* expmed.c (expand_mult): Don't do synth_mult optimization for -ftrapv.
Use smulv_optab for -ftrapv.
(expand_mult_highpart): Use unsigned multiply.
(expand_divmod): Special-case division by -1.
For EXACT_DIV_EXPR, do right shift first, then the multiply.
For complex divide, use abs with unsigned result.
* expr.c (force_operand): Use unsigned multiply.
(expand_expr): Use overflow-trapping optabs for signed types if
flag_trapv.
If flag_trapv, don't generate a recursive call with EXPAND_SUM
if the type is signed and the original call wasn't EXPAND_SUM or
EXPAND_INITIALIZER.
* expr.h (addv_optab, subv_optab, smulv_optab, sdivv_optab): Declare.
(negv_optab, absv_optab): Declare.
* flags.h (flag_trapv): Declare.
* genopinit.c (optabs): Add entries for addv_optab, subv_optab,
smulv_optab, sdivv_optab, negv_optab and absv_optab.
(gen_insn): Interpret '$P' as requiring an integer mode,
including partial integer modes.
* loop.c (emit_iv_add_mult): Use unsigned expand_mult_add.
(product_cheap_p): Use unsigned expand_mult.
* optabs.c (addv_optab, subv_optab, smulv_optab, sdivv_optab): Define.
(negv_optab, absv_optab): Define.
(expand_binop): Use overflow-trapping optabs for signed types if
flag_trapv.
Handle negv_optab libe neg_optab.
(expand_abs): Take result_unsignedp argument instead of unsignedp one.
Use overflow-trapping optabs for signed result if flag_trapv.
(expand_complex_abs): Use overflow-trapping optabs for signed types if
flag_trapv.
Don't open-code complex absolute-value operation for flag_trapv.
(init_optabs): Initialize addv_optab, subv_optab, smulv_optab,
sdivv_optab, negv_optab and absv_optab.
* toplev.c (flag_trapv): Define.
(lang_independent_options f_options): Include flag_trapv.
* tree.h (TYPE_TRAP_SIGNED): Define.
* libgcc2.c (__addvsi3, __addvdi3, __subvsi3,__subvsi3, __subvdi3,
__mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
New functions.
* Makefile.in: add _absvsi2 _absvdi2 _addvsi3 _addvdi3 _subvsi3
_subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2.
including partial integer modes.
* loop.c (emit_iv_add_mult): Use unsigned expand_mult_add.
(product_cheap_p): Use unsigned expand_mult.
* optabs.c (addv_optab, subv_optab, smulv_optab, sdivv_optab): Define.
(negv_optab, absv_optab): Define.
(expand_binop): Use overflow-trapping optabs for signed types if
flag_trapv.
Handle negv_optab libe neg_optab.
(expand_abs): Take result_unsignedp argument instead of unsignedp one.
Use overflow-trapping optabs for signed result if flag_trapv.
(expand_complex_abs): Use overflow-trapping optabs for signed types if
flag_trapv.
Don't open-code complex absolute-value operation for flag_trapv.
(init_optabs): Initialize addv_optab, subv_optab, smulv_optab,
sdivv_optab, negv_optab and absv_optab.
* toplev.c (flag_trapv): Define.
(lang_independent_options f_options): Include flag_trapv.
* tree.h (TYPE_TRAP_SIGNED): Define.
* libgcc2.c (__addvsi3, __addvdi3, __subvsi3,__subvsi3, __subvdi3,
__mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
New functions.
* Makefile.in: add _absvsi2 _absvdi2 _addvsi3 _addvdi3 _subvsi3
_subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2.
2000-10-18 Geoffrey Keating <geoffk@cygnus.com>
David V. Henkel-Wallace <gumby@cygnus.com>
@ -503,7 +543,7 @@ Thu Oct 19 14:25:11 MET DST 2000 Jan Hubicka <jh@suse.cz>
(flag_no_nonansi_builtin): Likewise.
(init_decl_processing): Adjust call to
c_common_nodes_and_builtins.
2000-10-18 Marc Espie <espie@openbsd.org>
* tm.texi (LIBGCC_SPEC): Synch with reality.
@ -557,18 +597,18 @@ Thu Oct 19 14:25:11 MET DST 2000 Jan Hubicka <jh@suse.cz>
* emit-rtl.c (init_emit_once): Initialize the const_int_htab
earlier.
2000-10-18 Jan Hubicka <jh@suse.cz>
* i386.c (ix86_comparison_operator, put_condition_code,
ix86_match_ccmode, ix86_cc_mode): Handle CCRCmode.
(ix86_expand_strlensi_unroll_1): Use CCRCmode.
* i386.h (EXTRA_CC_MODES): Add CCRCmode.
* i386.md (adddi and negdi splitter): Use CCRCmode.
(add?i_3, add?i_4, add?i_5): Use CCRCmode; swap operands
(subsi3_carry): add '*'
(addsi3_carry_rc, subsi3_carry_rc, x86_movsicc_0_m1_rc): New.
(cmp to add peep2): Use CCRCmode; swap operands.
* i386.c (ix86_comparison_operator, put_condition_code,
ix86_match_ccmode, ix86_cc_mode): Handle CCRCmode.
(ix86_expand_strlensi_unroll_1): Use CCRCmode.
* i386.h (EXTRA_CC_MODES): Add CCRCmode.
* i386.md (adddi and negdi splitter): Use CCRCmode.
(add?i_3, add?i_4, add?i_5): Use CCRCmode; swap operands
(subsi3_carry): add '*'
(addsi3_carry_rc, subsi3_carry_rc, x86_movsicc_0_m1_rc): New.
(cmp to add peep2): Use CCRCmode; swap operands.
2000-10-18 Kazu Hirata <kazu@hxi.com>
@ -643,13 +683,13 @@ Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org>
* cppinit.c (new_pending_directive) : New option OPT_target__help.
(cpp_handle_option): Support this new option.
* invoke.texi: Added notes about --target-help option.
2000-10-17 Graham Stott <grahams@redhat.com>
* config/i386/i386.md (testqi_1): Add missing operand prefix
for operand 0.
* config/i386/i386-protos.h: Add missing prototype.
2000-10-17 Diego Novillo <dnovillo@cygnus.com>
* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Symbol
@ -779,7 +819,7 @@ Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org>
2000-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* Makefile.in (c-parse.c, tradcif.c): Create atomically.
* objc/Make-lang.in (objc-parse.c): Likewise.
2000-10-13 Richard Earnshaw <rearnsha@arm.com>
@ -811,29 +851,29 @@ Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org>
2000-10-12 Mark Mitchell <mark@codesourcery.com>
Remove obstacks.
Remove obstacks.
* Makefile.in (ggc-callbacks.o): Remove target.
(flow.o): Depend on GGC_H.
(flow.o): Depend on GGC_H.
* alias.c (init_alias_analysis):
Remove ggc_p conditionals.
(end_alias_analysis): Likewise.
(end_alias_analysis): Likewise.
* basic-block.h (init_flow): New function.
(allocate_reg_life_data): Declare.
(allocate_reg_life_data): Declare.
* bb-reorder.c (function_obstack): Replace with ...
(flow_obstack): ... new variable.
(fixup_reorder_chain): Use it.
(fixup_reorder_chain): Use it.
* c-decl.c (ggc_p): Remove.
(caller-save.c): Don't call oballoc/obfree.
(caller-save.c): Don't call oballoc/obfree.
* combine.c (struct
undobuf): Remove storage.
(try_combine): Don't call oballoc.
(undo_all): Don't call obfree.
(undo_all): Don't call obfree.
* cse.c (insert): Use xmalloc, not
oballoc.
(cse_main): Adjust accordingly.
(cse_main): Adjust accordingly.
* dwarf2out.c (save_rtx): Remove
obstack code.
(dwarf2out_init): Remove ggc_p conditionals.
(dwarf2out_init): Remove ggc_p conditionals.
* emit-rtl.c (rtl_obstack): Remove.
(gen_rtx_CONST_INT): Remove ggc_p conditionals.
(make_insn_raw): Likewise.
@ -842,19 +882,19 @@ Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org>
(emit_insn): Likewise.
(gen_sequence): Likewise.
(copy_insn_1): Remove handling of `b' RTL components.
(init_emit_once): Remove ggc_p conditionals.
(init_emit_once): Remove ggc_p conditionals.
* except.c (create_rethrow_ref): Don't fool with obstacks.
(add_partial_entry): Likewise.
(call_get_eh_context): Likewise.
(begin_protect_partials): Likewise.
(protect_with_terminate): Likewise.
(protect_with_terminate): Likewise.
* explow.c
(plus_constant_wide): Likewise.
(plus_constant_wide): Likewise.
* expr.c (init_expr_once):
Likewise.
(emit_block_move): Likewise.
(clear_storage): Likewise.
(expand_expr): Likewise.
(expand_expr): Likewise.
* flow.c (function_obstack): Remove.
(flow_obstack): New variable.
(flow_firstobj): Likewise.
@ -864,7 +904,7 @@ Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org>
(calculate_global_regs_live): Likewise.
(allocate_bb_life_data): Make it static. Likewiwse.
(init_flow): New function.
(size_int_type_wide): Remove ggc_p conditionals.
(size_int_type_wide): Remove ggc_p conditionals.
* function.c
(push_function_context_to): Don't call save_tree_status.
(pop_function_context_from): Or restore_tree_status.
@ -874,28 +914,28 @@ Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org>
(insns_for_mem_walk): Don't mess with obstacks.
(instantiate_decls): Likewise.
(trampoline_address): Likewise.
(expand_function_end): Likewise.
(expand_function_end): Likewise.
* function.h (sturct function):
Remove obstack-related variables.
(save_tree_status): Don't declare.
(restore_tree_status): Likewise.
(restore_tree_status): Likewise.
* gcse.c (compute_can_copy):
Don't call oballoc/obfree.
Don't call oballoc/obfree.
* genattrtab.c (operate_exp): Remove
ggc_p conditionals.
(simplify_cond): Likewise.
(simplify_test_exp): Don't mess with obstacks.
(optimize_attrs): Likewise.
(optimize_attrs): Likewise.
* gengenrtl.c (gendef): Don't include
ggc_p conditionals.
* ggc-callbacks.c (ggc_p): Remove.
* ggc-none.c (ggc_p): Remove.
* ggc.h (ggc_p): Don't declare.
ggc_p conditionals.
* ggc-callbacks.c (ggc_p): Remove.
* ggc-none.c (ggc_p): Remove.
* ggc.h (ggc_p): Don't declare.
* integrate.c (save_for_inline): Don't mess with obstacks.
(integrate_decl_tree): Likewise.
(output_inline_function): Likewise.
(output_inline_function): Likewise.
* lists.c
(init_EXPR_INSN_LIST_cache): Likewise.
(init_EXPR_INSN_LIST_cache): Likewise.
* loop.c (temp_obstack):
Remove.
(rtl_obstack): Likewise.
@ -905,37 +945,37 @@ Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org>
(find_mem_givs): Likewise.
(record_biv): Likewise.
(general_induction_var): Likewise.
(product_cheap_p): Likewse.
(product_cheap_p): Likewse.
* optabs.c (init_one_libfunc): Remove
ggc_p conditional.
ggc_p conditional.
* print-tree.c (debug_tree): Don't use
oballoc/obfree.
(print_node): Likewise.
(print_node): Likewise.
* profile.c (output_func_start_profiler):
Remove call to temporary_allocation.
Remove call to temporary_allocation.
* reload1.c
(eliminate_regs_in_insn): Don't mess with obstacks.
(eliminate_regs_in_insn): Don't mess with obstacks.
* resource.c
(mark_target_live_regs): Use xmalloc.
(free_resource_info): Free the memory.
(free_resource_info): Free the memory.
* rtl.c (rtl_obstack):
Remove.
(rtvec_alloc): Don't mess with obstacks.
(rtx_alloc): Likewise.
(rtx_free): Remove.
(copy_rtx): Don't handle `b' cases.
(read_rtx): Use a local rtl_obstack.
(read_rtx): Use a local rtl_obstack.
* rtl.h (oballoc): Remove.
(obfree): Likewise.
(pop_obstacks): Likewise.
(push_obstacks): Likewise.
(allocate_bb_life_data): Likewise.
(allocate_reg_life_data): Likewise.
(rtx_free): Likewise.
(rtx_free): Likewise.
* sdbout.c (sdbout_queue_anonymous_type):
Use tree_cons, not saveable_tree_cons.
Use tree_cons, not saveable_tree_cons.
* simplify-rtx.c
(cselib_init): Don't mess with obstacks.
(cselib_init): Don't mess with obstacks.
* stmt.c
(mark_block_nesting): Mark the label_chain.
(epxand_label): Use ggc_alloc, not oballoc.
@ -946,15 +986,15 @@ Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org>
(expand_anon_union_decl): Likewise.
(add_case_node): Use xmalloc, not oballoc.
(free_case_nodes): New function.
(expand_end_case): Call it.
(expand_end_case): Call it.
* stor-layout.c (layout_type): Don't
mess with obstacks.
(layout_type): Likewise.
(layout_type): Likewise.
* toplev.c (wrapup_global_declarations):
Likewise.
(compile_file): Remove ggc_p conditionals.
(rest_of_compilation): Call init_flow. Remove ggc_p conditionals.
(decode_f_option): Remove ggc_p conditionals.
(decode_f_option): Remove ggc_p conditionals.
* tree.c
(function_maybepermanent_obstack): Remove.
(maybepermanent_obstack): Likewise.
@ -1030,7 +1070,7 @@ Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org>
(build_reference_type): Likewise.
(build_index_type): Likewise.
(build_range_type): Likewise.
(dump_tree_statistics): Don't print obstack information.
(dump_tree_statistics): Don't print obstack information.
* tree.h
(struct tree_common): Remove permanent_flag.
(TREE_PERMANENT): Remove.
@ -1066,7 +1106,7 @@ Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org>
(debug_obstack): Likewise.
(rtl_in_current_obstack): Likewise.
(rtl_in_saveable_obstack): Likewise.
(obfree): Likewise.
(obfree): Likewise.
* varasm.c (current_obstack): Remove.
(saveable_obstack): Remove.
(rtl_obstack): Remove.
@ -1094,7 +1134,7 @@ Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org>
* config/rs6000/rs6000.c (output_toc): Remove ggc_p conditional.
(rs6000_encode_section_info): Likewise.
* config/sh/sh.c (get_fpscr_rtx): Likewise.
Thu Oct 12 16:02:31 MET DST 2000 Jan Hubicka <jh@suse.cz>
* i386.md (adddi3, subdi3 splitters): Update for new pattern.
@ -1138,7 +1178,7 @@ Thu Oct 12 16:02:31 MET DST 2000 Jan Hubicka <jh@suse.cz>
the wanted type is not a pointer target.
2000-10-11 Michael Meeks <mmeeks@gnu.org>
Joseph S. Myers <jsm28@cam.ac.uk>
Joseph S. Myers <jsm28@cam.ac.uk>
* c-typeck.c (check_modify_expr): New function.
(build_modify_expr): Call it if warn_sequence_point.
@ -1201,7 +1241,7 @@ Tue Oct 10 23:14:33 2000 Denis Chertykov <denisc@overta.ru>
2000-10-09 Richard Earnshaw <rearnsha@arm.com>
* arm.c: Miscellaneous white space and comment clean-ups. No
* arm.c: Miscellaneous white space and comment clean-ups. No
functional change.
* arm.md: Likewise.
@ -1224,7 +1264,7 @@ Tue Oct 10 23:14:33 2000 Denis Chertykov <denisc@overta.ru>
(conditional execution splits): Split using predication format.
(define_cond_exec): Define.
* arm.c (arm_print_operand): handle insn predicate.
2000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* README.NS32K: Remove file.
@ -1252,7 +1292,7 @@ Tue Oct 10 23:14:33 2000 Denis Chertykov <denisc@overta.ru>
uses different cache variables.
(AM_WITH_NLS): Use GCC_PATH_PROG and GCC_PATH_PROG_WITH_TEST.
* configure: Regenerated.
2000-10-08 Richard Henderson <rth@cygnus.com>
* Makefile.in (libgcc.mk): Pass SHLIB_EXT, not SHLIB_LIBS.
@ -1360,7 +1400,7 @@ Tue Oct 10 23:14:33 2000 Denis Chertykov <denisc@overta.ru>
(compute_block_forward_dependences): Use forward_dependency_cache.
(schedule_insns): Allocate and free memory for anti/output/forward
dependencies caches.
2000-10-06 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.md (call, call_value): Use `TARGET_SH2' instead of
@ -1538,7 +1578,7 @@ Mon Oct 2 14:50:14 MET DST 2000 Jan Hubicka <jh@suse.cz>
* config/float-c4x.h: New.
* configure.in (c4x-*): Set float_format to c4x.
* configure: Regenerate.
* configure: Regenerate.
2000-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
@ -1566,10 +1606,10 @@ Mon Oct 2 14:50:14 MET DST 2000 Jan Hubicka <jh@suse.cz>
* config/spur: Likewise.
* configure.in: Remove configury bits for above targets.
* configure: Regenerated.
* configure.in: Don't configure chill by default.
* configure: Regenerated.
* c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only.
(lang_mark_false_label_stack): Remove.
* c-lex.c (init_c_lex): Add file_info_tree as GC root. Allocate
@ -1582,7 +1622,7 @@ Mon Oct 2 14:50:14 MET DST 2000 Jan Hubicka <jh@suse.cz>
* ggc-common.c (lang_mark_false_label_stack): Change type.
* ggc.h (ggc_alloc_string): Add comment.
(ggc_strdup): New function.
Sat Sep 23 19:10:20 2000 Denis Chertykov <denisc@overta.ru>
* config/avr/avr.h (BRANCH_COST): Define as 0.
@ -1728,16 +1768,16 @@ Fri Sep 29 13:20:42 MET DST 2000 Jan Hubicka <jh@suse.cz>
(output_message_text): New macro.
* diagnostic.c (clear_text_info): Rename to
output_clear_message_text.
output_clear_message_text.
(output_clear): Adjust.
(output_finish): Rename to output_finalize_message. Tweek.
(output_to_stream): Adjust.
(output_to_stream): Adjust.
2000-09-28 Neil Booth <neilb@earthling.net>
* cpperror.c (_cpp_begin_message): Do the test for suppression
of warnings and pedantic warnings before the "is a warning an
error" tests.
of warnings and pedantic warnings before the "is a warning an
error" tests.
* cppinit.c (cpp_handle_option): Remove surplus \n.
* cpplex.c (ON_REST_ARG): Delete.
(skip_block_comment): Initialise prevc.
@ -1798,22 +1838,22 @@ Tue 26-Sep-2000 18:25:38 BST Neil Booth <neilb@earthling.net>
Tue 26-Sep-2000 00:16:22 BST Neil Booth <neilb@earthling.net>
* cpplex.c (parse_args): Don't set VOID_REST flag.
* cpplex.c (parse_args): Don't set VOID_REST flag.
(CONTEXT_VARARGS): New flag.
(maybe_paste_with_next): Set context earlier in loop. Use
it. Do varargs test with CONTEXT_VARARGS flag.
(push_arg_context): Set CONTEXT_VARARGS flag if we're
pushing an argument context for a varargs argument.
* cpplib.h (VOID_REST): Delete.
* gcc.dg/cpp/vararg1.c: Add test case.
* gcc.dg/cpp/vararg1.c: Add test case.
2000-09-25 Branko Cibej <branko.cibej@hermes.si>
* flags.h: Declare warning flag warn_system_headers.
* toplev.c: Define it.
(W_options): Add option -Wsystem-headers.
* diagnostic.c (count_error): Test warn_system_headers.
* invoke.texi: Add description for -Wsystem-headers.
* flags.h: Declare warning flag warn_system_headers.
* toplev.c: Define it.
(W_options): Add option -Wsystem-headers.
* diagnostic.c (count_error): Test warn_system_headers.
* invoke.texi: Add description for -Wsystem-headers.
* cpplib.h (cpp_options): New member warn_system_headers.
* cpphash.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Don't test
CPP_IN_SYSTEM_HEADER.
@ -1831,7 +1871,7 @@ Mon 25-Sep-2000 23:38:27 BST Neil Booth <neilb@earthling.net>
* cpplex.c (save_comment): Only store the initial '/'
now.
(lex_token): Combine handling of the two comment types.
Pass everything but the initial '/' to save_comment.
Pass everything but the initial '/' to save_comment.
Mon 25-Sep-2000 23:31:45 BST Neil Booth <neilb@earthling.net>
@ -2203,7 +2243,7 @@ Mon 25-Sep-2000 23:31:45 BST Neil Booth <neilb@earthling.net>
functions. Generalize to handle both C and C++.
* Makefile.in (c-tree.info): New target.
(info): Add c-tree.info.
Sun Sep 24 09:15:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* expr.c (store_field): If BITSIZE is negative, use size of type.
@ -2286,10 +2326,10 @@ Sat 23-Sep-2000 22:39:18 BST Neil Booth <NeilB@earthling.net>
2000-09-22 Brad Lucier <lucier@math.purdue.edu>
Mark Mitchell <mark@codesourcery.com>
* toplev.c (warn_disabled_optimization): Declare new warning flag.
* flags.h (warn_disabled_optimization): Add it here.
* gcse.c (gcse_main): Add warning when disabled.
* invoke.texi: Document -Wdisabled-optimization.
* toplev.c (warn_disabled_optimization): Declare new warning flag.
* flags.h (warn_disabled_optimization): Add it here.
* gcse.c (gcse_main): Add warning when disabled.
* invoke.texi: Document -Wdisabled-optimization.
2000-09-21 Jason Merrill <jason@redhat.com>
@ -2324,7 +2364,7 @@ Thu 21-Sep-2000 18:19:05 BST Neil Booth <NeilB@earthling.net>
ARM and THUMB modes.
* config/mcore/mcore.c: Fix compile time warnings.
* config/mcore/mcore-protos.h: Fix compile time warnings.
* config/mcore/mcore-protos.h: Fix compile time warnings.
2000-09-20 J. David Anglin <dave@hiauly1.hia.nrc.ca>
@ -2408,7 +2448,7 @@ Tue 19-Sep-2000 22:38:57 BST Neil Booth <NeilB@earthling.net>
Tue 19-Sep-2000 18:26:57 BST Neil Booth <NeilB@earthling.net>
* cppfiles.c (read_include_file): Take no special action for
* cppfiles.c (read_include_file): Take no special action for
zero-length files.
2000-09-19 Bernd Schmidt <bernds@redhat.co.uk>

View File

@ -63,25 +63,40 @@ ALLOCA_FINISH = true
# CFLAGS is for the user to override to, e.g., do a bootstrap with -O2.
# BOOT_CFLAGS is the value of CFLAGS to pass to the stage2 and stage3
# compilations.
# WARN1_CFLAGS are the warning flags to use for most compilations in stage1.
# WARN2_CFLAGS are the warning flags to pass to stage2, stage3, etc.
# XCFLAGS is used for most compilations but not when using the GCC just built.
# TCFLAGS is used for compilations with the GCC just built.
# STAGE1_CFLAGS is set by configure on some targets.
XCFLAGS =
TCFLAGS =
BOOT_CFLAGS = -g -O2
STAGE1_CFLAGS = -g @stage1_cflags@
CFLAGS = $(STAGE1_CFLAGS)
# The warning flags are separate from BOOT_CFLAGS because people tend to
# override optimization flags and we'd like them to still have warnings
# turned on. These flags are also used to pass other stage dependent
# flags from configure. The user is free to explicitly turn these flags
# off if they wish.
# LOOSE_CFLAGS are the CFLAGS to use when compiling something which is only
# compiled with gcc, such as libgcc and the frontends other than C.
# XCFLAGS is used for most compilations but not when using the GCC just built.
# TCFLAGS is used for compilations with the GCC just built.
XCFLAGS =
TCFLAGS =
CFLAGS = -g
BOOT_CFLAGS = -O2 $(CFLAGS)
WARN1_CFLAGS = @stage1_warn_cflags@
WARN2_CFLAGS = @stage2_warn_cflags@
WARN_CFLAGS = $(WARN1_CFLAGS)
LOOSE_CFLAGS = `echo $(CFLAGS) $(WARN2_CFLAGS)|sed -e 's/-pedantic//g' -e 's/-Wtraditional//g'`
# LOOSE_WARN are the warning flags to use when compiling something
# which is only compiled with gcc, such as libgcc and the frontends
# other than C.
# STRICT_WARN and STRICT2_WARN are the additional warning flags to
# apply to the back end and the C front end, which may be compiled
# with other compilers. This is partially controlled by configure in
# stage1, as not all versions of gcc understand -Wno-long-long.
LOOSE_WARN = -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
STRICT_WARN = -Wtraditional @strict1_warn@
STRICT2_WARN = -Wtraditional -pedantic -Wno-long-long
# This is how we control whether or not the additional warnings are applied.
.-warn = $(STRICT_WARN)
GCC_WARN_CFLAGS = $(LOOSE_WARN) $($(@D)-warn)
# All warnings have to be shut off in stage1 if the compiler used then
# isn't gcc; configure determines that. WARN_CFLAGS will be either
# $(GCC_WARN_CFLAGS), or nothing.
WARN_CFLAGS = @warn_cflags@
# These exists to be overridden by the x-* and t-* files, respectively.
X_CFLAGS =
T_CFLAGS =
@ -120,11 +135,15 @@ TEXI2DVI = texi2dvi
# For GNUmake: let us decide what gets passed to recursive makes.
MAKEOVERRIDES =
@SET_MAKE@
# Some compilers can't handle cc -c blah.c -o foo/blah.o.
# In stage2 and beyond, we force this to "-o $@" since we know we're using gcc.
OUTPUT_OPTION = @OUTPUT_OPTION@
# Define this as & to perform parallel make on a Sequent.
# Note that this has some bugs, and it seems currently necessary
# to compile all the gen* files first by hand to avoid erroneous results.
P =
# This is where we get zlib from. zlibdir is -L../zlib and zlibinc is
# -I../zlib, unless we were configured with --with-system-zlib, in which
# case both are empty.
ZLIB = @zlibdir@ -lz
ZLIBINC = @zlibinc@
# How to invoke ranlib.
RANLIB = ranlib
@ -173,7 +192,7 @@ GCC_FOR_TARGET = ./xgcc -B./ -B$(build_tooldir)/bin/ -isystem $(build_tooldir)/i
# This is used instead of ALL_CFLAGS when compiling with GCC_FOR_TARGET.
# It omits XCFLAGS, and specifies -B./.
# It also specifies -isystem ./include to find, e.g., stddef.h.
GCC_CFLAGS=$(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(LOOSE_CFLAGS) -isystem ./include $(TCFLAGS)
GCC_CFLAGS=$(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(LOOSE_WARN) -isystem ./include $(TCFLAGS)
# Specify the abi to use when building the c++ runtime
GXX_ABI_FLAG=@GXX_ABI_FLAG@
@ -424,6 +443,10 @@ MAYBE_USE_COLLECT2 = @maybe_use_collect2@
# so don't override it here.
USE_COLLECT2 = collect2$(exeext)
# configure sets this to 'libcpp.a' if cpplib is being merged into
# C-family front ends.
MAYBE_CPPLIB = @maybe_cpplib@
# List of extra C and assembler files to add to libgcc1.a.
# Assembler files should have names ending in `.asm'.
LIB1FUNCS_EXTRA =
@ -574,7 +597,8 @@ INTERNAL_CFLAGS = $(CROSS) -DIN_GCC @extra_c_flags@
# This is the variable actually used when we compile.
# If you change this line, you probably also need to change the definition
# of HOST_CFLAGS in build-make to match.
ALL_CFLAGS = $(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(CFLAGS) $(WARN_CFLAGS) $(XCFLAGS) @DEFS@
ALL_CFLAGS = $(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) \
$(CFLAGS) $(WARN_CFLAGS) $(XCFLAGS) @DEFS@
# Likewise.
ALL_CPPFLAGS = $(CPPFLAGS) $(X_CPPFLAGS) $(T_CPPFLAGS)
@ -616,11 +640,14 @@ HOST_ERRORS = $(HOST_PREFIX)errors.o
# Both . and srcdir are used, in that order,
# so that tm.h and config.h will be found in the compilation
# subdirectory rather than in the source directory.
INCLUDES = -I. -I$(srcdir) -I$(srcdir)/config -I$(srcdir)/../include
# -I$(@D) and -I$(srcdir)/$(@D) cause the subdirectory of the file
# currently being compiled, in both source trees, to be examined as well.
INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
-I$(srcdir)/config -I$(srcdir)/../include
# Always use -I$(srcdir)/config when compiling.
.c.o:
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
# This tells GNU make version 3 not to export all the variables
# defined in this file into the environment.
@ -684,15 +711,12 @@ PREPEND_DOTDOT_TO_RELATIVE_PATHS = sed \
-e 's|%||g'
SUBDIR_FLAGS_TO_PASS = $(ORDINARY_FLAGS_TO_PASS) \
"CC=`echo @quoted_cc_set_by_configure@ | $(PREPEND_DOTDOT_TO_RELATIVE_PATHS)`"
# Flags to pass when recursing into a frontend subdirectory.
LANG_FLAGS_TO_PASS = $(SUBDIR_FLAGS_TO_PASS) \
"CFLAGS=$(LOOSE_CFLAGS)"
#
# Lists of files for various purposes.
# Language-specific object files for C and Objective C.
C_AND_OBJC_OBJS = c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o \
c-convert.o c-aux-info.o c-common.o c-semantics.o @extra_c_objs@
c-convert.o c-aux-info.o c-common.o c-semantics.o $(MAYBE_CPPLIB)
# Language-specific object files for C.
C_OBJS = c-parse.o c-lang.o $(C_AND_OBJC_OBJS)
@ -838,7 +862,7 @@ Makefile: $(srcdir)/Makefile.in config.status $(srcdir)/version.c \
rm -f config.run
$(srcdir)/configure: $(srcdir)/configure.in
cd $(srcdir); autoconf
(cd $(srcdir) && autoconf)
gccbug: $(srcdir)/gccbug.in
CONFIG_FILES=gccbug CONFIG_HEADERS= ./config.status
@ -857,7 +881,7 @@ mklibgcc: $(srcdir)/mklibgcc.in
# ??? Newer versions have a maintainer mode that may be useful here.
$(srcdir)/config.in: $(srcdir)/cstamp-h.in
$(srcdir)/cstamp-h.in: $(srcdir)/configure.in $(srcdir)/acconfig.h
cd $(srcdir) && autoheader
(cd $(srcdir) && autoheader)
@rm -f $(srcdir)/cstamp-h.in
echo timestamp > $(srcdir)/cstamp-h.in
auto-host.h: cstamp-h ; @true
@ -950,7 +974,7 @@ specs: xgcc$(exeext)
gcc-cross: xgcc$(exeext)
cp xgcc$(exeext) gcc-cross$(exeext)
cc1$(exeext): $(P) $(C_OBJS) $(BACKEND) $(LIBDEPS)
cc1$(exeext): $(C_OBJS) $(BACKEND) $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cc1$(exeext) \
$(C_OBJS) $(BACKEND) $(LIBS)
@ -1109,8 +1133,8 @@ c-parse.o : $(srcdir)/c-parse.c $(CONFIG_H) $(TREE_H) c-lex.h $(GGC_H) intl.h \
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c $(srcdir)/c-parse.c
$(srcdir)/c-parse.c: $(srcdir)/c-parse.y
cd $(srcdir); $(BISON) $(BISONFLAGS) -o c-p$$$$.c c-parse.y ; \
mv -f c-p$$$$.c c-parse.c
(cd $(srcdir) && $(BISON) $(BISONFLAGS) -o c-p$$$$.c c-parse.y && \
mv -f c-p$$$$.c c-parse.c)
$(srcdir)/c-parse.y: c-parse.in
echo '/*WARNING: This file is automatically generated!*/' >tmp-c-parse.y
sed -e "/^ifobjc$$/,/^end ifobjc$$/d" \
@ -1158,13 +1182,15 @@ hash.o: hash.c hash.h system.h toplev.h
vfprintf.o: $(srcdir)/../libiberty/vfprintf.c $(CONFIG_H) system.h
rm -f vfprintf.c
$(LN_S) $(srcdir)/../libiberty/vfprintf.c vfprintf.c
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) vfprintf.c
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
vfprintf.c $(OUTPUT_OPTION)
splay-tree.o: $(srcdir)/../libiberty/splay-tree.c \
$(srcdir)/../include/splay-tree.h $(srcdir)/../include/libiberty.h
rm -f splay-tree.c
$(LN_S) $(srcdir)/../libiberty/splay-tree.c splay-tree.c
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) splay-tree.c
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
splay-tree.c $(OUTPUT_OPTION)
underscore.c: s-under ; @true
@ -1242,7 +1268,8 @@ ggc-none.o: ggc-none.c $(CONFIG_H) $(RTL_H) $(GGC_H)
obstack.o: $(srcdir)/../libiberty/obstack.c $(CONFIG_H)
rm -f obstack.c
$(LN_S) $(srcdir)/../libiberty/obstack.c obstack.c
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) obstack.c
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
obstack.c $(OUTPUT_OPTION)
prefix.o: prefix.c $(CONFIG_H) system.h Makefile prefix.h
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
@ -1437,7 +1464,8 @@ dependence.o : dependence.c $(CONFIG_H) system.h $(RTL_H) $(TREE_H) \
$(out_object_file): $(out_file) $(CONFIG_H) $(TREE_H) $(GGC_H) \
$(RTL_H) $(REGS_H) hard-reg-set.h real.h insn-config.h conditions.h \
insn-flags.h output.h $(INSN_ATTR_H) insn-codes.h system.h toplev.h function.h
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(out_file)
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
$(out_file) $(OUTPUT_OPTION)
# Build auxiliary files that support ecoff format.
mips-tfile: mips-tfile.o version.o $(LIBDEPS)
@ -1814,7 +1842,7 @@ PREPROCESSOR_DEFINES = \
LIBCPP_OBJS = cpplib.o cpplex.o cppmacro.o cppexp.o cppfiles.o \
cpphash.o cpperror.o cppinit.o cppdefault.o cppoutput.o \
mkdeps.o prefix.o version.o mbchar.o @extra_cpp_objs@
mkdeps.o prefix.o version.o mbchar.o
LIBCPP_DEPS = cpplib.h cpphash.h intl.h system.h
@ -1859,8 +1887,8 @@ tradcpp.o: tradcpp.c $(CONFIG_H) system.h version.h cppdefault.h
tradcif.o: $(srcdir)/tradcif.c $(CONFIG_H) system.h defaults.h
$(srcdir)/tradcif.c: $(srcdir)/tradcif.y
cd $(srcdir); $(BISON) $(BISONFLAGS) -o tr$$$$.c tradcif.y ; \
mv -f tr$$$$.c tradcif.c
(cd $(srcdir) && $(BISON) $(BISONFLAGS) -o tr$$$$.c tradcif.y && \
mv -f tr$$$$.c tradcif.c)
# Note for the stamp targets, we run the program `true' instead of
# having an empty command (nothing following the semicolon).
@ -1879,13 +1907,13 @@ protoize.o: protoize.c $(srcdir)/../include/getopt.h $(CONFIG_H) system.h \
Makefile version.h
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
$(DRIVER_DEFINES) $(PREPROCESSOR_DEFINES) \
$(srcdir)/protoize.c
$(srcdir)/protoize.c $(OUTPUT_OPTION)
unprotoize.o: unprotoize.c protoize.c $(srcdir)/../include/getopt.h \
$(CONFIG_H) system.h Makefile version.h
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
$(DRIVER_DEFINES) $(PREPROCESSOR_DEFINES) \
$(srcdir)/unprotoize.c
$(srcdir)/unprotoize.c $(OUTPUT_OPTION)
# This info describes the target machine, so compile with GCC just built.
SYSCALLS.c.X: $(srcdir)/sys-types.h $(srcdir)/sys-protos.h $(GCC_PASSES) \
@ -1986,26 +2014,26 @@ fixinc.sh: $(FIXINCSRCDIR)/mkfixinc.sh $(FIXINCSRCDIR)/fixincl.c \
$(FIXINCSRCDIR)/procopen.c $(FIXINCSRCDIR)/gnu-regex.c \
$(FIXINCSRCDIR)/server.c $(FIXINCSRCDIR)/gnu-regex.h \
$(FIXINCSRCDIR)/server.h $(FIXINCSRCDIR)/inclhack.def specs.ready
MAKE="$(MAKE)"; srcdir=`cd $(srcdir)/fixinc; pwd` ; \
(MAKE="$(MAKE)"; srcdir=`cd $(srcdir)/fixinc && pwd` ; \
CC="$(CC)"; CFLAGS="$(CFLAGS)"; LDFLAGS="$(LDFLAGS)"; \
export MAKE srcdir CC CFLAGS LDFLAGS; \
cd ./fixinc; $(SHELL) $${srcdir}/mkfixinc.sh $(target)
cd ./fixinc && $(SHELL) $${srcdir}/mkfixinc.sh $(target))
# Build fixed copies of system files.
stmp-fixinc: fixinc.sh gsyslimits.h
rm -rf include; mkdir include
-chmod a+rx include
TARGET_MACHINE=$(target); srcdir=`cd $(srcdir); pwd`; \
(TARGET_MACHINE=$(target); srcdir=`cd $(srcdir); pwd`; \
INSTALL_ASSERT_H=$(INSTALL_ASSERT_H); SHELL=$(SHELL) ;\
export TARGET_MACHINE srcdir INSTALL_ASSERT_H SHELL ; \
$(SHELL) ./fixinc.sh `pwd`/include $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS)
rm -f include/syslimits.h
$(SHELL) ./fixinc.sh `pwd`/include $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS); \
rm -f include/syslimits.h; \
if [ -f include/limits.h ]; then \
mv include/limits.h include/syslimits.h; \
else \
cp $(srcdir)/gsyslimits.h include/syslimits.h; \
fi
chmod a+r include/syslimits.h
fi; \
chmod a+r include/syslimits.h)
# If $(SYSTEM_HEADER_DIR) is $(tooldir)/sys-include, and
# that directory exists, then make sure that $(libsubdir) exists.
# This is because cpp is compiled to find $(tooldir)/include via
@ -2136,8 +2164,8 @@ cpp.dvi: $(srcdir)/cpp.texi
INSTALL: $(srcdir)/install1.texi $(srcdir)/install.texi
cd $(srcdir); $(MAKEINFO) -D INSTALLONLY \
--no-split --no-headers -o INSTALL install1.texi
(cd $(srcdir) && $(MAKEINFO) -D INSTALLONLY \
--no-split --no-headers -o INSTALL install1.texi)
#
# Deletion of files made during compilation.
# There are four levels of this:
@ -2191,7 +2219,7 @@ mostlyclean: $(INTL_MOSTLYCLEAN) lang.mostlyclean
# that don't exist in the distribution.
INTL_CLEAN = intl.clean
clean: mostlyclean $(INTL_CLEAN) lang.clean
-rm -f libgcc.a
-rm -f libgcc.a libgcc_s$(SHLIB_EXT)
-rm -rf libgcc
-rm -f *.dvi
-rm -f */*.dvi
@ -2637,44 +2665,44 @@ testsuite/site.exp: site.exp
cp site.exp testsuite/site.exp
check-g++: testsuite/site.exp
-rootme=`pwd`; export rootme; \
-(rootme=`pwd`; export rootme; \
srcdir=`cd ${srcdir}; pwd` ; export srcdir ; \
cd testsuite; \
EXPECT=${EXPECT} ; export EXPECT ; \
if [ -f $${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; pwd` ; \
export TCL_LIBRARY ; fi ; \
$(RUNTEST) --tool g++ $(RUNTESTFLAGS)
$(RUNTEST) --tool g++ $(RUNTESTFLAGS))
check-gcc: testsuite/site.exp
-rootme=`pwd`; export rootme; \
-(rootme=`pwd`; export rootme; \
srcdir=`cd ${srcdir}; pwd` ; export srcdir ; \
cd testsuite; \
EXPECT=${EXPECT} ; export EXPECT ; \
if [ -f $${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; pwd` ; \
export TCL_LIBRARY ; fi ; \
$(RUNTEST) --tool gcc $(RUNTESTFLAGS)
$(RUNTEST) --tool gcc $(RUNTESTFLAGS))
check-g77: testsuite/site.exp
-rootme=`pwd`; export rootme; \
-(rootme=`pwd`; export rootme; \
srcdir=`cd ${srcdir}; pwd` ; export srcdir ; \
cd testsuite; \
EXPECT=${EXPECT} ; export EXPECT ; \
if [ -f $${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; pwd` ; \
export TCL_LIBRARY ; fi ; \
$(RUNTEST) --tool g77 $(RUNTESTFLAGS)
$(RUNTEST) --tool g77 $(RUNTESTFLAGS))
check-objc: testsuite/site.exp
-rootme=`pwd`; export rootme; \
-(rootme=`pwd`; export rootme; \
srcdir=`cd ${srcdir}; pwd` ; export srcdir ; \
cd testsuite; \
EXPECT=${EXPECT} ; export EXPECT ; \
if [ -f $${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; pwd` ; \
export TCL_LIBRARY ; fi ; \
$(RUNTEST) --tool objc $(RUNTESTFLAGS)
$(RUNTEST) --tool objc $(RUNTESTFLAGS))
check-po:
if test -f cp/Makefile && test -f f/Makefile && \
@ -2686,12 +2714,12 @@ check-po:
# Update the tags table.
TAGS: force
cd $(srcdir); \
(cd $(srcdir); \
mkdir tmp-tags; \
mv -f c-parse.[ch] =*.[chy] tmp-tags; \
etags *.y *.h *.c; \
mv tmp-tags/* .; \
rmdir tmp-tags
rmdir tmp-tags)
# Create the distribution tar.gz file.
dist: tmp-gcc.xtar
@ -2703,7 +2731,7 @@ tmp-gcc.xtar: distdir
tar -chf tmp-gcc.xtar gcc-$(version)
distdir-cvs: force
if [ -d $(srcdir)/CVS ]; then cd $(srcdir) && cvs -r update; fi
if [ -d $(srcdir)/CVS ]; then (cd $(srcdir) && cvs -r update); fi
# This target exists to do the initial work before the language specific
# stuff gets done.
@ -2766,7 +2794,7 @@ distdir-finish:
# Get rid of everything we don't want in the distribution. We'd want
# this to use Makefile.in, but it doesn't have the `lang.foo' targets
# expanded.
cd gcc-$(version); make extraclean distdir-check VERSION_DEP=
(cd gcc-$(version) && make extraclean distdir-check VERSION_DEP=)
distdir-check:
($(AWK) '/^[^#]/{print} /^#[A-Za-z]/{print substr($$1, 2)}' | sort) \
@ -2796,6 +2824,18 @@ diff:
# A list of files to be destroyed during "lean" builds.
VOL_FILES=`echo $(BACKEND) $(OBJS) $(C_OBJS) $(LIBCPP_OBJS) *.c *.h gen*`
# Flags to pass to stage2 and later recursive makes. Note that the
# WARN_CFLAGS setting can't be to the expansion of GCC_WARN_CFLAGS in
# the context of the stage_x rule.
STAGE2_FLAGS_TO_PASS = \
CFLAGS="$(BOOT_CFLAGS)" \
LDFLAGS="$(BOOT_LDFLAGS)" \
WARN_CFLAGS="\$$(GCC_WARN_CFLAGS)" \
STRICT_WARN="$(STRICT2_WARN)" \
libdir=$(libdir) \
LANGUAGES="$(LANGUAGES)" \
OUTPUT_OPTION="-o \$$@"
# Only build the C compiler for stage1, because that is the only one that
# we can guarantee will build with the native compiler, and also it is the
# only thing useful for building stage2.
@ -2813,25 +2853,31 @@ stage_b: stage_a
# because alloca.o is newer, we permit these recursive makes to compile
# alloca.o. Then cc1 is newer, so it won't have to be relinked.
stage_c: stage_b
+$(MAKE) CC="stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" CFLAGS="$(BOOT_CFLAGS)" WARN_CFLAGS="$(WARN2_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage1/ LANGUAGES="$(LANGUAGES)"
+$(MAKE) CC="stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" \
STAGE_PREFIX=stage1/ \
$(STAGE2_FLAGS_TO_PASS)
touch stage_c
stage_d: stage_c
+$(MAKE) stage2
touch stage_d
stage_e: stage_d
+$(MAKE) CC="stage2/xgcc$(exeext) -Bstage2/ -B$(build_tooldir)/bin/" CFLAGS="$(BOOT_CFLAGS)" WARN_CFLAGS="$(WARN2_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage2/ LANGUAGES="$(LANGUAGES)"
+$(MAKE) CC="stage2/xgcc$(exeext) -Bstage2/ -B$(build_tooldir)/bin/" \
STAGE_PREFIX=stage2/ \
$(STAGE2_FLAGS_TO_PASS)
touch stage_e
# For bootstrap4:
stage_f: stage_e
+$(MAKE) CC="stage3/xgcc$(exeext) -B$(build_tooldir)/bin/ -Bstage3/" CFLAGS="$(WARN_CFLAGS) $(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage3/ LANGUAGES="$(LANGUAGES)"
+$(MAKE) CC="stage3/xgcc$(exeext) -B$(build_tooldir)/bin/ -Bstage3/" \
STAGE_PREFIX=stage3/ \
$(STAGE2_FLAGS_TO_PASS)
touch stage_f
# Additional steps for *-lean targets:
clean_s1: stage_b
-cd stage1; rm -f $(VOL_FILES)
-(cd stage1 && rm -f $(VOL_FILES))
touch clean_s1
clean_s2: stage_d

View File

@ -320,8 +320,7 @@
every opportunity. This is extremely expensive. */
#undef ENABLE_GC_ALWAYS_COLLECT
/* Define if you want the preprocessor merged into the C and C++ compilers.
This mode is not ready for production use. */
/* Define if you want the preprocessor merged into the C and C++ compilers. */
#undef USE_CPPLIB
/* Define if you want the C and C++ compilers to support multibyte

539
gcc/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -255,16 +255,16 @@ elif test x$withval != xno; then
fi])
# Link cpplib into the compiler proper, for C/C++/ObjC.
maybe_cpplib=
AC_ARG_ENABLE(c-cpplib,
[ --enable-c-cpplib link cpplib directly into C and C++ compilers
(HIGHLY EXPERIMENTAL).],
if test x$enable_c_cpplib != xno; then
extra_c_objs="${extra_c_objs} libcpp.a"
extra_cxx_objs="${extra_cxx_objs} ../libcpp.a"
maybe_cpplib=libcpp.a
AC_DEFINE(USE_CPPLIB, 1,
[Define if you want the preprocessor merged into the C and C++ compilers.
This mode is not ready for production use.])
[Define if you want the preprocessor merged into the C and C++ compilers.])
fi)
AC_SUBST(maybe_cpplib)
# Enable Multibyte Characters for C/C++
AC_ARG_ENABLE(c-mbchar,
@ -330,10 +330,14 @@ AC_CANONICAL_SYSTEM
# Find the native compiler
AC_PROG_CC
AC_PROG_CC_C_O
# autoconf is lame and doesn't give us any substitution variable for this.
if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
NO_MINUS_C_MINUS_O=yes
else
OUTPUT_OPTION='-o $@'
fi
AC_SUBST(NO_MINUS_C_MINUS_O)
AC_SUBST(OUTPUT_OPTION)
gcc_AC_C_LONG_DOUBLE
@ -344,34 +348,34 @@ CFLAGS="-Wno-long-long"
AC_TRY_COMPILE(,,ac_cv_prog_cc_no_long_long=yes,
ac_cv_prog_cc_no_long_long=no)
CFLAGS="$save_CFLAGS"])
strict1_warn=
if test $ac_cv_prog_cc_no_long_long = yes; then
strict1_warn="-pedantic -Wno-long-long"
fi
AC_SUBST(strict1_warn)
# If the native compiler is GCC, we can enable warnings even in stage1.
# That's useful for people building cross-compilers, or just running a
# quick `make'.
stage1_warn_cflags=" -W -Wall -Wtraditional -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes"
stage2_warn_cflags="$stage1_warn_cflags -pedantic -Wno-long-long"
if test "x$GCC" = "xyes"; then
if test $ac_cv_prog_cc_no_long_long = yes; then
stage1_warn_cflags="$stage1_warn_cflags -pedantic -Wno-long-long"
fi
else
stage1_warn_cflags=""
warn_cflags=
if test "x$GCC" = "xyes"; then
warn_cflags='$(GCC_WARN_CFLAGS)'
fi
AC_SUBST(warn_cflags)
# Stage specific cflags for build.
stage1_cflags=
case $build in
vax-*-*)
if test x$GCC = xyes
then
stage1_warn_cflags="$stage1_warn_cflags -Wa,-J"
stage1_cflags="-Wa,-J"
else
stage1_warn_cflags="$stage1_warn_cflags -J"
stage1_cflags="-J"
fi
;;
esac
AC_SUBST(stage1_warn_cflags)
AC_SUBST(stage2_warn_cflags)
AC_SUBST(stage1_cflags)
AC_PROG_MAKE_SET
@ -4875,8 +4879,8 @@ AC_SUBST(GGC)
echo "Using $GGC for garbage collection."
# Use the system's zlib library.
zlibdir=-L../../zlib
zlibinc="-I\$(srcdir)/../../zlib"
zlibdir=-L../zlib
zlibinc="-I\$(srcdir)/../zlib"
AC_ARG_WITH(system-zlib,
[ --with-system-zlib use installed libz],
zlibdir=
@ -4983,7 +4987,6 @@ all_lib2funcs=
language_fragments="Make-lang"
language_hooks="Make-hooks"
oldstyle_subdirs=
for s in .. $subdirs
do
@ -5003,7 +5006,7 @@ do
echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2
exit 1
fi
all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Make-lang.in ${srcdir}/$s/Makefile.in"
all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Make-lang.in $outputs"
all_languages="$all_languages $language"
if test "x$boot_language" = xyes
then
@ -5014,10 +5017,6 @@ do
all_diff_excludes="$all_diff_excludes $diff_excludes"
all_headers="$all_headers $headers"
all_outputs="$all_outputs $outputs"
if test x$outputs = x
then
oldstyle_subdirs="$oldstyle_subdirs $s"
fi
all_lib2funcs="$all_lib2funcs $lib2funcs"
fi
done
@ -5140,9 +5139,6 @@ AC_SUBST(cpp_install_dir)
AC_SUBST(dep_host_xmake_file)
AC_SUBST(dep_tmake_file)
AC_SUBST(extra_c_flags)
AC_SUBST(extra_c_objs)
AC_SUBST(extra_cpp_objs)
AC_SUBST(extra_cxx_objs)
AC_SUBST(extra_headers_list)
AC_SUBST(extra_objs)
AC_SUBST(extra_parts)
@ -5218,7 +5214,6 @@ fi
# and configure language subdirectories
AC_OUTPUT($all_outputs,
[
. $srcdir/configure.lang
case x$CONFIG_HEADERS in
xauto-host.h:config.in)
echo > cstamp-h ;;
@ -5256,7 +5251,6 @@ target='${target}'
target_alias='${target_alias}'
srcdir='${srcdir}'
subdirs='${subdirs}'
oldstyle_subdirs='${oldstyle_subdirs}'
symbolic_link='${symbolic_link}'
program_transform_set='${program_transform_set}'
program_transform_name='${program_transform_name}'

View File

@ -1,233 +0,0 @@
# configure.lang for GNU CC
# This script is run by configure for configuration of language
# subdirectories which conform to the old GCC configure mechanism
# for such subdirectories.
# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
#This file is part of GNU CC.
#GNU CC is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2, or (at your option)
#any later version.
#GNU CC is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with GNU CC; see the file COPYING. If not, write to
#the Free Software Foundation, 59 Temple Place - Suite 330,
#Boston, MA 02111-1307, USA.
savesrcdir=$srcdir
for subdir in . $oldstyle_subdirs
do
# We only want to do this in language subdirs, but we have to handle
# the case of $oldstyle_subdirs = "".
if [ $subdir = . ]
then
continue
fi
oldsrcdir=$savesrcdir
# Re-adjust the path
case $oldsrcdir in
/*)
srcdir=$oldsrcdir/$subdir
;;
*)
oldsrcdir=../${oldsrcdir}
srcdir=$oldsrcdir/$subdir
;;
esac
mainsrcdir=$oldsrcdir
STARTDIR=`pwd`
test -d $subdir || mkdir $subdir
cd $subdir
# Create Makefile.tem from Makefile.in.
# Make it set VPATH if necessary so that the sources are found.
# Also change its value of srcdir.
# Also create a .gdbinit file which runs the one in srcdir
# and tells GDB to look there for source files.
case $srcdir in
. | ./$subdir | .././$subdir)
rm -f Makefile.tem
cp Makefile.in Makefile.tem
chmod +w Makefile.tem
;;
*)
rm -f Makefile.tem
echo "VPATH = ${srcdir}" \
| cat - ${srcdir}/Makefile.in \
| sed "s@^srcdir = \.@srcdir = ${srcdir}@" > Makefile.tem
rm -f .gdbinit
echo "dir ." > .gdbinit
echo "dir ${srcdir}" >> .gdbinit
echo "dir ${mainsrcdir}" >> .gdbinit
if [ x$gdb_needs_out_file_path = xyes ]
then
echo "dir ${mainsrcdir}/config/"`dirname ${out_file}` >> .gdbinit
fi
echo "source ${mainsrcdir}/.gdbinit" >> .gdbinit
;;
esac
# Conditionalize the makefile for this host machine.
rm -f Makefile.xx Makefile.ll
merged_frags=
for f in .. ${host_xmake_file}
do
if [ -f ${mainsrcdir}/config/$f ]
then
cat ${mainsrcdir}/config/$f >> Makefile.ll
if [ x"${merged_frags}" != x ]
then
merged_frags="${merged_frags} and "
fi
merged_frags="${merged_frags}${f}"
fi
done
if [ x"${merged_frags}" != x ]
then
sed -e "/####host/ r Makefile.ll" Makefile.tem > Makefile.xx
echo "Merged ${merged_frags}."
rm -f Makefile.tem
mv Makefile.xx Makefile.tem
rm -f Makefile.ll
fi
# Add a definition for MAKE if system wants one.
case "$SET_MAKE" in
?*)
rm -f Makefile.xx
(echo "$SET_MAKE"; cat Makefile.tem) >Makefile.xx
rm -f Makefile.tem
mv Makefile.xx Makefile.tem
esac
# Add a definition for INSTALL if system wants one.
# This substitutes for lots of x-* files.
if [ x$build_broken_install = x ]
then true
else
rm -f Makefile.xx
abssrcdir=`cd ${srcdir}; pwd`
sed "s|^INSTALL = .*|${INSTALL}|" Makefile.tem > Makefile.xx
rm -f Makefile.tem
mv Makefile.xx Makefile.tem
fi
# If using -program-transform-name, override the installation names.
if [ "x${program_transform_set}" = "xyes" ] ; then
sed -e "s/^program_transform_name[ ]*=.*$/program_transform_name =
$program_transform_name/" \
-e "s/^program_transform_cross_name[
]*=.*$/program_transform_cross_name = $program_transform_name/" \
Makefile.tem > Makefile.xx
rm -f Makefile.tem
mv Makefile.xx Makefile.tem
fi
# Conditionalize the makefile for this target machine.
rm -f Makefile.xx Makefile.ll
merged_frags=
for f in .. ${tmake_file}
do
if [ -f ${mainsrcdir}/config/$f ]
then
cat ${mainsrcdir}/config/$f >> Makefile.ll
if [ x"${merged_frags}" != x ]
then
merged_frags="${merged_frags} and "
fi
merged_frags="${merged_frags}$f"
fi
done
if [ x"${merged_frags}" != x ]
then
sed -e "/####target/ r Makefile.ll" Makefile.tem > Makefile.xx
echo "Merged ${merged_frags}."
rm -f Makefile.tem
mv Makefile.xx Makefile.tem
rm -f Makefile.ll
fi
# If the host supports
# symlinks, point stage[123] at ../stage[123] so bootstrapping and the
# installation procedure can still use CC="stage1/xgcc -Bstage1/".
# If the host doesn't support symlinks, FLAGS_TO_PASS has been
# modified to solve the problem there.
for t in stage1 stage2 stage3 stage4 include
do
rm -f $t
$symbolic_link ../$t $t 2>/dev/null
done
# Remove all formfeeds, since some Makes get confused by them.
# Also arrange to give the variables `target', `target_alias',
# `host_xmake_file', `tmake_file', `prefix', `local_prefix',
# `exec_prefix', `INSTALL_HEADERS_DIR', `exeext'
# values in the Makefile from the values they have in this script.
rm -f Makefile.xx
# Create an empty Makefile.sed first, to work around a Nextstep 3.3 bug.
echo 's| ||' > Makefile.sed
rm Makefile.sed
echo 's| ||' > Makefile.sed
echo "s|^target=.*$|target=${target}|" >> Makefile.sed
echo "s|^target_alias=.*$|target_alias=${target_alias}|" >> Makefile.sed
echo "s|^xmake_file=.*$|xmake_file=${dep_host_xmake_file}|" >> Makefile.sed
echo "s|^tmake_file=.*$|tmake_file=${dep_tmake_file}|" >> Makefile.sed
echo "s|^version=.*$|version=${version}|" >> Makefile.sed
echo "s|^GCC_THREAD_FILE=.*$|GCC_THREAD_FILE=${thread_file}|" >> Makefile.sed
echo "s|^prefix[ ]*=.*|prefix = $prefix|" >> Makefile.sed
echo "s|^local_prefix[ ]*=.*|local_prefix = $local_prefix|" >> Makefile.sed
echo "s|^exec_prefix[ ]*=.*|exec_prefix = $exec_prefix|" >> Makefile.sed
echo "s|^INSTALL_HEADERS_DIR[ ]*=.*$|INSTALL_HEADERS_DIR = ${build_install_headers_dir}|" >> Makefile.sed
echo "s|^exeext[ ]*=.*$|exeext = ${build_exeext}|" >> Makefile.sed
sed -f Makefile.sed Makefile.tem > Makefile.xx
rm -f Makefile.tem Makefile.sed
mv Makefile.xx Makefile.tem
# Install Makefile for real, after making final changes.
# Define macro CROSS_COMPILE in compilation
# if this is a cross-compiler.
# Also use all.cross instead of all.internal
# and add cross-make to Makefile.
if [ x$host != x$target ]
then
rm -f Makefile.xx
echo "CROSS=-DCROSS_COMPILE" > Makefile.xx
sed -e "/####cross/ r ${mainsrcdir}/cross-make" Makefile.tem >> Makefile.xx
rm -f Makefile.tem
mv Makefile.xx Makefile.tem
fi
# When building gcc with a cross-compiler, we need to fix a few things.
# This must come after cross-make as we want all.build to override
# all.cross.
if [ x$build != x$host ]
then
rm -f Makefile.xx
echo "build= $build" > Makefile.xx
echo "host= $host" >> Makefile.xx
sed -e "s|objc-runtime$||" \
-e "/####build/ r ${mainsrcdir}/build-make" Makefile.tem >> Makefile.xx
rm -f Makefile.tem
mv Makefile.xx Makefile.tem
fi
rm -f Makefile
mv Makefile.tem Makefile
echo "Created \`$subdir/Makefile'."
cd $STARTDIR
done # end of current-dir SUBDIRS loop
# Restore this, remember we're invoked with `.'.
srcdir=$savesrcdir

View File

@ -1,3 +1,15 @@
2000-10-27 Zack Weinberg <zack@wolery.stanford.edu>
* Make-lang.in: Move all build rules here from Makefile.in,
adapt to new context. Wrap all rules that change the current
directory in parentheses. Expunge all references to $(P).
When one command depends on another and they're run all at
once, use && to separate them, not ;. Add OUTPUT_OPTION to
all object-file generation rules. Delete obsolete variables.
* Makefile.in: Delete.
* config-lang.in: Delete outputs= line.
2000-10-26 Gabriel Dos Reis <gdr@codesourcery.com>
* error.c (dump_function_decl): Print no space between

View File

@ -36,12 +36,6 @@
# - making any compiler driver (eg: g++)
# - the compiler proper (eg: cc1plus)
# - define the names for selecting the language in LANGUAGES.
#
# Extra flags to pass to recursive makes.
CXX_FLAGS_TO_PASS = \
"CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \
"CXXFLAGS=$(CXXFLAGS)" \
"CXX_FOR_TARGET=$(CXX_FOR_TARGET)"
# Actual names to use when installing a native compiler.
CXX_INSTALL_NAME = `t='$(program_transform_name)'; echo c++ | sed $$t`
@ -56,12 +50,6 @@ DEMANGLER_CROSS_NAME = `t='$(program_transform_cross_name)'; echo c++filt | sed
# The name to use for the demangler program.
DEMANGLER_PROG = c++filt$(exeext)
# Extra code to include in libgcc2.
CXX_LIB2FUNCS = tinfo.o tinfo2.o new.o opnew.o opnewnt.o opvnew.o opvnewnt.o \
opdel.o opdelnt.o opvdel.o opvdelnt.o exception.o vec.o
CXX_LIB2SRCS = $(srcdir)/cp/new.cc $(srcdir)/cp/new1.cc $(srcdir)/cp/new2.cc \
$(srcdir)/cp/exception.cc $(srcdir)/cp/tinfo.cc \
$(srcdir)/cp/tinfo2.cc $(srcdir)/cp/tinfo.h
#
# Define the names for selecting c++ in LANGUAGES.
# Note that it would be nice to move the dependency on g++
@ -76,12 +64,6 @@ g++spec.o: $(srcdir)/cp/g++spec.c system.h $(GCC_H)
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/cp/g++spec.c
$(INTL_TARGETS): $(srcdir)/cp/parse.c
$(srcdir)/cp/parse.c: $(srcdir)/cp/parse.y
@cp_srcdir=`sed -n 's/^srcdir[ ]*=[ ]*//p' cp/Makefile` && \
echo "cd cp && $(MAKE) $$cp_srcdir/parse.c" && \
cd cp && \
$(MAKE) $(LANG_FLAGS_TO_PASS) $(CXX_FLAGS_TO_PASS) \
$$cp_srcdir/parse.c
# Create the compiler driver for g++.
GXX_OBJS = gcc.o g++spec.o intl.o prefix.o version.o
@ -94,6 +76,7 @@ g++-cross$(exeext): g++$(exeext)
-rm -f g++-cross$(exeext)
cp g++$(exeext) g++-cross$(exeext)
# The demangler.
cxxmain.o: $(srcdir)/../libiberty/cplus-dem.c $(DEMANGLE_H)
rm -f cxxmain.c
$(LN_S) $(srcdir)/../libiberty/cplus-dem.c cxxmain.c
@ -105,24 +88,36 @@ $(DEMANGLER_PROG): cxxmain.o underscore.o $(LIBDEPS)
$(CC) -o $@ $(ALL_CFLAGS) $(LDFLAGS) \
cxxmain.o underscore.o $(LIBS)
CXX_SRCS = $(srcdir)/cp/call.c $(srcdir)/cp/class.c $(srcdir)/cp/cp-tree.def \
$(srcdir)/c-common.def \
$(srcdir)/cp/cp-tree.h $(srcdir)/cp/cvt.c $(srcdir)/cp/decl.c \
$(srcdir)/cp/decl.h $(srcdir)/cp/decl2.c $(srcdir)/cp/dump.c \
$(srcdir)/cp/errfn.c $(srcdir)/cp/error.c $(srcdir)/cp/except.c \
$(srcdir)/cp/expr.c $(srcdir)/cp/friend.c $(srcdir)/cp/init.c \
$(srcdir)/cp/lex.c $(srcdir)/cp/lex.h \
$(srcdir)/cp/mangle.c $(srcdir)/cp/method.c $(srcdir)/cp/optimize.c \
$(srcdir)/cp/parse.y $(srcdir)/cp/pt.c $(srcdir)/cp/ptree.c \
$(srcdir)/cp/repo.c $(srcdir)/cp/rtti.c $(srcdir)/cp/search.c \
$(srcdir)/cp/semantics.c $(srcdir)/cp/spew.c $(srcdir)/cp/tree.c \
$(srcdir)/cp/typeck.c $(srcdir)/cp/typeck2.c $(srcdir)/cp/xref.c
# The compiler itself.
# Shared with C front end:
CXX_C_OBJS = c-common.o c-pragma.o c-semantics.o c-lex.o
# Language-specific object files.
CXX_OBJS = cp/call.o cp/decl.o cp/errfn.o cp/expr.o cp/pt.o cp/typeck2.o \
cp/class.o cp/decl2.o cp/error.o cp/lex.o cp/parse.o cp/ptree.o cp/rtti.o \
cp/spew.o cp/typeck.o cp/cvt.o cp/except.o cp/friend.o cp/init.o cp/method.o \
cp/search.o cp/semantics.o cp/tree.o cp/xref.o cp/repo.o cp/dump.o \
cp/optimize.o cp/mangle.o
# Use loose warnings for this front end.
cp-warn =
cc1plus$(exeext): $(CXX_OBJS) $(CXX_C_OBJS) $(BACKEND) \
$(MAYBE_CPPLIB) $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \
$(CXX_OBJS) $(CXX_C_OBJS) $(BACKEND) $(MAYBE_CPPLIB) $(LIBS)
# Special build rules.
$(srcdir)/cp/cfns.h: $(srcdir)/cp/cfns.gperf
gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' \
$(srcdir)/cp/cfns.gperf > $(srcdir)/cp/cfns.h
$(srcdir)/cp/parse.h $(srcdir)/cp/parse.c: $(srcdir)/cp/parse.y
@echo "Expect 33 shift/reduce conflicts and 58 reduce/reduce conflicts."
cd $(srcdir)/cp; $(BISON) $(BISONFLAGS) -d -o p$$$$.c parse.y ; \
grep '^#define[ ]*YYEMPTY' p$$$$.c >> p$$$$.h ; \
mv -f p$$$$.c parse.c ; mv -f p$$$$.h parse.h
cc1plus$(exeext): $(P) $(CXX_SRCS) $(LIBDEPS) $(BACKEND) c-common.o \
c-pragma.o c-semantics.o c-lex.o $(srcdir)/cp/cp-tree.h $(srcdir)/cp/cp-tree.def \
$(srcdir)/c-common.def $(srcdir)/cp/cfns.gperf hash.o \
$(srcdir)/cp/operators.def
cd cp; $(MAKE) $(LANG_FLAGS_TO_PASS) $(CXX_FLAGS_TO_PASS) ../cc1plus$(exeext)
#
# Build hooks:
@ -214,10 +209,10 @@ c++.mostlyclean:
c++.clean:
c++.distclean:
-rm -f cp/config.status cp/Makefile
-rm -f cp/parse.output
-rm -f $(srcdir)/cp/parse.output
c++.extraclean:
c++.maintainer-clean:
-rm -f cp/parse.c cp/parse.h
-rm -f $(srcdir)/cp/parse.c $(srcdir)/cp/parse.h
#
# Stage hooks:
# The main makefile has already created stage?/cp.
@ -248,3 +243,51 @@ c++.distdir:
ln $$file ../../tmp/cp/inc >/dev/null 2>&1 \
|| cp $$file ../../tmp/cp/inc; \
done
#
# .o: .h dependencies.
CXX_TREE_H = $(TREE_H) cp/cp-tree.h c-common.h cp/cp-tree.def c-common.def \
function.h varray.h system.h $(CONFIG_H) \
$(srcdir)/../include/hashtab.h $(srcdir)/../include/splay-tree.h
cp/spew.o: cp/spew.c $(CXX_TREE_H) cp/parse.h flags.h cp/lex.h toplev.h
cp/lex.o: cp/lex.c $(CXX_TREE_H) cp/parse.h flags.h cp/lex.h c-pragma.h \
toplev.h output.h mbchar.h $(GGC_H) input.h diagnostic.h cp/operators.def
cp/decl.o: cp/decl.c $(CXX_TREE_H) flags.h cp/lex.h cp/decl.h stack.h \
output.h $(EXPR_H) except.h toplev.h hash.h $(GGC_H) $(RTL_H) cp/operators.def
cp/decl2.o: cp/decl2.c $(CXX_TREE_H) flags.h cp/lex.h cp/decl.h $(EXPR_H) \
output.h except.h toplev.h dwarf2out.h dwarfout.h $(GGC_H) $(RTL_H)
cp/typeck2.o: cp/typeck2.c $(CXX_TREE_H) flags.h toplev.h output.h
cp/typeck.o: cp/typeck.c $(CXX_TREE_H) flags.h $(RTL_H) $(EXPR_H) toplev.h
cp/class.o: cp/class.c $(CXX_TREE_H) flags.h toplev.h $(RTL_H)
cp/call.o: cp/call.c $(CXX_TREE_H) flags.h toplev.h $(RTL_H) $(EXPR_H) $(GGC_H)
cp/friend.o: cp/friend.c $(CXX_TREE_H) flags.h $(RTL_H) toplev.h $(EXPR_H)
cp/init.o: cp/init.c $(CXX_TREE_H) flags.h $(RTL_H) $(EXPR_H) toplev.h \
$(GGC_H) except.h
cp/method.o: cp/method.c $(CXX_TREE_H) toplev.h $(GGC_H) $(RTL_H) $(EXPR_H)
cp/cvt.o: cp/cvt.c $(CXX_TREE_H) cp/decl.h flags.h toplev.h convert.h
cp/search.o: cp/search.c $(CXX_TREE_H) stack.h flags.h toplev.h $(RTL_H)
cp/tree.o: cp/tree.c $(CXX_TREE_H) flags.h toplev.h $(GGC_H) $(RTL_H) \
insn-config.h integrate.h
cp/ptree.o: cp/ptree.c $(CXX_TREE_H) system.h
cp/rtti.o: cp/rtti.c $(CXX_TREE_H) flags.h toplev.h defaults.h
cp/except.o: cp/except.c $(CXX_TREE_H) flags.h $(RTL_H) except.h toplev.h \
cp/cfns.h $(EXPR_H) insn-flags.h cp/decl.h $(OBSTACK_H)
cp/expr.o: cp/expr.c $(CXX_TREE_H) $(RTL_H) flags.h $(EXPR_H) toplev.h except.h
cp/xref.o: cp/xref.c $(CXX_TREE_H) input.h toplev.h
cp/pt.o: cp/pt.c $(CXX_TREE_H) cp/decl.h cp/parse.h cp/lex.h toplev.h \
$(GGC_H) $(RTL_H) except.h
cp/error.o: cp/error.c $(CXX_TREE_H) toplev.h diagnostic.h
cp/errfn.o: cp/errfn.c $(CXX_TREE_H) toplev.h
cp/repo.o: cp/repo.c $(CXX_TREE_H) toplev.h $(GGC_H)
cp/semantics.o: cp/semantics.c $(CXX_TREE_H) cp/lex.h except.h toplev.h \
flags.h $(GGC_H) output.h $(RTL_H) $(TIMEVAR_H)
cp/dump.o: cp/dump.c $(CXX_TREE_H)
cp/optimize.o: cp/optimize.c $(CXX_TREE_H) rtl.h integrate.h insn-config.h \
input.h
cp/mangle.o: cp/mangle.c $(CXX_TREE_H) toplev.h
cp/parse.o: cp/parse.c $(CXX_TREE_H) flags.h cp/lex.h except.h output.h \
system.h toplev.h $(GGC_H)
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(BIG_SWITCHFLAG) \
$(srcdir)/cp/parse.c $(OUTPUT_OPTION)

View File

@ -1,323 +0,0 @@
# Makefile for GNU C++ compiler.
# Copyright (C) 1987, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1998,
# 1999, 2000 Free Software Foundation, Inc.
#This file is part of GNU CC.
#GNU CC is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2, or (at your option)
#any later version.
#GNU CC is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with GNU CC; see the file COPYING. If not, write to
#the Free Software Foundation, 59 Temple Place - Suite 330,
#Boston, MA 02111-1307, USA.
# The makefile built from this file lives in the language subdirectory.
# Its purpose is to provide support for:
#
# 1) recursion where necessary, and only then (building .o's), and
# 2) building and debugging cc1 from the language subdirectory, and
# 3) nothing else.
#
# The parent makefile handles all other chores, with help from the
# language makefile fragment, of course.
#
# The targets for external use are:
# all, TAGS, ???mostlyclean, ???clean.
# Suppress smart makes who think they know how to automake Yacc files
.y.c:
# It defines the c++ interface name. It should be changed when the
# c++ interface is changed.
INTERFACE = 2
# Variables that exist for you to override.
# See below for how to change them for certain systems.
# Various ways of specifying flags for compilations:
# CFLAGS is for the user to override to, e.g., do a bootstrap with -O2.
# BOOT_CFLAGS is the value of CFLAGS to pass
# to the stage2 and stage3 compilations
# XCFLAGS is used for most compilations but not when using the GCC just built.
XCFLAGS =
CFLAGS = -g
BOOT_CFLAGS = -O $(CFLAGS)
# These exists to be overridden by the x-* and t-* files, respectively.
X_CFLAGS =
T_CFLAGS =
X_CPPFLAGS =
T_CPPFLAGS =
CC = @CC@
BISON = `if [ -f ../../bison/bison ] ; then echo ../../bison/bison -L $(srcdir)/../../bison/ ; else echo bison ; fi`
BISONFLAGS =
LEX = `if [ -f ../../flex/flex ] ; then echo ../../flex/flex ; else echo flex ; fi`
LEXFLAGS =
AR = ar
AR_FLAGS = rc
SHELL = /bin/sh
MAKEINFO = makeinfo
TEXI2DVI = texi2dvi
# Define this as & to perform parallel make on a Sequent.
# Note that this has some bugs, and it seems currently necessary
# to compile all the gen* files first by hand to avoid erroneous results.
P =
# This is used instead of ALL_CFLAGS when compiling with GCC_FOR_TARGET.
# It omits XCFLAGS, and specifies -B./.
# It also specifies -B$(tooldir)/ to find as and ld for a cross compiler.
GCC_CFLAGS=$(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(CFLAGS)
# Tools to use when building a cross-compiler.
# These are used because `configure' appends `cross-make'
# to the makefile when making a cross-compiler.
# We don't use cross-make. Instead we use the tools
# from the build tree, if they are available.
# program_transform_name and objdir are set by configure.in.
program_transform_name =
objdir = .
target=@target@
xmake_file=@dep_host_xmake_file@
tmake_file=@dep_tmake_file@
#version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.c`
#mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.c`
# Directory where sources are, from where we are.
srcdir = @srcdir@
VPATH = @srcdir@
# Additional system libraries to link with.
CLIB=
# Top build directory, relative to here.
top_builddir = ..
# Internationalization library.
INTLLIBS = @INTLLIBS@
# Choose the real default target.
ALL=all
# End of variables for you to override.
# Definition of `all' is here so that new rules inserted by sed
# do not specify the default target.
all: all.indirect
# This tells GNU Make version 3 not to put all variables in the environment.
.NOEXPORT:
# sed inserts variable overrides after the following line.
####target overrides
@target_overrides@
####host overrides
@host_overrides@
####cross overrides
@cross_defines@
@cross_overrides@
####build overrides
@build_overrides@
#
# Now figure out from those variables how to compile and link.
all.indirect: Makefile ../cc1plus$(exeext)
# IN_GCC tells obstack.h that we are using gcc's <stddef.h> file.
INTERNAL_CFLAGS = $(CROSS) -DIN_GCC @extra_c_flags@
# This is the variable actually used when we compile.
ALL_CFLAGS = $(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(CFLAGS) $(XCFLAGS) -W -Wall
# Likewise.
ALL_CPPFLAGS = $(CPPFLAGS) $(X_CPPFLAGS) $(T_CPPFLAGS)
# This is where we get libiberty.a from.
LIBIBERTY = ../../libiberty/libiberty.a
# How to link with both our special library facilities
# and the system's installed libraries.
LIBS = $(INTLLIBS) $(LIBIBERTY) $(CLIB)
LIBDEPS = $(INTLLIBS) $(LIBIBERTY)
# Specify the directories to be searched for header files.
# Both . and srcdir are used, in that order,
# so that tm.h and config.h will be found in the compilation
# subdirectory rather than in the source directory.
INCLUDES = -I. -I.. -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../config -I$(srcdir)/../../include
# Always use -I$(srcdir)/config when compiling.
.c.o:
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
# The only suffixes we want for implicit rules are .c and .o.
.SUFFIXES:
.SUFFIXES: .c .o
# This tells GNU make version 3 not to export all the variables
# defined in this file into the environment.
.NOEXPORT:
#
# Lists of files for various purposes.
# Shared with C front end:
C_OBJS = ../c-common.o ../c-pragma.o ../c-semantics.o ../c-lex.o
# Language-specific object files for g++
CXX_OBJS = call.o decl.o errfn.o expr.o pt.o typeck2.o \
class.o decl2.o error.o lex.o parse.o ptree.o rtti.o spew.o typeck.o cvt.o \
except.o friend.o init.o method.o search.o semantics.o tree.o xref.o \
repo.o dump.o optimize.o mangle.o @extra_cxx_objs@
# Language-independent object files.
BACKEND = ../toplev.o ../libbackend.a
compiler: ../cc1plus$(exeext)
../cc1plus$(exeext): $(P) $(CXX_OBJS) $(C_OBJS) $(BACKEND) $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \
$(CXX_OBJS) $(C_OBJS) $(BACKEND) $(LIBS)
Makefile: $(srcdir)/Makefile.in $(srcdir)/../configure
cd ..; $(SHELL) config.status
native: config.status ../cc1plus$(exeext)
#
# Compiling object files from source files.
# Note that dependencies on obstack.h are not written
# because that file is not part of GCC.
# C++ language specific files.
RTL_H = $(srcdir)/../rtl.h $(srcdir)/../rtl.def \
$(srcdir)/../machmode.h $(srcdir)/../machmode.def
TREE_H = $(srcdir)/../tree.h $(srcdir)/../real.h $(srcdir)/../tree.def \
$(srcdir)/../machmode.h $(srcdir)/../machmode.def
CXX_TREE_H = $(TREE_H) cp-tree.h $(srcdir)/../c-common.h cp-tree.def \
$(srcdir)/../c-common.def $(srcdir)/../function.h $(srcdir)/../varray.h \
$(srcdir)/../../include/splay-tree.h \
$(srcdir)/../system.h $(CONFIG_H) $(HTAB_H)
PARSE_H = $(srcdir)/parse.h
PARSE_C = $(srcdir)/parse.c
EXPR_H = $(srcdir)/../expr.h ../insn-codes.h
GGC_H = $(srcdir)/../ggc.h $(srcdir)/../varray.h
HTAB_H = $(srcdir)/../../include/hashtab.h
TIMEVAR_H = $(srcdir)/../timevar.h $(srcdir)/../timevar.def
parse.o : $(PARSE_C) $(CXX_TREE_H) $(srcdir)/../flags.h lex.h \
$(srcdir)/../except.h $(srcdir)/../output.h $(srcdir)/../system.h \
$(srcdir)/../toplev.h $(GGC_H)
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(BIG_SWITCHFLAG) \
`echo $(PARSE_C) | sed 's,^\./,,'`
CONFLICTS = expect 33 shift/reduce conflicts and 58 reduce/reduce conflicts.
$(PARSE_H) $(PARSE_C) : $(srcdir)/parse.y
@echo $(CONFLICTS)
cd $(srcdir); $(BISON) $(BISONFLAGS) -d -o p$$$$.c parse.y ; \
grep '^#define[ ]*YYEMPTY' p$$$$.c >> p$$$$.h ; \
mv -f p$$$$.c parse.c ; mv -f p$$$$.h parse.h
#$(PARSE_C) $(PARSE_H) : stamp-parse ; @true
#stamp-parse: $(srcdir)/parse.y
# @echo $(CONFLICTS)
# $(BISON) $(BISONFLAGS) -d $(srcdir)/parse.y
# grep '^#define[ ]*YYEMPTY' y.tab.c >>y.tab.h
# $(SHELL) $(srcdir)/../move-if-change y.tab.c $(PARSE_C)
# $(SHELL) $(srcdir)/../move-if-change y.tab.h $(PARSE_H)
# cp $(PARSE_C) y.tab.c
# touch stamp-parse
$(srcdir)/cfns.h: $(srcdir)/cfns.gperf
gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' \
$(srcdir)/cfns.gperf > $(srcdir)/cfns.h
spew.o : spew.c $(CXX_TREE_H) $(PARSE_H) $(srcdir)/../flags.h \
lex.h $(srcdir)/../toplev.h
lex.o : lex.c $(CXX_TREE_H) \
$(PARSE_H) $(srcdir)/../flags.h lex.h \
$(srcdir)/../c-pragma.h $(srcdir)/../toplev.h \
$(srcdir)/../output.h $(srcdir)/../mbchar.h $(GGC_H) \
$(srcdir)/../input.h $(srcdir)/../diagnostic.h operators.def
decl.o : decl.c $(CXX_TREE_H) $(srcdir)/../flags.h \
lex.h decl.h $(srcdir)/../stack.h $(srcdir)/../output.h $(srcdir)/../expr.h \
$(srcdir)/../except.h $(srcdir)/../toplev.h \
$(srcdir)/../hash.h $(GGC_H) $(RTL_H) operators.def
decl2.o : decl2.c $(CXX_TREE_H) $(srcdir)/../flags.h \
lex.h decl.h $(EXPR_H) $(srcdir)/../output.h $(srcdir)/../except.h \
$(srcdir)/../toplev.h $(srcdir)/../dwarf2out.h $(srcdir)/../dwarfout.h \
$(GGC_H) $(RTL_H)
typeck2.o : typeck2.c $(CXX_TREE_H) $(srcdir)/../flags.h \
$(srcdir)/../toplev.h $(srcdir)/../output.h
typeck.o : typeck.c $(CXX_TREE_H) $(srcdir)/../flags.h $(RTL_H) \
$(EXPR_H) $(srcdir)/../toplev.h
class.o : class.c $(CXX_TREE_H) $(srcdir)/../flags.h \
$(srcdir)/../toplev.h $(RTL_H)
call.o : call.c $(CXX_TREE_H) $(srcdir)/../flags.h \
$(srcdir)/../toplev.h $(RTL_H) $(EXPR_H) $(GGC_H)
friend.o : friend.c $(CXX_TREE_H) $(srcdir)/../flags.h $(RTL_H) \
$(srcdir)/../toplev.h $(EXPR_H)
init.o : init.c $(CXX_TREE_H) $(srcdir)/../flags.h $(RTL_H) \
$(EXPR_H) $(srcdir)/../toplev.h $(GGC_H) \
$(srcdir)/../except.h
method.o : method.c $(CXX_TREE_H) \
$(srcdir)/../toplev.h $(GGC_H) $(RTL_H)
cvt.o : cvt.c $(CXX_TREE_H) decl.h \
$(srcdir)/../flags.h $(srcdir)/../toplev.h $(srcdir)/../convert.h
search.o : search.c $(CXX_TREE_H) $(srcdir)/../stack.h \
$(srcdir)/../flags.h $(srcdir)/../toplev.h $(RTL_H)
tree.o : tree.c $(CXX_TREE_H) $(srcdir)/../flags.h \
$(srcdir)/../toplev.h $(GGC_H) $(RTL_H) \
../insn-config.h $(srcdir)/../integrate.h
ptree.o : ptree.c $(CXX_TREE_H) $(srcdir)/../system.h
rtti.o : rtti.c $(CXX_TREE_H) $(srcdir)/../flags.h \
$(srcdir)/../toplev.h $(srcdir)/../defaults.h
except.o : except.c $(CXX_TREE_H) $(srcdir)/../flags.h $(RTL_H) \
$(srcdir)/../except.h $(srcdir)/../toplev.h cfns.h
expr.o : expr.c $(CXX_TREE_H) $(RTL_H) $(srcdir)/../flags.h \
$(EXPR_H) $(srcdir)/../toplev.h $(srcdir)/../except.h
xref.o : xref.c $(CXX_TREE_H) $(srcdir)/../input.h \
$(srcdir)/../toplev.h
pt.o : pt.c $(CXX_TREE_H) decl.h $(PARSE_H) lex.h \
$(srcdir)/../toplev.h $(GGC_H) $(RTL_H) \
$(srcdir)/../except.h
error.o : error.c $(CXX_TREE_H) \
$(srcdir)/../toplev.h $(srcdir)/../diagnostic.h
errfn.o : errfn.c $(CXX_TREE_H) \
$(srcdir)/../toplev.h
repo.o : repo.c $(CXX_TREE_H) \
$(srcdir)/../toplev.h $(GGC_H)
semantics.o: semantics.c $(CXX_TREE_H) lex.h \
$(srcdir)/../except.h $(srcdir)/../toplev.h \
$(srcdir)/../flags.h $(GGC_H) \
$(srcdir)/../output.h $(RTL_H) $(TIMEVAR_H)
dump.o: dump.c $(CXX_TREE_H)
optimize.o: optimize.c $(CXX_TREE_H) \
$(srcdir)/../rtl.h $(srcdir)/../integrate.h ../insn-config.h \
$(srcdir)/../input.h
mangle.o: mangle.c $(CXX_TREE_H) $(srcdir)/../toplev.h
#
# These exist for maintenance purposes.
# Update the tags table.
TAGS: force
cd $(srcdir) ; \
etags *.c *.h ; \
echo 'l' | tr 'l' '\f' >> TAGS ; \
echo 'parse.y,0' >> TAGS ; \
etags -a ../*.h ../*.c;
.PHONY: TAGS
force:

View File

@ -33,5 +33,3 @@ compilers="cc1plus\$(exeext)"
stagestuff="g++\$(exeext) g++-cross\$(exeext) cc1plus\$(exeext)"
diff_excludes="-x parse.c -x parse.h"
outputs=cp/Makefile

View File

@ -1,3 +1,15 @@
2000-10-27 Zack Weinberg <zack@wolery.stanford.edu>
* Make-lang.in: Move all build rules here from Makefile.in,
adapt to new context. Wrap all rules that change the current
directory in parentheses. Expunge all references to $(P).
When one command depends on another and they're run all at
once, use && to separate them, not ;. Add OUTPUT_OPTION to
all object-file generation rules. Delete obsolete variables.
* Makefile.in: Delete.
* config-lang.in: Delete outputs= line.
Sat Oct 21 18:07:48 2000 Joseph S. Myers <jsm28@cam.ac.uk>
* Makefile.in, g77spec.c: Remove EGCS references in comments.

View File

@ -65,7 +65,8 @@ g77spec.o: $(srcdir)/f/g77spec.c $(srcdir)/f/version.h system.h $(GCC_H)
*) rm -f lang-f77;; \
esac
if [ -f lang-f77 ]; then \
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/f/g77spec.c; \
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
$(srcdir)/f/g77spec.c $(OUTPUT_OPTION); \
else true; fi
g77version.o: $(srcdir)/f/version.c
@ -75,7 +76,7 @@ g77version.o: $(srcdir)/f/version.c
esac
if [ -f lang-f77 ]; then \
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -o g77version.o \
$(srcdir)/f/version.c; \
$(srcdir)/f/version.c $(OUTPUT_OPTION); \
else true; fi
# Create the compiler driver for g77.
@ -93,105 +94,61 @@ g77-cross$(exeext): g77$(exeext)
cp g77$(exeext) g77-cross$(exeext); \
else true; fi
F77_SRCS = \
$(srcdir)/f/bad.c \
$(srcdir)/f/bad.def \
$(srcdir)/f/bad.h \
$(srcdir)/f/bit.c \
$(srcdir)/f/bit.h \
$(srcdir)/f/bld-op.def \
$(srcdir)/f/bld.c \
$(srcdir)/f/bld.h \
$(srcdir)/f/com-rt.def \
$(srcdir)/f/com.c \
$(srcdir)/f/com.h \
$(srcdir)/f/data.c \
$(srcdir)/f/data.h \
$(srcdir)/f/equiv.c \
$(srcdir)/f/equiv.h \
$(srcdir)/f/expr.c \
$(srcdir)/f/expr.h \
$(srcdir)/f/fini.c \
$(srcdir)/f/global.c \
$(srcdir)/f/global.h \
$(srcdir)/f/implic.c \
$(srcdir)/f/implic.h \
$(srcdir)/f/info-b.def \
$(srcdir)/f/info-k.def \
$(srcdir)/f/info-w.def \
$(srcdir)/f/info.c \
$(srcdir)/f/info.h \
$(srcdir)/f/intrin.c \
$(srcdir)/f/intrin.def \
$(srcdir)/f/intrin.h \
$(srcdir)/f/lab.c \
$(srcdir)/f/lab.h \
$(srcdir)/f/lex.c \
$(srcdir)/f/lex.h \
$(srcdir)/f/malloc.c \
$(srcdir)/f/malloc.h \
$(srcdir)/f/name.c \
$(srcdir)/f/name.h \
$(srcdir)/f/parse.c \
$(srcdir)/f/proj.c \
$(srcdir)/f/proj.h \
$(srcdir)/f/src.c \
$(srcdir)/f/src.h \
$(srcdir)/f/st.c \
$(srcdir)/f/st.h \
$(srcdir)/f/sta.c \
$(srcdir)/f/sta.h \
$(srcdir)/f/stb.c \
$(srcdir)/f/stb.h \
$(srcdir)/f/stc.c \
$(srcdir)/f/stc.h \
$(srcdir)/f/std.c \
$(srcdir)/f/std.h \
$(srcdir)/f/ste.c \
$(srcdir)/f/ste.h \
$(srcdir)/f/storag.c \
$(srcdir)/f/storag.h \
$(srcdir)/f/stp.c \
$(srcdir)/f/stp.h \
$(srcdir)/f/str-1t.fin \
$(srcdir)/f/str-2t.fin \
$(srcdir)/f/str-fo.fin \
$(srcdir)/f/str-io.fin \
$(srcdir)/f/str-nq.fin \
$(srcdir)/f/str-op.fin \
$(srcdir)/f/str-ot.fin \
$(srcdir)/f/str.c \
$(srcdir)/f/str.h \
$(srcdir)/f/sts.c \
$(srcdir)/f/sts.h \
$(srcdir)/f/stt.c \
$(srcdir)/f/stt.h \
$(srcdir)/f/stu.c \
$(srcdir)/f/stu.h \
$(srcdir)/f/stv.c \
$(srcdir)/f/stv.h \
$(srcdir)/f/stw.c \
$(srcdir)/f/stw.h \
$(srcdir)/f/symbol.c \
$(srcdir)/f/symbol.def \
$(srcdir)/f/symbol.h \
$(srcdir)/f/target.c \
$(srcdir)/f/target.h \
$(srcdir)/f/top.c \
$(srcdir)/f/top.h \
$(srcdir)/f/type.c \
$(srcdir)/f/type.h \
$(srcdir)/f/version.c \
$(srcdir)/f/version.h \
$(srcdir)/f/where.c \
$(srcdir)/f/where.h
# The compiler itself.
f771$(exeext): $(P) $(F77_SRCS) $(LIBDEPS) $(BACKEND)
touch lang-f77
cd f; $(MAKE) $(LANG_FLAGS_TO_PASS) \
HOST_CC="`case '$(HOST_CC)' in stage*) echo '$(HOST_CC)' | sed -e 's|stage|../stage|g';; *) echo '$(HOST_CC)';; esac`" \
HOST_CFLAGS="$(HOST_CFLAGS)" HOST_CPPFLAGS="$(HOST_CPPFLAGS)" \
../f771$(exeext)
F77_OBJS = f/bad.o f/bit.o f/bld.o f/com.o f/data.o f/equiv.o f/expr.o \
f/global.o f/implic.o f/info.o f/intrin.o f/lab.o f/lex.o f/malloc.o \
f/name.o f/parse.o f/proj.o f/src.o f/st.o f/sta.o f/stb.o f/stc.o \
f/std.o f/ste.o f/storag.o f/stp.o f/str.o f/sts.o f/stt.o f/stu.o \
f/stv.o f/stw.o f/symbol.o f/target.o f/top.o f/type.o f/version.o f/where.o
# Use loose warnings for this front end.
f-warn =
f771$(exeext): $(F77_OBJS) $(BACKEND) $(LIBDEPS)
rm -f f771$(exeext)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(F77_OBJS) $(BACKEND) $(LIBS)
# Keyword tables.
f/stamp-str: f/str-1t.h f/str-1t.j f/str-2t.h f/str-2t.j \
f/str-fo.h f/str-fo.j f/str-io.h f/str-io.j f/str-nq.h f/str-nq.j \
f/str-op.h f/str-op.j f/str-ot.h f/str-ot.j
touch f/stamp-str
f/str-1t.h f/str-1t.j: f/fini$(build_exeext) f/str-1t.fin
./f/fini$(build_exeext) $(srcdir)/f/str-1t.fin f/str-1t.j f/str-1t.h
f/str-2t.h f/str-2t.j: f/fini$(build_exeext) f/str-2t.fin
./f/fini$(build_exeext) $(srcdir)/f/str-2t.fin f/str-2t.j f/str-2t.h
f/str-fo.h f/str-fo.j: f/fini$(build_exeext) f/str-fo.fin
./f/fini$(build_exeext) $(srcdir)/f/str-fo.fin f/str-fo.j f/str-fo.h
f/str-io.h f/str-io.j: f/fini$(build_exeext) f/str-io.fin
./f/fini$(build_exeext) $(srcdir)/f/str-io.fin f/str-io.j f/str-io.h
f/str-nq.h f/str-nq.j: f/fini$(build_exeext) f/str-nq.fin
./f/fini$(build_exeext) $(srcdir)/f/str-nq.fin f/str-nq.j f/str-nq.h
f/str-op.h f/str-op.j: f/fini$(build_exeext) f/str-op.fin
./f/fini$(build_exeext) $(srcdir)/f/str-op.fin f/str-op.j f/str-op.h
f/str-ot.h f/str-ot.j: f/fini$(build_exeext) f/str-ot.fin
./f/fini$(build_exeext) $(srcdir)/f/str-ot.fin f/str-ot.j f/str-ot.h
f/fini: f/fini.o f/proj-h.o
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o f/fini$(build_exeext) \
f/fini.o f/proj-h.o
f/fini.o:
$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) \
`echo $(srcdir)/f/fini.c | sed 's,^\./,,'` -o $@
# Like proj.o, but depends on hconfig.h instead of config.h.
f/proj-h.o: f/proj.c f/proj.h $(HCONFIG_H) $(SYSTEM_H) $(ASSERT_H) $(GLIMITS_H)
$(HOST_CC) -c -DUSE_HCONFIG \
$(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) \
`echo $(srcdir)/f/proj.c | sed 's,^\./,,'` -o $@
#
# Build hooks:
@ -256,7 +213,8 @@ f/g77.dvi: $(srcdir)/f/g77.texi $(srcdir)/f/bugs.texi \
# itself, which uses f/intrin.def; in fact, many bugs in f/intrin.def have
# been found only upon reading the documentation that was automatically
# produced from it.
$(srcdir)/f/intdoc.texi: f/intdoc.c f/intdoc.in f/ansify.c f/intrin.def f/intrin.h
$(srcdir)/f/intdoc.texi: f/intdoc.c f/intdoc.in f/ansify.c \
f/intrin.def f/intrin.h
case "$(LANGUAGES)" in \
*[fF]77*) touch lang-f77;; \
*) rm -f lang-f77;; \
@ -264,7 +222,7 @@ $(srcdir)/f/intdoc.texi: f/intdoc.c f/intdoc.in f/ansify.c f/intrin.def f/intrin
if [ -f lang-f77 ]; then \
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) $(INCLUDES) \
`echo $(srcdir)/f/ansify.c | sed 's,^\./,,'` -o f/ansify; \
f/ansify < $(srcdir)/f/intdoc.in > f/intdoc.h0 $(srcdir)/f/intdoc.in; \
f/ansify <$(srcdir)/f/intdoc.in >f/intdoc.h0 $(srcdir)/f/intdoc.in; \
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) $(INCLUDES) -I./f \
`echo $(srcdir)/f/intdoc.c | sed 's,^\./,,'` -o f/intdoc; \
f/intdoc > $(srcdir)/f/intdoc.texi; \
@ -316,7 +274,7 @@ f77.install-common: installdirs
echo ''; \
echo 'Warning: gcc no longer installs an f77 command.'; \
echo ' You must do so yourself. For more information,'; \
echo ' read "Distributing Binaries" in the egcs g77 docs.'; \
echo ' read "Distributing Binaries" in the g77 docs.'; \
echo ' (To turn off this warning, delete the file'; \
echo ' f77-install-ok in the source or build directory.)'; \
echo ''; \
@ -447,3 +405,189 @@ f77.distdir: f77.rebuilt
$(LN_S) $$file ../tmp/f; \
done; \
fi
#
# .o: .h dependencies.
f/ansify.o: f/ansify.c hconfig.h system.h
f/bad.o: f/bad.c f/proj.h $(CONFIG_H) system.h f/bad.h f/bad.def f/where.h \
glimits.h f/top.h f/malloc.h flags.h f/com.h f/com-rt.def $(TREE_H) f/bld.h \
f/bld-op.def f/bit.h f/info.h f/info-b.def f/info-k.def f/info-w.def \
f/target.h f/lex.h f/type.h f/intrin.h f/intrin.def f/lab.h f/symbol.h \
f/symbol.def f/equiv.h f/storag.h f/global.h f/name.h toplev.h
f/bit.o: f/bit.c f/proj.h $(CONFIG_H) system.h glimits.h f/bit.h \
f/malloc.h
f/bld.o: f/bld.c f/proj.h $(CONFIG_H) system.h f/bld.h f/bld-op.def f/bit.h \
f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h f/info-b.def f/info-k.def \
f/info-w.def f/target.h f/bad.h f/bad.def f/where.h glimits.h f/top.h f/lex.h \
f/type.h f/lab.h f/storag.h f/symbol.h f/symbol.def f/equiv.h f/global.h \
f/name.h f/intrin.h f/intrin.def
f/com.o: f/com.c f/proj.h $(CONFIG_H) system.h flags.h $(RTL_H) $(TREE_H) \
output.h convert.h f/com.h f/com-rt.def f/bld.h f/bld-op.def f/bit.h \
f/malloc.h f/info.h f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h \
f/bad.def f/where.h glimits.h f/top.h f/lex.h f/type.h f/intrin.h \
f/intrin.def f/lab.h f/symbol.h f/symbol.def f/equiv.h f/storag.h f/global.h \
f/name.h f/expr.h f/implic.h f/src.h f/st.h $(GGC_H) toplev.h defaults.h
f/data.o: f/data.c f/proj.h $(CONFIG_H) system.h f/data.h f/bld.h f/bld-op.def \
f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h f/info-b.def \
f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def f/where.h glimits.h \
f/top.h f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h f/symbol.def f/equiv.h \
f/global.h f/name.h f/intrin.h f/intrin.def f/expr.h f/st.h
f/equiv.o: f/equiv.c f/proj.h $(CONFIG_H) system.h f/equiv.h f/bld.h \
f/bld-op.def f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h \
f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def f/where.h \
glimits.h f/top.h f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h f/symbol.def \
f/global.h f/name.h f/intrin.h f/intrin.def f/data.h
f/expr.o: f/expr.c f/proj.h $(CONFIG_H) system.h f/expr.h f/bld.h f/bld-op.def \
f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h f/info-b.def \
f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def f/where.h glimits.h \
f/top.h f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h f/symbol.def f/equiv.h \
f/global.h f/name.h f/intrin.h f/intrin.def f/implic.h f/src.h f/st.h \
f/stamp-str
f/fini.o: f/fini.c f/proj.h hconfig.h system.h f/malloc.h
f/global.o: f/global.c f/proj.h $(CONFIG_H) system.h f/global.h f/info.h \
f/info-b.def f/info-k.def f/info-w.def f/target.h $(TREE_H) f/bad.h f/bad.def \
f/where.h glimits.h f/top.h f/malloc.h f/lex.h f/type.h f/name.h f/symbol.h \
f/symbol.def f/bld.h f/bld-op.def f/bit.h f/com.h f/com-rt.def f/lab.h \
f/storag.h f/intrin.h f/intrin.def f/equiv.h
f/implic.o: f/implic.c f/proj.h $(CONFIG_H) system.h f/implic.h f/info.h \
f/info-b.def f/info-k.def f/info-w.def f/target.h $(TREE_H) f/bad.h f/bad.def \
f/where.h glimits.h f/top.h f/malloc.h f/lex.h f/type.h f/symbol.h \
f/symbol.def f/bld.h f/bld-op.def f/bit.h f/com.h f/com-rt.def f/lab.h \
f/storag.h f/intrin.h f/intrin.def f/equiv.h f/global.h f/name.h f/src.h
f/info.o: f/info.c f/proj.h $(CONFIG_H) system.h f/info.h f/info-b.def \
f/info-k.def f/info-w.def f/target.h $(TREE_H) f/bad.h f/bad.def f/where.h \
glimits.h f/top.h f/malloc.h f/lex.h f/type.h
f/intdoc.o: f/intdoc.c hconfig.h system.h f/intrin.h f/intrin.def \
f/intdoc.h0 f/intdoc.h0
f/intrin.o: f/intrin.c f/proj.h $(CONFIG_H) system.h f/intrin.h \
f/intrin.def f/bld.h f/bld-op.def f/bit.h f/malloc.h f/com.h f/com-rt.def \
$(TREE_H) f/info.h f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h \
f/bad.def f/where.h glimits.h f/top.h f/lex.h f/type.h f/lab.h f/storag.h \
f/symbol.h f/symbol.def f/equiv.h f/global.h f/name.h f/expr.h f/src.h
f/lab.o: f/lab.c f/proj.h $(CONFIG_H) system.h f/lab.h f/com.h f/com-rt.def \
$(TREE_H) f/bld.h f/bld-op.def f/bit.h f/malloc.h f/info.h f/info-b.def \
f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def f/where.h glimits.h \
f/top.h f/lex.h f/type.h f/intrin.h f/intrin.def f/symbol.h f/symbol.def \
f/equiv.h f/storag.h f/global.h f/name.h
f/lex.o: f/lex.c f/proj.h $(CONFIG_H) system.h f/top.h f/malloc.h f/where.h \
glimits.h f/bad.h f/bad.def f/com.h f/com-rt.def $(TREE_H) f/bld.h \
f/bld-op.def f/bit.h f/info.h f/info-b.def f/info-k.def f/info-w.def \
f/target.h f/lex.h f/type.h f/intrin.h f/intrin.def f/lab.h f/symbol.h \
f/symbol.def f/equiv.h f/storag.h f/global.h f/name.h f/src.h flags.h \
input.h toplev.h output.h $(GGC_H)
f/malloc.o: f/malloc.c f/proj.h $(CONFIG_H) system.h f/malloc.h
f/name.o: f/name.c f/proj.h $(CONFIG_H) system.h f/bad.h f/bad.def f/where.h \
glimits.h f/top.h f/malloc.h f/name.h f/global.h f/info.h f/info-b.def \
f/info-k.def f/info-w.def f/target.h $(TREE_H) f/lex.h f/type.h f/symbol.h \
f/symbol.def f/bld.h f/bld-op.def f/bit.h f/com.h f/com-rt.def f/lab.h \
f/storag.h f/intrin.h f/intrin.def f/equiv.h f/src.h
f/parse.o: f/parse.c f/proj.h $(CONFIG_H) system.h f/top.h f/malloc.h \
f/where.h glimits.h f/com.h f/com-rt.def $(TREE_H) f/bld.h f/bld-op.def \
f/bit.h f/info.h f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h \
f/bad.def f/lex.h f/type.h f/intrin.h f/intrin.def f/lab.h f/symbol.h \
f/symbol.def f/equiv.h f/storag.h f/global.h f/name.h f/version.h flags.h
f/proj.o: f/proj.c f/proj.h $(CONFIG_H) system.h glimits.h
f/src.o: f/src.c f/proj.h $(CONFIG_H) system.h f/src.h f/bad.h f/bad.def \
f/where.h glimits.h f/top.h f/malloc.h
f/st.o: f/st.c f/proj.h $(CONFIG_H) system.h f/st.h f/bad.h f/bad.def \
f/where.h glimits.h f/top.h f/malloc.h f/lex.h f/symbol.h f/symbol.def \
f/bld.h f/bld-op.def f/bit.h f/com.h f/com-rt.def $(TREE_H) f/info.h \
f/info-b.def f/info-k.def f/info-w.def f/target.h f/type.h f/lab.h \
f/storag.h f/intrin.h f/intrin.def f/equiv.h f/global.h f/name.h f/sta.h \
f/stamp-str f/stb.h f/expr.h f/stp.h f/stt.h f/stc.h f/std.h \
f/stv.h f/stw.h f/ste.h f/sts.h f/stu.h
f/sta.o: f/sta.c f/proj.h $(CONFIG_H) system.h f/sta.h f/bad.h f/bad.def \
f/where.h glimits.h f/top.h f/malloc.h f/lex.h f/stamp-str f/symbol.h \
f/symbol.def f/bld.h f/bld-op.def f/bit.h f/com.h f/com-rt.def $(TREE_H) \
f/info.h f/info-b.def f/info-k.def f/info-w.def f/target.h f/type.h f/lab.h \
f/storag.h f/intrin.h f/intrin.def f/equiv.h f/global.h f/name.h f/implic.h \
f/stb.h f/expr.h f/stp.h f/stt.h f/stc.h f/std.h f/stv.h f/stw.h
f/stb.o: f/stb.c f/proj.h $(CONFIG_H) system.h f/stb.h f/bad.h f/bad.def \
f/where.h glimits.h f/top.h f/malloc.h f/expr.h f/bld.h f/bld-op.def f/bit.h \
f/com.h f/com-rt.def $(TREE_H) f/info.h f/info-b.def f/info-k.def \
f/info-w.def f/target.h f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h \
f/symbol.def f/equiv.h f/global.h f/name.h f/intrin.h f/intrin.def f/stp.h \
f/stt.h f/stamp-str f/src.h f/sta.h f/stc.h
f/stc.o: f/stc.c f/proj.h $(CONFIG_H) system.h f/stc.h f/bad.h f/bad.def \
f/where.h glimits.h f/top.h f/malloc.h f/bld.h f/bld-op.def f/bit.h f/com.h \
f/com-rt.def $(TREE_H) f/info.h f/info-b.def f/info-k.def f/info-w.def \
f/target.h f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h f/symbol.def \
f/equiv.h f/global.h f/name.h f/intrin.h f/intrin.def f/expr.h f/stp.h \
f/stt.h f/stamp-str f/data.h f/implic.h f/src.h f/sta.h f/std.h f/stv.h f/stw.h
f/std.o: f/std.c f/proj.h $(CONFIG_H) system.h f/std.h f/bld.h f/bld-op.def \
f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h f/info-b.def \
f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def f/where.h glimits.h \
f/top.h f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h f/symbol.def f/equiv.h \
f/global.h f/name.h f/intrin.h f/intrin.def f/stp.h f/stt.h f/stamp-str \
f/stv.h f/stw.h f/sta.h f/ste.h f/sts.h
f/ste.o: f/ste.c f/proj.h $(CONFIG_H) system.h $(RTL_H) toplev.h f/ste.h \
f/bld.h f/bld-op.def f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) \
f/info.h f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def \
f/where.h glimits.h f/top.h f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h \
f/symbol.def f/equiv.h f/global.h f/name.h f/intrin.h f/intrin.def f/stp.h \
f/stt.h f/stamp-str f/sts.h f/stv.h f/stw.h f/expr.h f/sta.h $(GGC_H)
f/storag.o: f/storag.c f/proj.h $(CONFIG_H) system.h f/storag.h f/bld.h \
f/bld-op.def f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) \
f/info.h f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h \
f/bad.def f/where.h glimits.h f/top.h f/lex.h f/type.h f/lab.h \
f/symbol.h f/symbol.def f/equiv.h f/global.h f/name.h f/intrin.h \
f/intrin.def f/data.h
f/stp.o: f/stp.c f/proj.h $(CONFIG_H) system.h f/stp.h f/bld.h f/bld-op.def \
f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h \
f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def \
f/where.h glimits.h f/top.h f/lex.h f/type.h f/lab.h f/storag.h \
f/symbol.h f/symbol.def f/equiv.h f/global.h f/name.h f/intrin.h \
f/intrin.def f/stt.h
f/str.o: f/str.c f/proj.h $(CONFIG_H) system.h f/src.h f/bad.h f/bad.def \
f/where.h glimits.h f/top.h f/malloc.h f/stamp-str f/lex.h
f/sts.o: f/sts.c f/proj.h $(CONFIG_H) system.h f/sts.h f/malloc.h f/com.h \
f/com-rt.def $(TREE_H) f/bld.h f/bld-op.def f/bit.h f/info.h \
f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def \
f/where.h glimits.h f/top.h f/lex.h f/type.h f/intrin.h f/intrin.def \
f/lab.h f/symbol.h f/symbol.def f/equiv.h f/storag.h f/global.h \
f/name.h
f/stt.o: f/stt.c f/proj.h $(CONFIG_H) system.h f/stt.h f/top.h f/malloc.h \
f/where.h glimits.h f/bld.h f/bld-op.def f/bit.h f/com.h f/com-rt.def \
$(TREE_H) f/info.h f/info-b.def f/info-k.def f/info-w.def f/target.h \
f/bad.h f/bad.def f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h \
f/symbol.def f/equiv.h f/global.h f/name.h f/intrin.h f/intrin.def \
f/stp.h f/expr.h f/sta.h f/stamp-str
f/stu.o: f/stu.c f/proj.h $(CONFIG_H) system.h f/bld.h f/bld-op.def f/bit.h \
f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h f/info-b.def \
f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def f/where.h \
glimits.h f/top.h f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h \
f/symbol.def f/equiv.h f/global.h f/name.h f/intrin.h f/intrin.def \
f/implic.h f/stu.h f/sta.h f/stamp-str
f/stv.o: f/stv.c f/proj.h $(CONFIG_H) system.h f/stv.h f/lab.h f/com.h \
f/com-rt.def $(TREE_H) f/bld.h f/bld-op.def f/bit.h f/malloc.h \
f/info.h f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h \
f/bad.def f/where.h glimits.h f/top.h f/lex.h f/type.h f/intrin.h \
f/intrin.def f/symbol.h f/symbol.def f/equiv.h f/storag.h f/global.h \
f/name.h
f/stw.o: f/stw.c f/proj.h $(CONFIG_H) system.h f/stw.h f/bld.h f/bld-op.def \
f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h \
f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def \
f/where.h glimits.h f/top.h f/lex.h f/type.h f/lab.h f/storag.h \
f/symbol.h f/symbol.def f/equiv.h f/global.h f/name.h f/intrin.h \
f/intrin.def f/stv.h f/sta.h f/stamp-str
f/symbol.o: f/symbol.c f/proj.h $(CONFIG_H) system.h f/symbol.h \
f/symbol.def f/bld.h f/bld-op.def f/bit.h f/malloc.h f/com.h \
f/com-rt.def $(TREE_H) f/info.h f/info-b.def f/info-k.def \
f/info-w.def f/target.h f/bad.h f/bad.def f/where.h glimits.h f/top.h \
f/lex.h f/type.h f/lab.h f/storag.h f/intrin.h f/intrin.def f/equiv.h \
f/global.h f/name.h f/src.h f/st.h
f/target.o: f/target.c f/proj.h $(CONFIG_H) system.h glimits.h f/target.h \
$(TREE_H) f/bad.h f/bad.def f/where.h f/top.h f/malloc.h f/info.h \
f/info-b.def f/info-k.def f/info-w.def f/type.h f/lex.h
f/top.o: f/top.c f/proj.h $(CONFIG_H) system.h f/top.h f/malloc.h f/where.h \
glimits.h f/bad.h f/bad.def f/bit.h f/bld.h f/bld-op.def f/com.h \
f/com-rt.def $(TREE_H) f/info.h f/info-b.def f/info-k.def \
f/info-w.def f/target.h f/lex.h f/type.h f/lab.h f/storag.h \
f/symbol.h f/symbol.def f/equiv.h f/global.h f/name.h f/intrin.h \
f/intrin.def f/data.h f/expr.h f/implic.h f/src.h f/st.h flags.h \
toplev.h
f/type.o: f/type.c f/proj.h $(CONFIG_H) system.h f/type.h f/malloc.h
f/version.o: f/version.c
f/where.o: f/where.c f/proj.h $(CONFIG_H) system.h f/where.h glimits.h f/top.h \
f/malloc.h f/lex.h $(GGC_H)

View File

@ -1,472 +0,0 @@
# Makefile for GNU F77 compiler.
# Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
#This file is part of GNU Fortran.
#GNU Fortran is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2, or (at your option)
#any later version.
#GNU Fortran is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with GNU Fortran; see the file COPYING. If not, write to
#the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#02111-1307, USA.
# The makefile built from this file lives in the language subdirectory.
# Its purpose is to provide support for:
#
# 1) recursion where necessary, and only then (building .o's), and
# 2) building and debugging f771 from the language subdirectory, and
# 3) nothing else.
#
# The parent makefile handles all other chores, with help from the
# language makefile fragment, of course.
#
# The targets for external use are:
# all, TAGS, ???mostlyclean, ???clean.
# Suppress smart makes who think they know how to automake Yacc files
.y.c:
# Variables that exist for you to override.
# See below for how to change them for certain systems.
# Various ways of specifying flags for compilations:
# CFLAGS is for the user to override to, e.g., do a bootstrap with -O2.
# BOOT_CFLAGS is the value of CFLAGS to pass
# to the stage2 and stage3 compilations
# XCFLAGS is used for most compilations but not when using the GCC just built.
XCFLAGS =
CFLAGS = -g
BOOT_CFLAGS = -O $(CFLAGS)
# These exists to be overridden by the x-* and t-* files, respectively.
X_CFLAGS =
T_CFLAGS =
X_CPPFLAGS =
T_CPPFLAGS =
CC = @CC@
BISON = bison
BISONFLAGS =
LEX = flex
LEXFLAGS =
AR = ar
AR_FLAGS = rc
SHELL = /bin/sh
MAKEINFO = makeinfo
TEXI2DVI = texi2dvi
# Define this as & to perform parallel make on a Sequent.
# Note that this has some bugs, and it seems currently necessary
# to compile all the gen* files first by hand to avoid erroneous results.
P =
# This is used instead of ALL_CFLAGS when compiling with GCC_FOR_TARGET.
# It omits XCFLAGS, and specifies -B./.
# It also specifies -B$(tooldir)/ to find as and ld for a cross compiler.
GCC_CFLAGS=$(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(CFLAGS)
# Tools to use when building a cross-compiler.
# These are used because `configure' appends `cross-make'
# to the makefile when making a cross-compiler.
target=@target@
xmake_file=@dep_host_xmake_file@
tmake_file=@dep_tmake_file@
# Directory where sources are, from where we are.
srcdir = @srcdir@
VPATH = @srcdir@
# Additional system libraries to link with.
CLIB=
# Top build directory, relative to here.
top_builddir = ..
# Internationalization library.
INTLLIBS = @INTLLIBS@
# Choose the real default target.
ALL=all
# End of variables for you to override.
# Definition of `all' is here so that new rules inserted by sed
# do not specify the default target.
all: all.indirect
# This tells GNU Make version 3 not to put all variables in the environment.
.NOEXPORT:
# sed inserts variable overrides after the following line.
####target overrides
@target_overrides@
####host overrides
@host_overrides@
####cross overrides
@cross_defines@
@cross_overrides@
####build overrides
@build_overrides@
#
# Now figure out from those variables how to compile and link.
all.indirect: Makefile ../f771$(exeext)
# IN_GCC tells obstack.h that we are using gcc's <stddef.h> file.
INTERNAL_CFLAGS = $(CROSS) -DIN_GCC @extra_c_flags@
# This is the variable actually used when we compile.
ALL_CFLAGS = $(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(CFLAGS) $(XCFLAGS) -W -Wall
# Likewise.
ALL_CPPFLAGS = $(CPPFLAGS) $(X_CPPFLAGS) $(T_CPPFLAGS)
# This is where we get libiberty.a from.
LIBIBERTY = ../../libiberty/libiberty.a
# We should be compiling with the built compiler, for which
# BOOT_LDFLAGS is appropriate. (Formerly we had a separate
# F771_LDFLAGS, but the ld flags can be taken care of by the target
# configuration files in GCC.)
LDFLAGS=$(BOOT_LDFLAGS)
# How to link with both our special library facilities
# and the system's installed libraries.
LIBS = $(LIBIBERTY) $(CLIB) $(INTLLIBS)
LIBDEPS = $(INTLLIBS) $(LIBIBERTY)
# Specify the directories to be searched for header files.
# Both . and srcdir are used, in that order,
# so that tm.h and config.h will be found in the compilation
# subdirectory rather than in the source directory.
INCLUDES = -I. -I.. -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../config -I$(srcdir)/../../include
# Always use -I$(srcdir)/config when compiling.
.c.o:
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
#
# Lists of files for various purposes.
# Language-specific object files for g77
F77_OBJS = \
bad.o \
bit.o \
bld.o \
com.o \
data.o \
equiv.o \
expr.o \
global.o \
implic.o \
info.o \
intrin.o \
lab.o \
lex.o \
malloc.o \
name.o \
parse.o \
proj.o \
src.o \
st.o \
sta.o \
stb.o \
stc.o \
std.o \
ste.o \
storag.o \
stp.o \
str.o \
sts.o \
stt.o \
stu.o \
stv.o \
stw.o \
symbol.o \
target.o \
top.o \
type.o \
version.o \
where.o
# Language-independent object files.
BACKEND = ../toplev.o ../libbackend.a
compiler: ../f771$(exeext)
../f771$(exeext): $(P) $(F77_OBJS) $(BACKEND) $(LIBDEPS)
rm -f f771$(exeext)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(F77_OBJS) $(BACKEND) $(LIBS)
Makefile: $(srcdir)/Makefile.in $(srcdir)/../configure
cd ..; $(SHELL) config.status
native: config.status ../f771$(exeext)
#
# Compiling object files from source files.
# Note that dependencies on obstack.h are not written
# because that file is not part of GCC.
# F77 language-specific files.
# These macros expand to the corresponding gcc-source files involved
# (each file itself, plus whatever files on which it depends, but
# without including stuff resulting from configuration, since we can't
# guess at that). The files that live in a distclean'd gcc source
# directory have "$(srcdir)/" prefixes, while the others don't because
# they'll be created only in the build directory.
ASSERT_H = $(srcdir)/../assert.h
CONFIG_H = ../config.h
CONVERT_H = $(srcdir)/../convert.h
FLAGS_H = $(srcdir)/../flags.h
GGC_H = $(srcdir)/../ggc.h $(srcdir)/../varray.h
GLIMITS_H = $(srcdir)/../glimits.h
HCONFIG_H = ../hconfig.h
INPUT_H = $(srcdir)/../input.h
OUTPUT_H = $(srcdir)/../output.h
RTL_H = $(srcdir)/../rtl.h $(srcdir)/../rtl.def \
$(srcdir)/../machmode.h $(srcdir)/../machmode.def
SYSTEM_H = $(srcdir)/../system.h
TOPLEV_H = $(srcdir)/../toplev.h
TREE_H = $(srcdir)/../tree.h $(srcdir)/../real.h \
$(srcdir)/../tree.def $(srcdir)/../machmode.h $(srcdir)/../machmode.def
DEFAULTS_H = $(srcdir)/../defaults.h
ansify.o: ansify.c $(HCONFIG_H) $(SYSTEM_H) $(ASSERT_H)
bad.o: bad.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) bad.h bad.def where.h \
$(GLIMITS_H) top.h malloc.h $(FLAGS_H) com.h com-rt.def $(TREE_H) bld.h \
bld-op.def bit.h info.h info-b.def info-k.def info-w.def target.h \
lex.h type.h intrin.h intrin.def lab.h symbol.h symbol.def equiv.h \
storag.h global.h name.h $(TOPLEV_H)
bit.o: bit.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) $(GLIMITS_H) bit.h \
malloc.h
bld.o: bld.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) bld.h bld-op.def bit.h \
malloc.h com.h com-rt.def $(TREE_H) info.h info-b.def info-k.def \
info-w.def target.h bad.h bad.def where.h $(GLIMITS_H) top.h lex.h \
type.h lab.h storag.h symbol.h symbol.def equiv.h global.h name.h \
intrin.h intrin.def
com.o: com.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) $(FLAGS_H) $(RTL_H) \
$(TREE_H) $(OUTPUT_H) $(CONVERT_H) com.h com-rt.def bld.h bld-op.def bit.h \
malloc.h info.h info-b.def info-k.def info-w.def target.h bad.h \
bad.def where.h $(GLIMITS_H) top.h lex.h type.h intrin.h intrin.def \
lab.h symbol.h symbol.def equiv.h storag.h global.h name.h expr.h \
implic.h src.h st.h $(GGC_H) $(TOPLEV_H) $(DEFAULTS_H)
data.o: data.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) data.h bld.h \
bld-op.def bit.h malloc.h com.h com-rt.def $(TREE_H) info.h info-b.def \
info-k.def info-w.def target.h bad.h bad.def where.h $(GLIMITS_H) top.h \
lex.h type.h lab.h storag.h symbol.h symbol.def equiv.h global.h \
name.h intrin.h intrin.def expr.h st.h
equiv.o: equiv.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) equiv.h bld.h \
bld-op.def bit.h malloc.h com.h com-rt.def $(TREE_H) info.h info-b.def \
info-k.def info-w.def target.h bad.h bad.def where.h $(GLIMITS_H) top.h \
lex.h type.h lab.h storag.h symbol.h symbol.def global.h name.h \
intrin.h intrin.def data.h
expr.o: expr.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) expr.h bld.h \
bld-op.def bit.h malloc.h com.h com-rt.def $(TREE_H) info.h info-b.def \
info-k.def info-w.def target.h bad.h bad.def where.h $(GLIMITS_H) top.h \
lex.h type.h lab.h storag.h symbol.h symbol.def equiv.h global.h \
name.h intrin.h intrin.def implic.h src.h st.h stamp-str
fini.o: fini.c proj.h $(HCONFIG_H) $(SYSTEM_H) $(ASSERT_H) malloc.h
global.o: global.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) global.h info.h \
info-b.def info-k.def info-w.def target.h $(TREE_H) bad.h bad.def \
where.h $(GLIMITS_H) top.h malloc.h lex.h type.h name.h symbol.h \
symbol.def bld.h bld-op.def bit.h com.h com-rt.def lab.h storag.h \
intrin.h intrin.def equiv.h
implic.o: implic.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) implic.h info.h \
info-b.def info-k.def info-w.def target.h $(TREE_H) bad.h bad.def \
where.h $(GLIMITS_H) top.h malloc.h lex.h type.h symbol.h symbol.def \
bld.h bld-op.def bit.h com.h com-rt.def lab.h storag.h intrin.h \
intrin.def equiv.h global.h name.h src.h
info.o: info.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) info.h info-b.def \
info-k.def info-w.def target.h $(TREE_H) bad.h bad.def where.h $(GLIMITS_H) \
top.h malloc.h lex.h type.h
intdoc.o: intdoc.c $(HCONFIG_H) $(SYSTEM_H) $(ASSERT_H) intrin.h intrin.def \
intdoc.h0 intdoc.h0
intrin.o: intrin.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) intrin.h \
intrin.def bld.h bld-op.def bit.h malloc.h com.h com-rt.def $(TREE_H) \
info.h info-b.def info-k.def info-w.def target.h bad.h bad.def \
where.h $(GLIMITS_H) top.h lex.h type.h lab.h storag.h symbol.h \
symbol.def equiv.h global.h name.h expr.h src.h
lab.o: lab.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) lab.h com.h com-rt.def \
$(TREE_H) bld.h bld-op.def bit.h malloc.h info.h info-b.def info-k.def \
info-w.def target.h bad.h bad.def where.h $(GLIMITS_H) top.h lex.h \
type.h intrin.h intrin.def symbol.h symbol.def equiv.h storag.h \
global.h name.h
lex.o: lex.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) top.h malloc.h where.h \
$(GLIMITS_H) bad.h bad.def com.h com-rt.def $(TREE_H) bld.h bld-op.def \
bit.h info.h info-b.def info-k.def info-w.def target.h lex.h type.h \
intrin.h intrin.def lab.h symbol.h symbol.def equiv.h storag.h \
global.h name.h src.h $(FLAGS_H) $(INPUT_H) $(TOPLEV_H) $(OUTPUT_H) $(GGC_H)
malloc.o: malloc.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) malloc.h
name.o: name.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) bad.h bad.def where.h \
$(GLIMITS_H) top.h malloc.h name.h global.h info.h info-b.def info-k.def \
info-w.def target.h $(TREE_H) lex.h type.h symbol.h symbol.def bld.h \
bld-op.def bit.h com.h com-rt.def lab.h storag.h intrin.h intrin.def \
equiv.h src.h
parse.o: parse.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) top.h malloc.h \
where.h $(GLIMITS_H) com.h com-rt.def $(TREE_H) bld.h bld-op.def bit.h \
info.h info-b.def info-k.def info-w.def target.h bad.h bad.def lex.h \
type.h intrin.h intrin.def lab.h symbol.h symbol.def equiv.h storag.h \
global.h name.h version.h $(FLAGS_H)
proj.o: proj.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) $(GLIMITS_H)
src.o: src.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) src.h bad.h bad.def \
where.h $(GLIMITS_H) top.h malloc.h
st.o: st.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) st.h bad.h bad.def \
where.h $(GLIMITS_H) top.h malloc.h lex.h symbol.h symbol.def bld.h \
bld-op.def bit.h com.h com-rt.def $(TREE_H) info.h info-b.def info-k.def \
info-w.def target.h type.h lab.h storag.h intrin.h intrin.def equiv.h \
global.h name.h sta.h stamp-str stb.h expr.h stp.h stt.h stc.h std.h \
stv.h stw.h ste.h sts.h stu.h
sta.o: sta.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) sta.h bad.h bad.def \
where.h $(GLIMITS_H) top.h malloc.h lex.h stamp-str symbol.h symbol.def \
bld.h bld-op.def bit.h com.h com-rt.def $(TREE_H) info.h info-b.def \
info-k.def info-w.def target.h type.h lab.h storag.h intrin.h \
intrin.def equiv.h global.h name.h implic.h stb.h expr.h stp.h stt.h \
stc.h std.h stv.h stw.h
stb.o: stb.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) stb.h bad.h bad.def \
where.h $(GLIMITS_H) top.h malloc.h expr.h bld.h bld-op.def bit.h com.h \
com-rt.def $(TREE_H) info.h info-b.def info-k.def info-w.def target.h \
lex.h type.h lab.h storag.h symbol.h symbol.def equiv.h global.h \
name.h intrin.h intrin.def stp.h stt.h stamp-str src.h sta.h stc.h
stc.o: stc.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) stc.h bad.h bad.def \
where.h $(GLIMITS_H) top.h malloc.h bld.h bld-op.def bit.h com.h \
com-rt.def $(TREE_H) info.h info-b.def info-k.def info-w.def target.h \
lex.h type.h lab.h storag.h symbol.h symbol.def equiv.h global.h \
name.h intrin.h intrin.def expr.h stp.h stt.h stamp-str data.h implic.h \
src.h sta.h std.h stv.h stw.h
std.o: std.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) std.h bld.h bld-op.def \
bit.h malloc.h com.h com-rt.def $(TREE_H) info.h info-b.def info-k.def \
info-w.def target.h bad.h bad.def where.h $(GLIMITS_H) top.h lex.h \
type.h lab.h storag.h symbol.h symbol.def equiv.h global.h name.h \
intrin.h intrin.def stp.h stt.h stamp-str stv.h stw.h sta.h ste.h sts.h
ste.o: ste.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) $(RTL_H) $(TOPLEV_H) ste.h \
bld.h bld-op.def bit.h malloc.h com.h com-rt.def $(TREE_H) info.h \
info-b.def info-k.def info-w.def target.h bad.h bad.def where.h \
$(GLIMITS_H) top.h lex.h type.h lab.h storag.h symbol.h symbol.def \
equiv.h global.h name.h intrin.h intrin.def stp.h stt.h stamp-str sts.h \
stv.h stw.h expr.h sta.h $(GGC_H)
storag.o: storag.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) storag.h bld.h \
bld-op.def bit.h malloc.h com.h com-rt.def $(TREE_H) info.h info-b.def \
info-k.def info-w.def target.h bad.h bad.def where.h $(GLIMITS_H) top.h \
lex.h type.h lab.h symbol.h symbol.def equiv.h global.h name.h \
intrin.h intrin.def data.h
stp.o: stp.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) stp.h bld.h bld-op.def \
bit.h malloc.h com.h com-rt.def $(TREE_H) info.h info-b.def info-k.def \
info-w.def target.h bad.h bad.def where.h $(GLIMITS_H) top.h lex.h \
type.h lab.h storag.h symbol.h symbol.def equiv.h global.h name.h \
intrin.h intrin.def stt.h
str.o: str.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) src.h bad.h bad.def \
where.h $(GLIMITS_H) top.h malloc.h stamp-str lex.h
sts.o: sts.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) sts.h malloc.h com.h \
com-rt.def $(TREE_H) bld.h bld-op.def bit.h info.h info-b.def info-k.def \
info-w.def target.h bad.h bad.def where.h $(GLIMITS_H) top.h lex.h \
type.h intrin.h intrin.def lab.h symbol.h symbol.def equiv.h storag.h \
global.h name.h
stt.o: stt.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) stt.h top.h malloc.h \
where.h $(GLIMITS_H) bld.h bld-op.def bit.h com.h com-rt.def $(TREE_H) \
info.h info-b.def info-k.def info-w.def target.h bad.h bad.def lex.h \
type.h lab.h storag.h symbol.h symbol.def equiv.h global.h name.h \
intrin.h intrin.def stp.h expr.h sta.h stamp-str
stu.o: stu.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) bld.h bld-op.def bit.h \
malloc.h com.h com-rt.def $(TREE_H) info.h info-b.def info-k.def \
info-w.def target.h bad.h bad.def where.h $(GLIMITS_H) top.h lex.h \
type.h lab.h storag.h symbol.h symbol.def equiv.h global.h name.h \
intrin.h intrin.def implic.h stu.h sta.h stamp-str
stv.o: stv.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) stv.h lab.h com.h \
com-rt.def $(TREE_H) bld.h bld-op.def bit.h malloc.h info.h info-b.def \
info-k.def info-w.def target.h bad.h bad.def where.h $(GLIMITS_H) top.h \
lex.h type.h intrin.h intrin.def symbol.h symbol.def equiv.h storag.h \
global.h name.h
stw.o: stw.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) stw.h bld.h bld-op.def \
bit.h malloc.h com.h com-rt.def $(TREE_H) info.h info-b.def info-k.def \
info-w.def target.h bad.h bad.def where.h $(GLIMITS_H) top.h lex.h \
type.h lab.h storag.h symbol.h symbol.def equiv.h global.h name.h \
intrin.h intrin.def stv.h sta.h stamp-str
symbol.o: symbol.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) symbol.h \
symbol.def bld.h bld-op.def bit.h malloc.h com.h com-rt.def $(TREE_H) \
info.h info-b.def info-k.def info-w.def target.h bad.h bad.def \
where.h $(GLIMITS_H) top.h lex.h type.h lab.h storag.h intrin.h \
intrin.def equiv.h global.h name.h src.h st.h
target.o: target.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) $(GLIMITS_H) \
target.h $(TREE_H) bad.h bad.def where.h top.h malloc.h info.h \
info-b.def info-k.def info-w.def type.h lex.h
top.o: top.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) top.h malloc.h where.h \
$(GLIMITS_H) bad.h bad.def bit.h bld.h bld-op.def com.h com-rt.def \
$(TREE_H) info.h info-b.def info-k.def info-w.def target.h lex.h type.h \
lab.h storag.h symbol.h symbol.def equiv.h global.h name.h intrin.h \
intrin.def data.h expr.h implic.h src.h st.h $(FLAGS_H) $(TOPLEV_H)
type.o: type.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) type.h malloc.h
version.o: version.c
where.o: where.c proj.h $(CONFIG_H) $(SYSTEM_H) $(ASSERT_H) where.h $(GLIMITS_H) \
top.h malloc.h lex.h $(GGC_H)
stamp-str: str-1t.h str-1t.j str-2t.h str-2t.j \
str-fo.h str-fo.j str-io.h str-io.j str-nq.h str-nq.j \
str-op.h str-op.j str-ot.h str-ot.j
touch stamp-str
str-1t.h str-1t.j: fini str-1t.fin
./fini `echo $(srcdir)/str-1t.fin | sed 's,^\./,,'` str-1t.j str-1t.h
str-2t.h str-2t.j: fini str-2t.fin
./fini `echo $(srcdir)/str-2t.fin | sed 's,^\./,,'` str-2t.j str-2t.h
str-fo.h str-fo.j: fini str-fo.fin
./fini `echo $(srcdir)/str-fo.fin | sed 's,^\./,,'` str-fo.j str-fo.h
str-io.h str-io.j: fini str-io.fin
./fini `echo $(srcdir)/str-io.fin | sed 's,^\./,,'` str-io.j str-io.h
str-nq.h str-nq.j: fini str-nq.fin
./fini `echo $(srcdir)/str-nq.fin | sed 's,^\./,,'` str-nq.j str-nq.h
str-op.h str-op.j: fini str-op.fin
./fini `echo $(srcdir)/str-op.fin | sed 's,^\./,,'` str-op.j str-op.h
str-ot.h str-ot.j: fini str-ot.fin
./fini `echo $(srcdir)/str-ot.fin | sed 's,^\./,,'` str-ot.j str-ot.h
fini: fini.o proj-h.o
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o fini fini.o proj-h.o
fini.o:
$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) \
`echo $(srcdir)/fini.c | sed 's,^\./,,'` -o $@
# Like proj.o, but depends on hconfig.h instead of config.h.
proj-h.o: proj.c proj.h $(HCONFIG_H) $(SYSTEM_H) $(ASSERT_H) $(GLIMITS_H)
$(HOST_CC) -c -DUSE_HCONFIG $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) \
`echo $(srcdir)/proj.c | sed 's,^\./,,'` -o $@
# This rule is just a handy way to build the g77 derived files without
# having the gcc source tree around.
g77-only: force
if [ -f g77.texi ] ; then \
(cd ..; $(MAKE) srcdir=. HOST_CC=cc HOST_CFLAGS=-g -f f/Make-lang.in f77.rebuilt); \
else \
$(MAKE) srcdir=. HOST_CC=cc HOST_CFLAGS=-g -f f/Make-lang.in f77.rebuilt; \
fi
#
# These exist for maintenance purposes.
# Update the tags table.
TAGS: force
cd $(srcdir)/f ; \
etags *.c *.h ; \
echo 'l' | tr 'l' '\f' >> TAGS ; \
etags -a ../*.h ../*.c;
.PHONY: none all all.indirect f77.rebuilt compiler native deps-kinda g77-only TAGS force
force:

View File

@ -33,5 +33,3 @@ compilers="f771\$(exeext)"
stagestuff="g77\$(exeext) g77-cross\$(exeext) f771\$(exeext)"
diff_excludes="-x f/BUGS -x f/NEWS -x f/INSTALL -x f/intdoc.texi"
outputs=f/Makefile

View File

@ -1,3 +1,15 @@
2000-10-27 Zack Weinberg <zack@wolery.stanford.edu>
* Make-lang.in: Move all build rules here from Makefile.in,
adapt to new context. Wrap all rules that change the current
directory in parentheses. Expunge all references to $(P).
When one command depends on another and they're run all at
once, use && to separate them, not ;. Add OUTPUT_OPTION to
all object-file generation rules. Delete obsolete variables.
* Makefile.in: Delete.
* config-lang.in: Delete outputs= line.
2000-10-24 Tom Tromey <tromey@cygnus.com>
* lex.c (java_new_lexer): Initialize new fields. Work around

View File

@ -40,12 +40,6 @@
# - making any compiler driver (eg: g++)
# - the compiler proper (eg: jc1)
# - define the names for selecting the language in LANGUAGES.
#
# Extra flags to pass to recursive makes.
JAVA_FLAGS_TO_PASS = \
"JAVA_FOR_BUILD=$(JAVA_FOR_BUILD)" \
"JAVAFLAGS=$(JAVAFLAGS)" \
"JAVA_FOR_TARGET=$(JAVA_FOR_TARGET)"
# Actual names to use when installing a native compiler.
JAVA_INSTALL_NAME = `t='$(program_transform_name)'; echo gcj | sed $$t`
@ -53,11 +47,11 @@ JAVA_INSTALL_NAME = `t='$(program_transform_name)'; echo gcj | sed $$t`
# Actual names to use when installing a cross-compiler.
JAVA_CROSS_NAME = `t='$(program_transform_cross_name)'; echo gcj | sed $$t`
#
GCJ = gcj
# Define the names for selecting java in LANGUAGES.
java: jc1$(exeext) $(GCJ)$(exeext) jvgenmain$(exeext) gcjh$(exeext) jv-scan$(exeext) jcf-dump$(exeext)
java: jc1$(exeext) $(GCJ)$(exeext) jvgenmain$(exeext) \
gcjh$(exeext) jv-scan$(exeext) jcf-dump$(exeext)
# Define the name of target independant tools to be installed in $(bindir)
# Names are subject to changes
@ -66,21 +60,9 @@ JAVA_TARGET_INDEPENDENT_BIN_TOOLS = gcjh jv-scan jcf-dump
# Tell GNU make to ignore these if they exist.
.PHONY: java
# Remember to keep this list in sync with JAVA_OBJS in Makefile.in!!!
#
JAVA_SRCS = $(srcdir)/java/parse.y $(srcdir)/java/class.c \
$(srcdir)/java/decl.c $(srcdir)/java/expr.c $(srcdir)/java/constants.c \
$(srcdir)/java/lang.c $(srcdir)/java/typeck.c $(srcdir)/java/except.c \
$(srcdir)/java/verify.c $(srcdir)/java/zextract.c $(srcdir)/java/jcf-io.c \
$(srcdir)/java/jcf-parse.c $(srcdir)/java/mangle.c \
$(srcdir)/java/jcf-write.c $(srcdir)/java/buffer.c \
$(srcdir)/java/check-init.c $(srcdir)/java/lex.c $(srcdir)/java/boehm.c \
$(srcdir)/java/jcf-depend.c $(srcdir)/java/jcf-path.c \
$(srcdir)/java/java-tree.h
jvspec.o: $(srcdir)/java/jvspec.c system.h $(GCC_H)
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
$(INCLUDES) $(srcdir)/java/jvspec.c
$(INCLUDES) $(srcdir)/java/jvspec.c $(OUTPUT_OPTION)
# Create the compiler driver for $(GCJ).
$(GCJ)$(exeext): gcc.o jvspec.o version.o \
@ -93,64 +75,68 @@ $(GCJ)-cross$(exeext): $(GCJ)$(exeext)
-rm -f $(GCJ)-cross$(exeext)
cp $(GCJ)$(exeext) $(GCJ)-cross$(exeext)
# Dependencies here must be kept in sync with dependencies in Makefile.in.
jvgenmain$(exeext): $(srcdir)/java/jvgenmain.c $(srcdir)/java/mangle.c \
$(LIBDEPS) $(TREE_H)
cd java && $(MAKE) $(LANG_FLAGS_TO_PASS) $(JAVA_FLAGS_TO_PASS) ../jvgenmain$(exeext)
# This must be kept in sync with dependencies in Makefile.in.
GCJH_SOURCES = $(srcdir)/java/gjavah.c $(srcdir)/java/jcf-io.c \
$(srcdir)/java/zextract.c $(srcdir)/java/jcf-reader.c \
$(srcdir)/java/jcf.h $(srcdir)/java/javaop.h \
$(srcdir)/java/javaop.def $(srcdir)/java/jcf-depend.c \
$(srcdir)/java/jcf-path.c
$(INTL_TARGETS): $(srcdir)/java/parse.c $(srcdir)/java/parse-scan.c
# Separating PARSE_DIR from PARSE_RELDIR lets us easily change the
# code to support building parse.c in the build directory, at some
# expense in readability.
# This code must be kept in sync with Makefile.in.
PARSE_DIR = $(srcdir)/java
PARSE_RELDIR = .
PARSE_C = $(PARSE_DIR)/parse.c
PARSE_SCAN_C = $(PARSE_DIR)/parse-scan.c
$(srcdir)/java/parse.c: $(srcdir)/java/parse.y
(cd $(srcdir)/java && \
$(BISON) -t --name-prefix=java_ $(BISONFLAGS) -o p$$$$.c parse.y && \
mv -f p$$$$.c parse.c)
SET_BISON = here=`pwd`; sdir=`cd $(srcdir) && pwd`; if test -f ../bison; then bison="$$here/../bison/bison -L $$sdir"; else bison=bison; fi
BISONFLAGS =
JAVABISONFLAGS = --name-prefix=java_
$(srcdir)/java/parse-scan.c: $(srcdir)/java/parse-scan.y
(cd $(srcdir)/java && \
$(BISON) -t $(BISONFLAGS) -o ps$$$$.c parse-scan.y && \
mv -f ps$$$$.c parse-scan.c)
$(PARSE_C): $(srcdir)/java/parse.y
$(SET_BISON); \
cd $(PARSE_DIR) ; $$bison -t $(BISONFLAGS) $(JAVABISONFLAGS) \
-o p$$$$.c $(PARSE_RELDIR)/parse.y ; \
mv -f p$$$$.c parse.c
$(PARSE_SCAN_C): $(srcdir)/java/parse-scan.y
$(SET_BISON); \
cd $(PARSE_DIR) ; $$bison -t $(BISONFLAGS) -o ps$$$$.c \
$(PARSE_RELDIR)/parse-scan.y ; \
mv -f ps$$$$.c parse-scan.c
$(srcdir)/java/keyword.h: $(srcdir)/java/keyword.gperf
(cd $(srcdir)/java || exit 1; \
gperf -L C -F ', 0' -p -t -j1 -i 1 -g -o -N java_keyword -k1,3,$$ \
keyword.gperf > k$$$$.h || {
echo "Please update gperf from ftp://ftp.gnu.org/pub/gnu/gperf/" >&2; \
rm -f k$$$$.h; \
exit 1; } \
mv -f k$$$$.h keyword.gperf)
# This must be kept in sync with dependencies in Makefile.in.
JV_SCAN_SOURCES = $(srcdir)/java/parse-scan.y $(srcdir)/java/lex.c \
$(srcdir)/java/parse.h $(srcdir)/java/lex.h $(srcdir)/java/jv-scan.c
# Executables built by this Makefile:
JAVA_OBJS = java/parse.o java/class.o java/decl.o java/expr.o \
java/constants.o java/lang.o java/typeck.o java/except.o java/verify.o \
java/zextract.o java/jcf-io.o java/jcf-parse.o java/mangle.o \
java/jcf-write.o java/buffer.o java/check-init.o java/jcf-depend.o \
java/jcf-path.o java/xref.o java/boehm.o mkdeps.o
# This must be kept in sync with dependencies in Makefile.in.
JCF_DUMP_SOURCES = $(srcdir)/java/jcf-dump.c $(srcdir)/java/jcf-io.c \
$(srcdir)/java/zextract.c $(TREE_H)
GCJH_OBJS = java/gjavah.o java/jcf-io.o java/jcf-depend.o java/jcf-path.o \
java/zextract.o version.o mkdeps.o errors.o
jc1$(exeext) gcjh$(exeext) jv-scan$(exeext) jcf-dump$(exeext): s-java
JVSCAN_OBJS = java/parse-scan.o java/jv-scan.o version.o
JCFDUMP_OBJS = java/jcf-dump.o java/jcf-io.o java/jcf-depend.o java/jcf-path.o \
java/zextract.o errors.o version.o mkdeps.o
JVGENMAIN_OBJS = java/jvgenmain.o java/mangle.o
# Use loose warnings for this front end.
java-warn =
jc1$(exeext): $(JAVA_OBJS) $(BACKEND) $(LIBDEPS)
rm -f $@
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \
$(JAVA_OBJS) $(BACKEND) $(ZLIB) $(LIBS)
gcjh$(exeext): $(GCJH_OBJS) $(LIBDEPS)
rm -f $@
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(GCJH_OBJS) $(ZLIB) $(LIBS)
jv-scan$(exeext): $(JVSCAN_OBJS) $(LIBDEPS)
rm -f $@
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JVSCAN_OBJS) $(LIBS)
jcf-dump$(exeext): $(JCFDUMP_OBJS) $(LIBDEPS)
rm -f $@
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JCFDUMP_OBJS) $(ZLIB) $(LIBS)
jvgenmain$(exeext): $(JVGENMAIN_OBJS) $(LIBDEPS)
rm -f $@
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JVGENMAIN_OBJS) $(LIBS)
s-java: $(P) $(JAVA_SRCS) $(LIBDEPS) $(BACKEND) mkdeps.o \
$(GCJH_SOURCES) $(LIBDEPS) $(TREE_H) \
$(JV_SCAN_SOURCES) $(BACKEND) $(LIBDEPS) \
$(JCF_DUMP_SOURCES)
cd java; $(MAKE) $(LANG_FLAGS_TO_PASS) $(JAVA_FLAGS_TO_PASS) \
../jc1$(exeext) \
../gcjh$(exeext) \
../jv-scan$(exeext) \
../jcf-dump$(exeext)
touch s-java
#
# Build hooks:
@ -228,10 +214,73 @@ java.stage4: stage4-start
# This target creates the files that can be rebuilt, but go in the
# distribution anyway. It then copies the files to the distdir directory.
java.distdir:
java.distdir: java/parse.c java/hash.h
mkdir tmp/java
cd java ; $(MAKE) $(LANG_FLAGS_TO_PASS) $(JAVA_FLAGS_TO_PASS) parse.c hash.h
cd java; \
for file in *[0-9a-zA-Z+]; do \
ln $$file ../tmp/java >/dev/null 2>&1 || cp $$file ../tmp/java; \
done
#
# .o:.h dependencies.
JAVA_TREE_H = $(TREE_H) java/java-tree.h java/java-tree.def
JAVA_LEX_C = java/lex.c java/keyword.h
java/parse.o: java/parse.c java/jcf-reader.c $(CONFIG_H) system.h \
function.h $(JAVA_TREE_H) $(JAVA_LEX_C) java/parse.h java/lex.h $(GGC_H)
java/jcf-dump.o: $(CONFIG_H) system.h $(JAVA_TREE_H) java/jcf-dump.c \
java/jcf-reader.c java/jcf.h java/javaop.h java/javaop.def version.h
java/gjavah.o: $(CONFIG_H) system.h $(JAVA_TREE_H) java/gjavah.c \
java/jcf-reader.c java/jcf.h java/javaop.h version.h
java/boehm.o: java/boehm.c $(CONFIG_H) system.h $(TREE_H) $(JAVA_TREE_H) \
java/parse.h
java/buffer.o: java/buffer.c $(CONFIG_H) java/buffer.h gansidecl.h \
system.h toplev.h
java/check-init.o: java/check-init.c $(CONFIG_H) gansidecl.h \
$(JAVA_TREE_H) system.h toplev.h
java/class.o: java/class.c $(CONFIG_H) $(JAVA_TREE_H) $(RTL_H) java/jcf.h \
java/parse.h gansidecl.h toplev.h system.h output.h $(GGC_H)
java/constants.o: java/constants.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h \
toplev.h system.h $(GGC_H)
java/decl.o: java/decl.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h \
toplev.h system.h function.h defaults.h gcc.h
java/except.o: java/except.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h real.h \
$(RTL_H) java/javaop.h java/java-opcodes.h except.h java/java-except.h \
eh-common.h toplev.h system.h function.h
java/expr.o: java/expr.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h real.h \
$(RTL_H) $(EXPR_H) java/javaop.h java/java-opcodes.h except.h \
java/java-except.h java/java-except.h java/parse.h toplev.h \
system.h $(GGC_H)
java/jcf-depend.o: java/jcf-depend.c $(CONFIG_H) system.h java/jcf.h
java/jcf-parse.o: java/jcf-parse.c $(CONFIG_H) $(JAVA_TREE_H) flags.h \
input.h java/java-except.h system.h toplev.h java/parse.h $(GGC_H)
java/jcf-write.o: java/jcf-write.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h \
$(RTL_H) java/java-opcodes.h java/parse.h java/buffer.h system.h \
toplev.h $(GGC_H)
java/jv-scan.o: java/jv-scan.c $(CONFIG_H) system.h version.h
java/jvgenmain.o: java/jvgenmain.c $(CONFIG_H) $(JAVA_TREE_H) system.h
java/lang.o: java/lang.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h input.h \
toplev.h system.h $(RTL_H) $(EXPR_H)
java/mangle.o: java/mangle.c $(CONFIG_H) java/jcf.h $(JAVA_TREE_H) system.h \
toplev.h $(GGC_H)
java/parse-scan.o: $(CONFIG_H) system.h toplev.h $(JAVA_LEX_C) java/parse.h \
java/lex.h
java/typeck.o: java/typeck.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h \
java/convert.h toplev.h system.h $(GGC_H)
java/verify.o: java/verify.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h \
java/javaop.h java/java-opcodes.h java/java-except.h toplev.h system.h
java/xref.o: java/xref.c java/xref.h $(CONFIG_H) $(JAVA_TREE_H) toplev.h \
system.h
java/zextract.o: java/zextract.c $(CONFIG_H) system.h java/zipfile.h
# jcf-io.o needs $(ZLIBINC) added to cflags.
java/jcf-io.o: java/jcf-io.c $(CONFIG_H) system.h $(JAVA_TREE_H)
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(ZLIBINC) \
$(srcdir)/java/jcf-io.c $(OUTPUT_OPTION)
# jcf-path.o needs a -D.
java/jcf-path.o: java/jcf-path.c $(CONFIG_H) system.h java/jcf.h
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-DLIBGCJ_ZIP_FILE='"$(libgcj_zip)"' \
$(srcdir)/java/jcf-path.c $(OUTPUT_OPTION)

View File

@ -1,329 +0,0 @@
# Makefile for GNU compiler for the Java(TM) language.
# Copyright (C) 1987, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1998,
# 1999 Free Software Foundation, Inc.
#This file is part of GNU CC.
#GNU CC is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2, or (at your option)
#any later version.
#GNU CC is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with GNU CC; see the file COPYING. If not, write to
#the Free Software Foundation, 59 Temple Place - Suite 330,
#Boston, MA 02111-1307, USA.
#Java and all Java-based marks are trademarks or registered trademarks
#of Sun Microsystems, Inc. in the United States and other countries.
#The Free Software Foundation is independent of Sun Microsystems, Inc.
# The makefile built from this file lives in the language subdirectory.
# Its purpose is to provide support for:
#
# 1) recursion where necessary, and only then (building .o's), and
# 2) building and debugging cc1 from the language subdirectory, and
# 3) nothing else.
#
# The parent makefile handles all other chores, with help from the
# language makefile fragment, of course.
#
# The targets for external use are:
# all, TAGS, ???mostlyclean, ???clean.
# Suppress smart makes who think they know how to automake Yacc files
.y.c:
# Variables that exist for you to override.
# See below for how to change them for certain systems.
# Various ways of specifying flags for compilations:
# CFLAGS is for the user to override to, e.g., do a bootstrap with -O2.
# BOOT_CFLAGS is the value of CFLAGS to pass
# to the stage2 and stage3 compilations
# XCFLAGS is used for most compilations but not when using the GCC just built.
XCFLAGS =
CFLAGS = -g
BOOT_CFLAGS = -O $(CFLAGS)
# These exists to be overridden by the x-* and t-* files, respectively.
X_CFLAGS =
T_CFLAGS =
X_CPPFLAGS =
T_CPPFLAGS =
CC = @CC@
SET_BISON = here=`pwd`; sdir=`cd $(srcdir) && pwd`; if test -f ../../bison; then bison="$$here/../../bison/bison -L $$sdir"; else bison=bison; fi
BISONFLAGS =
JAVABISONFLAGS = --name-prefix=java_
AR = ar
AR_FLAGS = rc
SHELL = /bin/sh
MAKEINFO = makeinfo
TEXI2DVI = texi2dvi
# Define this as & to perform parallel make on a Sequent.
# Note that this has some bugs, and it seems currently necessary
# to compile all the gen* files first by hand to avoid erroneous results.
P =
# This is used instead of ALL_CFLAGS when compiling with GCC_FOR_TARGET.
# It omits XCFLAGS, and specifies -B./.
# It also specifies -B$(tooldir)/ to find as and ld for a cross compiler.
GCC_CFLAGS=$(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(CFLAGS)
# Tools to use when building a cross-compiler.
# These are used because `configure' appends `cross-make'
# to the makefile when making a cross-compiler.
# We don't use cross-make. Instead we use the tools
# from the build tree, if they are available.
# program_transform_name and objdir are set by configure.in.
program_transform_name =
objdir = .
#version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.c`
#mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.c`
# Directory where sources are, from where we are.
srcdir = @srcdir@
VPATH = @srcdir@
# Directory holding libgcj.zip.
prefix = @prefix@
datadir = @datadir@
libgcj_zip = $(datadir)/libgcj.zip
# Additional system libraries to link with.
CLIB=
# Top build directory, relative to here.
top_builddir = ..
# Internationalization library.
INTLLIBS = @INTLLIBS@
# Choose the real default target.
ALL=all
# End of variables for you to override.
# Definition of `all' is here so that new rules inserted by sed
# do not specify the default target.
all: all.indirect
# This tells GNU Make version 3 not to put all variables in the environment.
.NOEXPORT:
# sed inserts variable overrides after the following line.
####target overrides
@target_overrides@
####host overrides
@host_overrides@
####cross overrides
@cross_overrides@
####build overrides
@build_overrides@
####site overrides
#
# Now figure out from those variables how to compile and link.
all.indirect: Makefile ../jc1$(exeext) ../jcf-dump$(exeext) \
../jvgenmain$(exeext) ../gcjh$(exeext) ../jv-scan$(exeext)
# IN_GCC tells obstack.h that we are using gcc's <stddef.h> file.
INTERNAL_CFLAGS = $(CROSS) -DIN_GCC @extra_c_flags@
# This is the variable actually used when we compile.
ALL_CFLAGS = $(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(CFLAGS) $(XCFLAGS) -W -Wall
# Likewise.
ALL_CPPFLAGS = $(CPPFLAGS) $(X_CPPFLAGS) $(T_CPPFLAGS)
# This is where we get libiberty.a from.
LIBIBERTY = ../../libiberty/libiberty.a
# This is where we get zlib from. zlibdir is -L../../zlib by default,
# and is nothing when configured with --enable-system-zlib.
ZLIB = @zlibdir@ -lz
# How to link with both our special library facilities
# and the system's installed libraries.
LIBS = $(ZLIB) $(INTLLIBS) $(LIBIBERTY) $(CLIB)
LIBDEPS = $(INTLLIBS) $(LIBIBERTY) ../errors.o
# Specify the directories to be searched for header files.
# Both . and srcdir are used, in that order,
# so that tm.h and config.h will be found in the compilation
# subdirectory rather than in the source directory.
INCLUDES = -I. -I.. -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../config -I$(srcdir)/../../include @zlibinc@
# Always use -I$(srcdir)/config when compiling.
.c.o:
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
#
# Lists of files for various purposes.
# Language-specific object files for Gcc/Java:
# Remember to keep this list in sync with JAVA_SRCS in Make-lang.in!!!
#
JAVA_OBJS = parse.o class.o decl.o expr.o constants.o lang.o typeck.o \
except.o verify.o zextract.o jcf-io.o jcf-parse.o mangle.o jcf-write.o \
buffer.o check-init.o jcf-depend.o jcf-path.o xref.o boehm.o
JAVA_OBJS_LITE = parse-scan.o jv-scan.o
# Language-independent object files.
BACKEND = ../toplev.o ../mkdeps.o ../libbackend.a
compiler: ../jc1$(exeext) ../jv-scan$(exeext)
../jc1$(exeext): $(P) $(JAVA_OBJS) $(BACKEND) $(LIBDEPS)
rm -f ../jc1$(exeext)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JAVA_OBJS) $(BACKEND) $(LIBS)
../jv-scan$(exeext): $(P) $(JAVA_OBJS_LITE) ../version.o $(LIBDEPS)
rm -f ../jv-scan$(exeext)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JAVA_OBJS_LITE) ../version.o $(LIBS)
../jcf-dump$(exeext): jcf-dump.o jcf-io.o jcf-depend.o jcf-path.o \
zextract.o ../version.o ../mkdeps.o $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ jcf-dump.o jcf-io.o \
jcf-depend.o jcf-path.o zextract.o ../errors.o ../version.o \
../mkdeps.o $(LIBS)
# Dependencies here must be kept in sync with dependencies in Make-lang.in.
../jvgenmain$(exeext): jvgenmain.o mangle.o $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ jvgenmain.o mangle.o $(LIBS)
../gcjh$(exeext): gjavah.o jcf-io.o jcf-depend.o jcf-path.o \
zextract.o ../version.o ../mkdeps.o $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ gjavah.o jcf-io.o \
jcf-depend.o jcf-path.o zextract.o ../errors.o ../version.o \
../mkdeps.o $(LIBS)
Makefile: $(srcdir)/Makefile.in $(srcdir)/../configure
cd ..; $(SHELL) config.status
native: config.status ../jc1$(exeext)
#
# Compiling object files from source files.
TREE_H = $(srcdir)/../tree.h $(srcdir)/../real.h $(srcdir)/../tree.def \
$(srcdir)/../machmode.h $(srcdir)/../machmode.def ../tree-check.h
JAVA_TREE_H = $(TREE_H) java-tree.h java-tree.def
RTL_H = $(srcdir)/../rtl.h $(srcdir)/../rtl.def \
$(srcdir)/../machmode.h $(srcdir)/../machmode.def ../genrtl.h
EXPR_H = $(srcdir)/../expr.h ../insn-codes.h
# Separating PARSE_DIR from PARSE_RELDIR lets us easily change the
# code to support building parse.c in the build directory, at some
# expense in readability.
# This code must be kept in sync with Make-lang.in.
PARSE_DIR = $(srcdir)
PARSE_RELDIR = .
PARSE_C = $(PARSE_DIR)/parse.c
PARSE_SCAN_C = $(PARSE_DIR)/parse-scan.c
PARSE_H = $(srcdir)/parse.h
$(PARSE_C): $(srcdir)/parse.y
$(SET_BISON); \
cd $(PARSE_DIR) ; $$bison -t $(BISONFLAGS) $(JAVABISONFLAGS) \
-o p$$$$.c $(PARSE_RELDIR)/parse.y ; \
mv -f p$$$$.c parse.c
$(PARSE_SCAN_C): $(srcdir)/parse-scan.y
$(SET_BISON); \
cd $(PARSE_DIR) ; $$bison -t $(BISONFLAGS) -o ps$$$$.c \
$(PARSE_RELDIR)/parse-scan.y ; \
mv -f ps$$$$.c parse-scan.c
lex.c: keyword.h lex.h
lang.o: $(srcdir)/java-tree.def
keyword.h: keyword.gperf
gperf -L C -F ', 0' -p -t -j1 -i 1 -g -o -N java_keyword -k1,3,$$ \
keyword.gperf > keyword.h || ( \
echo "Please update your 'gperf' from ftp://ftp.gnu.org/pub/gnu/gperf/" >&2 ; \
exit 1 )
jcf-path.o : jcf-path.c $(CONFIG_H) $(srcdir)/../system.h jcf.h
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-DLIBGCJ_ZIP_FILE='"$(libgcj_zip)"' $(srcdir)/jcf-path.c
# These exist for maintenance purposes.
# Update the tags table.
TAGS: force
cd $(srcdir) ; \
etags *.c *.h ; \
echo 'l' | tr 'l' '\f' >> TAGS ; \
echo 'parse.y,0' >> TAGS ; \
etags -a ../*.h ../*.c;
.PHONY: TAGS
mostlyclean:
rm -f *.o
clean: mostlyclean
force:
parse.o : $(PARSE_C) jcf-reader.c $(CONFIG_H) $(srcdir)/../system.h \
$(srcdir)/../function.h $(JAVA_TREE_H) $(srcdir)/lex.c $(PARSE_H) \
$(srcdir)/lex.h $(srcdir)/../ggc.h
jcf-dump.o : $(CONFIG_H) $(srcdir)/../system.h $(JAVA_TREE_H) jcf-dump.c \
jcf-reader.c jcf.h javaop.h javaop.def $(srcdir)/../version.h
gjavah.o : $(CONFIG_H) $(srcdir)/../system.h $(JAVA_TREE_H) gjavah.c \
jcf-reader.c jcf.h javaop.h $(srcdir)/../version.h
boehm.o: boehm.c $(CONFIG_H) $(srcdir)/../system.h $(TREE_H) $(JAVA_TREE_H) \
$(PARSE_H)
buffer.o : buffer.c $(CONFIG_H) buffer.h $(srcdir)/../gansidecl.h \
$(srcdir)/../system.h $(srcdir)/../toplev.h
check-init.o : check-init.c $(CONFIG_H) $(srcdir)/../gansidecl.h \
$(JAVA_TREE_H) $(srcdir)/../system.h $(srcdir)/../toplev.h
class.o : class.c $(CONFIG_H) $(JAVA_TREE_H) $(RTL_H) jcf.h $(PARSE_H) \
$(srcdir)/../gansidecl.h $(srcdir)/../toplev.h $(srcdir)/../system.h \
$(srcdir)/../output.h $(srcdir)/../ggc.h
constants.o : constants.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h \
$(srcdir)/../toplev.h $(srcdir)/../system.h $(srcdir)/../ggc.h
decl.o : decl.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h \
$(srcdir)/../toplev.h $(srcdir)/../system.h $(srcdir)/../function.h \
$(srcdir)/../defaults.h $(srcdir)/../gcc.h
except.o : except.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h $(srcdir)/../real.h \
$(RTL_H) javaop.h java-opcodes.h $(srcdir)/../except.h java-except.h \
$(srcdir)/../eh-common.h $(srcdir)/../toplev.h $(srcdir)/../system.h \
$(srcdir)/../function.h
expr.o : expr.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h $(srcdir)/../real.h \
$(RTL_H) $(EXPR_H) javaop.h java-opcodes.h $(srcdir)/../except.h \
java-except.h java-except.h parse.h $(srcdir)/../toplev.h \
$(srcdir)/../system.h $(srcdir)/../ggc.h
jcf-depend.o : jcf-depend.c $(CONFIG_H) $(srcdir)/../system.h jcf.h
jcf-io.o : jcf-io.c $(CONFIG_H) $(srcdir)/../system.h $(JAVA_TREE_H)
jcf-parse.o : jcf-parse.c $(CONFIG_H) $(JAVA_TREE_H) $(srcdir)/../flags.h \
$(srcdir)/../input.h java-except.h $(srcdir)/../system.h \
$(srcdir)/../toplev.h $(PARSE_H) $(srcdir)/../ggc.h
jcf-write.o : jcf-write.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h $(RTL_H) \
java-opcodes.h parse.h buffer.h $(srcdir)/../system.h \
$(srcdir)/../toplev.h $(srcdir)/../ggc.h
jv-scan.o : jv-scan.c $(CONFIG_H) $(srcdir)/../system.h $(srcdir)/../version.h
jvgenmain.o : jvgenmain.c $(CONFIG_H) $(srcdir)/../system.h
lang.o : lang.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h $(srcdir)/../input.h \
$(srcdir)/../toplev.h $(srcdir)/../system.h $(RTL_H) $(EXPR_H)
mangle.o : mangle.c $(CONFIG_H) jcf.h $(JAVA_TREE_H) $(srcdir)/../system.h \
$(srcdir)/../toplev.h $(srcdir)/../ggc.h
parse-scan.o : $(CONFIG_H) $(srcdir)/../system.h $(srcdir)/../toplev.h \
$(srcdir)/lex.c $(PARSE_H) $(srcdir)/lex.h
typeck.o : typeck.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h convert.h \
$(srcdir)/../toplev.h $(srcdir)/../system.h $(srcdir)/../ggc.h
verify.o : verify.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h javaop.h java-opcodes.h \
java-except.h $(srcdir)/../toplev.h $(srcdir)/../system.h
xref.o : xref.c xref.h $(CONFIG_H) $(JAVA_TREE_H) $(srcdir)/../toplev.h \
$(srcdir)/../system.h
zextract.o : zextract.c $(CONFIG_H) $(srcdir)/../system.h zipfile.h

View File

@ -36,5 +36,3 @@ language="java"
compilers="jc1\$(exeext) jvgenmain\$(exeext)"
stagestuff="jc1\$(exeext) gcj\$(exeext) jvgenmain\$(exeext) gcjh\$(exeext) jv-scan\$(exeext) jcf-dump\$(exeext)"
outputs=java/Makefile

View File

@ -35,18 +35,6 @@
# - making any compiler driver (eg: g++)
# - the compiler proper (eg: cc1plus)
# - define the names for selecting the language in LANGUAGES.
#
# Extra flags to pass to recursive makes.
OBJC_FLAGS_TO_PASS = \
"OBJC_FOR_BUILD=$(OBJC_FOR_BUILD)" \
"OBJCFLAGS=$(OBJCFLAGS)" \
"OBJC_FOR_TARGET=$(OBJC_FOR_TARGET)" \
# Actual names to use when installing a native compiler.
#OBJC_INSTALL_NAME = `t='$(program_transform_name)'; echo c++ | sed $$t`
# Actual names to use when installing a cross-compiler.
#OBJC_CROSS_NAME = `t='$(program_transform_cross_name)'; echo c++ | sed $$t`
#
# Define the names for selecting Objective-C in LANGUAGES.
@ -56,10 +44,13 @@ OBJECTIVE-C objective-c: cc1obj$(exeext)
# Tell GNU make to ignore these if they exist.
.PHONY: objective-c objc ObjC
# Use maximal warnings for this front end.
objc-warn = $(STRICT_WARN)
# Language-specific object files for Objective C.
OBJC_OBJS = objc-parse.o objc-act.o $(C_AND_OBJC_OBJS)
cc1obj$(exeext): $(P) $(OBJC_OBJS) $(BACKEND) $(LIBDEPS)
cc1obj$(exeext): $(OBJC_OBJS) $(BACKEND) $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(OBJC_OBJS) $(BACKEND) $(LIBS)
# Objective C language specific files.
@ -70,7 +61,7 @@ objc-parse.o : $(srcdir)/objc/objc-parse.c \
$(srcdir)/input.h $(srcdir)/flags.h $(srcdir)/output.h \
$(srcdir)/objc/objc-act.h system.h cpplib.h
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -I$(srcdir)/objc \
-c $(srcdir)/objc/objc-parse.c
-c $(srcdir)/objc/objc-parse.c $(OUTPUT_OPTION)
$(INTL_TARGETS): $(srcdir)/objc/objc-parse.c
$(srcdir)/objc/objc-parse.c : $(srcdir)/objc/objc-parse.y
@ -132,8 +123,8 @@ objc.distclean:
-rm -f objc-parse.output
objc.extraclean:
objc.maintainer-clean:
-rm -f objc/objc-parse.y
-rm -f objc/objc-parse.c objc/objc-parse.output
-rm -f $(srcdir)/objc/objc-parse.y
-rm -f $(srcdir)/objc/objc-parse.c $(srcdir)/objc/objc-parse.output
#
# Stage hooks:
@ -156,11 +147,8 @@ objc.stage4: stage4-start
# This target creates the files that can be rebuilt, but go in the
# distribution anyway. It then copies the files to the distdir directory.
# ??? Note that this should be fixed once the Makefile is fixed to do
# the build in the inner directory.
objc.distdir: $(srcdir)/objc/objc-parse.c
mkdir tmp/objc
# cd objc ; $(MAKE) $(LANG_FLAGS_TO_PASS) objc-parse.c
cd objc; \
for file in *[0-9a-zA-Z+]; do \
ln $$file ../tmp/objc >/dev/null 2>&1 || cp $$file ../tmp/objc; \

View File

@ -1,73 +0,0 @@
# GNU Objective C frontend Makefile
# Copyright (C) 1993, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
#
# This file is part of GNU CC.
#
# GNU CC is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# GNU CC; see the file COPYING. If not, write to the Free Software
# Foundation, 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
# The Makefile built from this file lives in the objc language subdirectory.
# Its purpose is to provide support for:
#
# 1. recursion where necessary, and only then (building .o's), and
# 2. building and debugging cc1objc from the language subdirectory.
#
# The parent Makefile handles all other chores, with help from the language
# Makefile fragment.
#
# The targets for external use are `all' and `mostlyclean'.
SHELL=/bin/sh
OPTIMIZE= -O
srcdir = .
VPATH = $(srcdir)
AR = ar
AR_FLAGS = rc
# Define this as & to perform parallel make on a Sequent.
# Note that this has some bugs, and it seems currently necessary
# to compile all the gen* files first by hand to avoid erroneous results.
P =
# Definition of `all' is here so that new rules inserted by sed
# do not specify the default target.
all: all.indirect
# sed inserts variable overrides after the following line.
####target overrides
####host overrides
####cross overrides
####build overrides
#
# Now figure out from those variables how to compile and link.
all.indirect: Makefile frontend
frontend:
cd ..; $(MAKE) cc1obj$(exeext)
Makefile: $(srcdir)/Makefile.in $(srcdir)/../configure
cd ..; $(SHELL) config.status
mostlyclean:
-rm -f *.o xforward fflags
clean: mostlyclean
distclean: mostlyclean
extraclean: mostlyclean
# For Sun VPATH.