2000-12-04 18:00:04 +01:00
|
|
|
|
# Top level -*- makefile -*- fragment for GNU C++.
|
2003-01-10 03:22:34 +01:00
|
|
|
|
# Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
2000-02-27 01:52:00 +01:00
|
|
|
|
# Free Software Foundation, Inc.
|
1994-04-22 09:25:56 +02:00
|
|
|
|
|
2002-12-30 19:06:39 +01:00
|
|
|
|
#This file is part of GCC.
|
1994-04-22 09:25:56 +02:00
|
|
|
|
|
2002-12-30 19:06:39 +01:00
|
|
|
|
#GCC is free software; you can redistribute it and/or modify
|
1994-04-22 09:25:56 +02:00
|
|
|
|
#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.
|
|
|
|
|
|
2002-12-30 19:06:39 +01:00
|
|
|
|
#GCC is distributed in the hope that it will be useful,
|
1994-04-22 09:25:56 +02:00
|
|
|
|
#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
|
2002-12-30 19:06:39 +01:00
|
|
|
|
#along with GCC; see the file COPYING. If not, write to
|
1995-06-15 23:06:59 +02:00
|
|
|
|
#the Free Software Foundation, 59 Temple Place - Suite 330,
|
|
|
|
|
#Boston, MA 02111-1307, USA.
|
1994-04-22 09:25:56 +02:00
|
|
|
|
|
|
|
|
|
# This file provides the language dependent support in the main Makefile.
|
|
|
|
|
# Each language makefile fragment must provide the following targets:
|
|
|
|
|
#
|
|
|
|
|
# foo.all.build, foo.all.cross, foo.start.encap, foo.rest.encap,
|
|
|
|
|
# foo.info, foo.dvi,
|
|
|
|
|
# foo.install-normal, foo.install-common, foo.install-info, foo.install-man,
|
2000-11-05 11:35:33 +01:00
|
|
|
|
# foo.uninstall,
|
1995-04-26 00:07:11 +02:00
|
|
|
|
# foo.mostlyclean, foo.clean, foo.distclean, foo.extraclean,
|
|
|
|
|
# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
|
1994-04-22 09:25:56 +02:00
|
|
|
|
#
|
|
|
|
|
# where `foo' is the name of the language.
|
|
|
|
|
#
|
|
|
|
|
# It should also provide rules for:
|
|
|
|
|
#
|
|
|
|
|
# - making any compiler driver (eg: g++)
|
|
|
|
|
# - the compiler proper (eg: cc1plus)
|
|
|
|
|
# - define the names for selecting the language in LANGUAGES.
|
|
|
|
|
|
1994-06-03 23:42:31 +02:00
|
|
|
|
# Actual names to use when installing a native compiler.
|
configure.in: Add AC_ARG_PROGRAM to support program name transformation with --program-prefix...
* configure.in: Add AC_ARG_PROGRAM to support program name
transformation with --program-prefix, --program-suffix and
--program-transform-name.
* Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
program_transform_name the way suggested by autoconf.
(GCC_TARGET_INSTALL_NAME): Define.
(install-driver): Use the transformed target alias name.
* Make-lang.in (CXX_INSTALL_NAME, GXX_CROSS_NAME,
DEMANGLER_CROSS_NAME): Handle program_transform_name the way
suggested by autoconf.
(GXX_TARGET_INSTALL_NAME, CXX_TARGET_INSTALL_NAME): Define.
(c++.install-common): Use the transformed target alias names.
* Make-lang.in (G77_INSTALL_NAME, G77_CROSS_NAME): Handle
program_transform_name the way suggested by autoconf.
* Make-lang.in (JAVA_INSTALL_NAME, JAVA_CROSS_NAME): Handle
program_transform_name the way suggested by autoconf.
(java.install-common): Also transform auxiliary program names with
program_transform_name.
From-SVN: r46856
2001-11-08 21:18:18 +01:00
|
|
|
|
CXX_INSTALL_NAME = `echo c++|sed '$(program_transform_name)'`
|
|
|
|
|
GXX_INSTALL_NAME = `echo g++|sed '$(program_transform_name)'`
|
|
|
|
|
CXX_TARGET_INSTALL_NAME = $(target_alias)-`echo c++|sed '$(program_transform_name)'`
|
|
|
|
|
GXX_TARGET_INSTALL_NAME = $(target_alias)-`echo g++|sed '$(program_transform_name)'`
|
1994-06-03 23:42:31 +02:00
|
|
|
|
|
|
|
|
|
# Actual names to use when installing a cross-compiler.
|
configure.in: Add AC_ARG_PROGRAM to support program name transformation with --program-prefix...
* configure.in: Add AC_ARG_PROGRAM to support program name
transformation with --program-prefix, --program-suffix and
--program-transform-name.
* Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
program_transform_name the way suggested by autoconf.
(GCC_TARGET_INSTALL_NAME): Define.
(install-driver): Use the transformed target alias name.
* Make-lang.in (CXX_INSTALL_NAME, GXX_CROSS_NAME,
DEMANGLER_CROSS_NAME): Handle program_transform_name the way
suggested by autoconf.
(GXX_TARGET_INSTALL_NAME, CXX_TARGET_INSTALL_NAME): Define.
(c++.install-common): Use the transformed target alias names.
* Make-lang.in (G77_INSTALL_NAME, G77_CROSS_NAME): Handle
program_transform_name the way suggested by autoconf.
* Make-lang.in (JAVA_INSTALL_NAME, JAVA_CROSS_NAME): Handle
program_transform_name the way suggested by autoconf.
(java.install-common): Also transform auxiliary program names with
program_transform_name.
From-SVN: r46856
2001-11-08 21:18:18 +01:00
|
|
|
|
CXX_CROSS_NAME = `echo c++|sed '$(program_transform_cross_name)'`
|
|
|
|
|
GXX_CROSS_NAME = `echo g++|sed '$(program_transform_cross_name)'`
|
1996-09-30 23:34:04 +02:00
|
|
|
|
|
1997-06-18 04:25:37 +02:00
|
|
|
|
#
|
1994-04-22 09:25:56 +02:00
|
|
|
|
# Define the names for selecting c++ in LANGUAGES.
|
|
|
|
|
# Note that it would be nice to move the dependency on g++
|
|
|
|
|
# into the C++ rule, but that needs a little bit of work
|
|
|
|
|
# to do the right thing within all.cross.
|
1998-03-22 00:49:35 +01:00
|
|
|
|
C++ c++: cc1plus$(exeext)
|
1994-04-22 09:25:56 +02:00
|
|
|
|
|
1994-12-20 23:14:37 +01:00
|
|
|
|
# Tell GNU make to ignore these if they exist.
|
|
|
|
|
.PHONY: C++ c++
|
|
|
|
|
|
2002-12-16 19:23:00 +01:00
|
|
|
|
g++spec.o: $(srcdir)/cp/g++spec.c $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) $(CONFIG_H)
|
2001-02-11 22:23:42 +01:00
|
|
|
|
(SHLIB_LINK='$(SHLIB_LINK)' \
|
|
|
|
|
SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
|
2001-02-02 18:42:00 +01:00
|
|
|
|
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(DRIVER_DEFINES) \
|
2001-02-11 22:23:42 +01:00
|
|
|
|
$(INCLUDES) $(srcdir)/cp/g++spec.c)
|
1996-12-18 03:46:25 +01:00
|
|
|
|
|
2002-12-28 09:03:42 +01:00
|
|
|
|
po-generated:
|
1999-03-18 23:00:18 +01:00
|
|
|
|
|
1994-04-22 09:25:56 +02:00
|
|
|
|
# Create the compiler driver for g++.
|
1999-03-26 00:36:47 +01:00
|
|
|
|
GXX_OBJS = gcc.o g++spec.o intl.o prefix.o version.o
|
1999-01-27 02:43:17 +01:00
|
|
|
|
g++$(exeext): $(GXX_OBJS) $(EXTRA_GCC_OBJS) $(LIBDEPS)
|
|
|
|
|
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \
|
|
|
|
|
$(GXX_OBJS) $(EXTRA_GCC_OBJS) $(LIBS)
|
1994-04-22 09:25:56 +02:00
|
|
|
|
|
|
|
|
|
# Create a version of the g++ driver which calls the cross-compiler.
|
1996-12-18 03:46:25 +01:00
|
|
|
|
g++-cross$(exeext): g++$(exeext)
|
|
|
|
|
-rm -f g++-cross$(exeext)
|
|
|
|
|
cp g++$(exeext) g++-cross$(exeext)
|
1994-04-22 09:25:56 +02:00
|
|
|
|
|
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
2000-10-27 22:22:28 +02:00
|
|
|
|
# The compiler itself.
|
|
|
|
|
# Shared with C front end:
|
2001-09-22 15:14:40 +02:00
|
|
|
|
CXX_C_OBJS = attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o \
|
Makefile.in (C_AND_OBJC_OBJS, [...]): Update.
* Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
cppinit.o, cppdefault.o, fix-header): Update.
* c-incpath.c: New file.
* c-incpath.h: New file.
* c-lex.c: Include c-incpath.h.
(init_c_lex): Register path simplifier.
* c-opts.c: Include cppdefault.h and c-incpath.h.
(TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
std_cxx_inc, quote_chain_split, add_prefixed_path): New.
(COMMAND_LINE_OPTIONS): Add more options from cpplib.
(missing_arg, c_common_decode_option): Handle them.
(c_common_post_options): Register include chains.
(print_help): Update.
* cppdefault.h (struct default include): Update.
Move some macros to ...
* cppdefault.c: ... here.
(cpp_include_defaults): Add extra field add_sysroot.
* cppfiles.c (include_file, search_from, find_or_create_entry,
cpp_included, find_include_file, remap_filename): Update for
renaming of search_path to cpp_path, and of the chain headers.
(remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
* cpphash.h (struct search_path): Move to cpplib.h.
(struct cpp_buffer, struct cpp_reader): Update.
(_cpp_simplify_pathname): Remove.
* cppinit.c: Don't include prefix.h and cppdefault.h.
(INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
no_pth, cpp_handle_options): Remove.
(struct pending_option): Remove chain members.
(cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
cpp_handle_option): Update.
* cpplib.h (struct cpp_path, cpp_set_include_chains): New.
(struct cpp_options): Remove quote_include, bracket_include,
include_prefix, include_prefix_len, verbose, ignore_srcdir,
no_standard_includes, no_standard_cplusplus_includes.
(struct cpp_callbacks): Add simplify_path.
(cpp_handle_options): Remove.
* fix-header.c: Include c-incpath.h.
(read_scan_file): Update to use c-incpath functionality.
* doc/passes.texi: Update.
cp:
* Make-lang.in (CXX_C_OBJS): Update.
From-SVN: r63612
2003-03-01 15:31:21 +01:00
|
|
|
|
c-dump.o $(CXX_TARGET_OBJS) c-pretty-print.o c-opts.o c-pch.o \
|
Makefile.in: Update.
* Makefile.in: Update.
* c-common.h (cb_register_builtins): Rename c_cpp_builtins.
* c-lex.c (init_c_lex): Register builtins hook is dead.
* c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
(c_common_decode_option): Don't call cpp_handle_option.
Handle -A, -D and -U.
(handle_deferred_opts): Simplify.
(finish_options): Define builtins and command line macros.
* c-ppoutput.c (init_pp_output): Register builtins hook is dead.
* cppinit.c: Don't include intl.h.
(init_builtins): Rename cpp_init_builtins. No hook to call.
(init_library): Don't need to sort options.
(cpp_create_reader): Don't set pending.
(cpp_destroy): Don't free pending.
(struct pending_option, cl_directive_handler, struct cpp_pending,
APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
cl_options, cpp_handle_option): Remove.
* cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
cpp_finish_options): Remove.
(cpp_init_builtins): New.
* fix-header.c (read_scan_file): Update to handle -D. Fix
handling of -I. Replace call to cpp_finish_options.
cp:
* Make-lang.in: Update.
From-SVN: r64398
2003-03-15 13:18:47 +01:00
|
|
|
|
c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o
|
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
2000-10-27 22:22:28 +02:00
|
|
|
|
|
|
|
|
|
# Language-specific object files.
|
top level:
* errors.h (warning, error, fatal, internal_error): Don't mark
with ATTRIBUTE_PRINTF_n.
* toplev.h (internal_error, fatal_io_error, warning, error,
pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
Likewise.
cp:
* Make-lang.in (CXX_OBJS): Take out cp/errfn.o.
(cp/errfn.o): Delete rule.
(cp/error.o): Depend on flags.h.
* errfn.c: Delete file.
* cp-tree.h: Declare warn_deprecated. Remove definitions of
TFF_NAMESPACE_SCOPE, TFF_CLASS_SCOPE, TFF_CHASE_NAMESPACE_ALIAS,
and TFF_TEMPLATE_DEFAULT_ARGUMENTS. #define cp_error, cp_warning,
cp_pedwarn, and cp_compiler_error to error, warning, pedwarn, and
internal_error respectively. Make cp_deprecated into a macro.
Don't define cp_printer typedef or declare cp_printers.
* error.c: Include flags.h.
Delete: struct tree_formatting_info, print_function_argument_list,
print_declaration, print_expression, print_function_declaration,
print_function_parameter, print_type_id, print_cv_qualifier_seq,
print_type_specifier_seq, print_simple_type_specifier,
print_elaborated_type_specifier, print_rest_of_abstract_declarator,
print_parameter_declaration_clause, print_exception_specification,
print_nested_name_specifier, and definition of cp_printers.
(locate_error): New function.
(cp_error_at, cp_warning_at, cp_pedwarn_at): Moved here and
rewritten in terms of locate_error and diagnostic.c.
(cp_tree_printer): Rename cp_printer; wire up to *_to_string
instead of deleted print_* routines. Handle %C, %L, %O, %Q also.
(init_error): Adjust to match.
po:
* POTFILES.in: Remove cp/errfn.c.
From-SVN: r45765
2001-09-24 02:27:33 +02:00
|
|
|
|
CXX_OBJS = cp/call.o cp/decl.o cp/expr.o cp/pt.o cp/typeck2.o \
|
2002-12-28 09:03:42 +01:00
|
|
|
|
cp/class.o cp/decl2.o cp/error.o cp/lex.o cp/parser.o cp/ptree.o cp/rtti.o \
|
|
|
|
|
cp/typeck.o cp/cvt.o cp/except.o cp/friend.o cp/init.o cp/method.o \
|
2002-02-04 09:55:43 +01:00
|
|
|
|
cp/search.o cp/semantics.o cp/tree.o cp/repo.o cp/dump.o \
|
2003-03-30 15:18:18 +02:00
|
|
|
|
cp/optimize.o cp/mangle.o cp/cp-lang.o cp/name-lookup.o
|
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
2000-10-27 22:22:28 +02:00
|
|
|
|
|
2003-04-04 01:26:03 +02:00
|
|
|
|
# Use strict warnings for this front end.
|
|
|
|
|
cp-warn = $(STRICT_WARN) $(WERROR)
|
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
2000-10-27 22:22:28 +02:00
|
|
|
|
|
|
|
|
|
cc1plus$(exeext): $(CXX_OBJS) $(CXX_C_OBJS) $(BACKEND) \
|
2000-11-26 11:48:50 +01:00
|
|
|
|
libcpp.a $(LIBDEPS)
|
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
2000-10-27 22:22:28 +02:00
|
|
|
|
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \
|
2000-11-26 11:48:50 +01:00
|
|
|
|
$(CXX_OBJS) $(CXX_C_OBJS) $(BACKEND) libcpp.a $(LIBS)
|
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
2000-10-27 22:22:28 +02:00
|
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
2002-06-04 09:11:05 +02:00
|
|
|
|
gtype-cp.h gt-cp-call.h gt-cp-decl.h gt-cp-decl2.h : s-gtype; @true
|
2002-12-30 20:02:11 +01:00
|
|
|
|
gt-cp-pt.h gt-cp-repo.h gt-cp-parser.h : s-gtype; @true
|
2003-04-03 05:45:49 +02:00
|
|
|
|
gt-cp-tree.h gt-cp-mangle.h gt-cp-name-lookup.h: s-gtype; @true
|
2002-06-04 09:11:05 +02:00
|
|
|
|
|
1997-06-18 04:25:37 +02:00
|
|
|
|
#
|
1994-04-22 09:25:56 +02:00
|
|
|
|
# Build hooks:
|
|
|
|
|
|
1998-04-17 10:12:14 +02:00
|
|
|
|
c++.all.build: g++$(exeext)
|
2002-09-17 09:09:50 +02:00
|
|
|
|
c++.all.cross: g++-cross$(exeext)
|
1997-02-04 03:31:49 +01:00
|
|
|
|
c++.start.encap: g++$(exeext)
|
2002-09-17 09:09:50 +02:00
|
|
|
|
c++.rest.encap:
|
1994-04-22 09:25:56 +02:00
|
|
|
|
|
2003-03-04 22:32:09 +01:00
|
|
|
|
c++.tags: force
|
|
|
|
|
cd $(srcdir)/cp; etags *.c *.h
|
|
|
|
|
|
2001-05-01 00:46:01 +02:00
|
|
|
|
c++.info:
|
1994-04-22 09:25:56 +02:00
|
|
|
|
c++.dvi:
|
2003-03-12 05:18:34 +01:00
|
|
|
|
c++.generated-manpages: cp/g++.1
|
2001-01-13 01:24:39 +01:00
|
|
|
|
|
1997-06-18 04:25:37 +02:00
|
|
|
|
#
|
1994-04-22 09:25:56 +02:00
|
|
|
|
# Install hooks:
|
|
|
|
|
# cc1plus is installed elsewhere as part of $(COMPILERS).
|
|
|
|
|
|
|
|
|
|
# Nothing to do here.
|
|
|
|
|
c++.install-normal:
|
|
|
|
|
|
|
|
|
|
# Install the driver program as $(target)-g++
|
|
|
|
|
# and also as either g++ (if native) or $(tooldir)/bin/g++.
|
2001-02-16 04:54:02 +01:00
|
|
|
|
c++.install-common: installdirs
|
1995-02-22 00:38:37 +01:00
|
|
|
|
-if [ -f cc1plus$(exeext) ] ; then \
|
|
|
|
|
if [ -f g++-cross$(exeext) ] ; then \
|
2003-01-09 09:04:52 +01:00
|
|
|
|
rm -f $(DESTDIR)$(bindir)/$(GXX_CROSS_NAME)$(exeext); \
|
|
|
|
|
$(INSTALL_PROGRAM) g++-cross$(exeext) $(DESTDIR)$(bindir)/$(GXX_CROSS_NAME)$(exeext); \
|
|
|
|
|
chmod a+x $(DESTDIR)$(bindir)/$(GXX_CROSS_NAME)$(exeext); \
|
|
|
|
|
rm -f $(DESTDIR)$(bindir)/$(CXX_CROSS_NAME)$(exeext); \
|
|
|
|
|
( cd $(DESTDIR)$(bindir) && \
|
|
|
|
|
$(LN) $(GXX_CROSS_NAME)$(exeext) $(CXX_CROSS_NAME)$(exeext) ); \
|
|
|
|
|
if [ -d $(DESTDIR)$(gcc_tooldir)/bin/. ] ; then \
|
|
|
|
|
rm -f $(DESTDIR)$(gcc_tooldir)/bin/g++$(exeext); \
|
|
|
|
|
$(INSTALL_PROGRAM) g++-cross$(exeext) $(DESTDIR)$(gcc_tooldir)/bin/g++$(exeext); \
|
|
|
|
|
rm -f $(DESTDIR)$(gcc_tooldir)/bin/c++$(exeext); \
|
|
|
|
|
( cd $(DESTDIR)$(gcc_tooldir)/bin && \
|
|
|
|
|
$(LN) g++$(exeext) c++$(exeext) ); \
|
2000-06-13 23:49:33 +02:00
|
|
|
|
else true; fi; \
|
1994-04-22 09:25:56 +02:00
|
|
|
|
else \
|
2003-01-09 09:04:52 +01:00
|
|
|
|
rm -f $(DESTDIR)$(bindir)/$(GXX_INSTALL_NAME)$(exeext); \
|
|
|
|
|
$(INSTALL_PROGRAM) g++$(exeext) $(DESTDIR)$(bindir)/$(GXX_INSTALL_NAME)$(exeext); \
|
|
|
|
|
chmod a+x $(DESTDIR)$(bindir)/$(GXX_INSTALL_NAME)$(exeext); \
|
|
|
|
|
rm -f $(DESTDIR)$(bindir)/$(CXX_INSTALL_NAME)$(exeext); \
|
|
|
|
|
( cd $(DESTDIR)$(bindir) && \
|
|
|
|
|
$(LN) $(GXX_INSTALL_NAME)$(exeext) $(CXX_INSTALL_NAME)$(exeext) ); \
|
|
|
|
|
rm -f $(DESTDIR)$(bindir)/$(GXX_TARGET_INSTALL_NAME)$(exeext); \
|
|
|
|
|
( cd $(DESTDIR)$(bindir) && \
|
|
|
|
|
$(LN) $(GXX_INSTALL_NAME)$(exeext) $(GXX_TARGET_INSTALL_NAME)$(exeext) ); \
|
|
|
|
|
rm -f $(DESTDIR)$(bindir)/$(CXX_TARGET_INSTALL_NAME)$(exeext); \
|
|
|
|
|
( cd $(DESTDIR)$(bindir) && \
|
|
|
|
|
$(LN) $(CXX_INSTALL_NAME)$(exeext) $(CXX_TARGET_INSTALL_NAME)$(exeext) ); \
|
1994-04-22 09:25:56 +02:00
|
|
|
|
fi ; \
|
|
|
|
|
fi
|
|
|
|
|
|
2001-05-01 00:46:01 +02:00
|
|
|
|
c++.install-info:
|
1994-04-22 09:25:56 +02:00
|
|
|
|
|
2003-03-12 05:18:34 +01:00
|
|
|
|
cp/g++.1:
|
|
|
|
|
-rm -f $@
|
|
|
|
|
if [ "$(ALL)" = all.cross ]; then \
|
|
|
|
|
echo ".so man1/$(GCC_CROSS_NAME).1" > $@ ; \
|
|
|
|
|
else \
|
|
|
|
|
echo ".so man1/$(GCC_INSTALL_NAME).1" > $@ ; \
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
c++.install-man: installdirs cp/g++.1
|
1995-02-22 00:38:37 +01:00
|
|
|
|
-if [ -f cc1plus$(exeext) ] ; then \
|
1995-05-22 23:37:40 +02:00
|
|
|
|
if [ -f g++-cross$(exeext) ] ; then \
|
2003-01-09 09:04:52 +01:00
|
|
|
|
rm -f $(DESTDIR)$(man1dir)/$(GXX_CROSS_NAME)$(man1ext); \
|
2003-03-12 05:18:34 +01:00
|
|
|
|
$(INSTALL_DATA) cp/g++.1 $(DESTDIR)$(man1dir)/$(GXX_CROSS_NAME)$(man1ext); \
|
2003-01-09 09:04:52 +01:00
|
|
|
|
chmod a-x $(DESTDIR)$(man1dir)/$(GXX_CROSS_NAME)$(man1ext); \
|
1994-11-18 02:32:08 +01:00
|
|
|
|
else \
|
2003-01-09 09:04:52 +01:00
|
|
|
|
rm -f $(DESTDIR)$(man1dir)/$(GXX_INSTALL_NAME)$(man1ext); \
|
2003-03-12 05:18:34 +01:00
|
|
|
|
$(INSTALL_DATA) cp/g++.1 $(DESTDIR)$(man1dir)/$(GXX_INSTALL_NAME)$(man1ext); \
|
2003-01-09 09:04:52 +01:00
|
|
|
|
chmod a-x $(DESTDIR)$(man1dir)/$(GXX_INSTALL_NAME)$(man1ext); \
|
1994-11-18 02:32:08 +01:00
|
|
|
|
fi; \
|
1994-04-22 09:25:56 +02:00
|
|
|
|
else true; fi
|
|
|
|
|
|
|
|
|
|
c++.uninstall:
|
2003-01-09 09:04:52 +01:00
|
|
|
|
-rm -rf $(DESTDIR)$(bindir)/$(CXX_INSTALL_NAME)$(exeext)
|
|
|
|
|
-rm -rf $(DESTDIR)$(bindir)/$(CXX_CROSS_NAME)$(exeext)
|
|
|
|
|
-rm -rf $(DESTDIR)$(bindir)/$(GXX_INSTALL_NAME)$(exeext)
|
|
|
|
|
-rm -rf $(DESTDIR)$(bindir)/$(GXX_CROSS_NAME)$(exeext)
|
|
|
|
|
-rm -rf $(DESTDIR)$(man1dir)/$(GXX_INSTALL_NAME)$(man1ext)
|
|
|
|
|
-rm -rf $(DESTDIR)$(man1dir)/$(GXX_CROSS_NAME)$(man1ext)
|
1997-06-18 04:25:37 +02:00
|
|
|
|
#
|
1994-04-22 09:25:56 +02:00
|
|
|
|
# Clean hooks:
|
|
|
|
|
# A lot of the ancillary files are deleted by the main makefile.
|
|
|
|
|
# We just have to delete files specific to us.
|
|
|
|
|
|
|
|
|
|
c++.mostlyclean:
|
2003-03-12 05:18:34 +01:00
|
|
|
|
-rm -f cp/g++.1
|
2002-09-17 09:09:50 +02:00
|
|
|
|
-rm -f cp/*$(objext)
|
2002-08-08 11:10:39 +02:00
|
|
|
|
-rm -f cp/*$(coverageexts)
|
1994-04-22 09:25:56 +02:00
|
|
|
|
c++.clean:
|
|
|
|
|
c++.distclean:
|
|
|
|
|
-rm -f cp/config.status cp/Makefile
|
|
|
|
|
c++.extraclean:
|
1995-04-26 00:07:11 +02:00
|
|
|
|
c++.maintainer-clean:
|
1997-06-18 04:25:37 +02:00
|
|
|
|
#
|
1994-04-22 09:25:56 +02:00
|
|
|
|
# Stage hooks:
|
|
|
|
|
# The main makefile has already created stage?/cp.
|
|
|
|
|
|
1996-12-18 02:44:21 +01:00
|
|
|
|
c++.stage1: stage1-start
|
1995-05-22 23:37:40 +02:00
|
|
|
|
-mv cp/*$(objext) stage1/cp
|
1996-12-18 02:44:21 +01:00
|
|
|
|
c++.stage2: stage2-start
|
1995-05-22 23:37:40 +02:00
|
|
|
|
-mv cp/*$(objext) stage2/cp
|
1996-12-18 02:44:21 +01:00
|
|
|
|
c++.stage3: stage3-start
|
1995-05-22 23:37:40 +02:00
|
|
|
|
-mv cp/*$(objext) stage3/cp
|
1996-12-18 02:44:21 +01:00
|
|
|
|
c++.stage4: stage4-start
|
1995-05-22 23:37:40 +02:00
|
|
|
|
-mv cp/*$(objext) stage4/cp
|
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
2000-10-27 22:22:28 +02:00
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
# .o: .h dependencies.
|
2003-03-30 15:18:18 +02:00
|
|
|
|
CXX_TREE_H = $(TREE_H) cp/name-lookup.h cp/cp-tree.h c-common.h \
|
|
|
|
|
cp/cp-tree.def c-common.def \
|
2002-12-16 19:23:00 +01:00
|
|
|
|
function.h varray.h $(SYSTEM_H) coretypes.h $(CONFIG_H) $(TARGET_H) \
|
2003-01-10 03:22:34 +01:00
|
|
|
|
$(GGC_H) \
|
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
2000-10-27 22:22:28 +02:00
|
|
|
|
$(srcdir)/../include/hashtab.h $(srcdir)/../include/splay-tree.h
|
|
|
|
|
|
2002-12-28 09:03:42 +01:00
|
|
|
|
cp/lex.o: cp/lex.c $(CXX_TREE_H) $(TM_H) flags.h cp/lex.h \
|
2003-01-10 03:22:34 +01:00
|
|
|
|
c-pragma.h toplev.h output.h mbchar.h input.h diagnostic.h \
|
2002-08-02 21:43:25 +02:00
|
|
|
|
cp/operators.def $(TM_P_H)
|
2002-12-16 19:23:00 +01:00
|
|
|
|
cp/cp-lang.o: cp/cp-lang.c $(CXX_TREE_H) $(TM_H) toplev.h langhooks.h \
|
|
|
|
|
$(LANGHOOKS_DEF_H) c-common.h
|
|
|
|
|
cp/decl.o: cp/decl.c $(CXX_TREE_H) $(TM_H) flags.h cp/lex.h cp/decl.h stack.h \
|
2003-01-10 03:22:34 +01:00
|
|
|
|
output.h $(EXPR_H) except.h toplev.h $(HASHTAB_H) $(RTL_H) \
|
2002-06-04 09:11:05 +02:00
|
|
|
|
cp/operators.def $(TM_P_H) tree-inline.h diagnostic.h c-pragma.h \
|
2003-02-13 05:57:20 +01:00
|
|
|
|
debug.h gt-cp-decl.h gtype-cp.h timevar.h
|
2002-12-16 19:23:00 +01:00
|
|
|
|
cp/decl2.o: cp/decl2.c $(CXX_TREE_H) $(TM_H) flags.h cp/lex.h cp/decl.h $(EXPR_H) \
|
2003-01-10 03:22:34 +01:00
|
|
|
|
output.h except.h toplev.h $(RTL_H) c-common.h gt-cp-decl2.h
|
2002-12-16 19:23:00 +01:00
|
|
|
|
cp/typeck2.o: cp/typeck2.c $(CXX_TREE_H) $(TM_H) flags.h toplev.h output.h $(TM_P_H) \
|
2001-06-10 15:48:04 +02:00
|
|
|
|
diagnostic.h
|
2002-12-16 19:23:00 +01:00
|
|
|
|
cp/typeck.o: cp/typeck.c $(CXX_TREE_H) $(TM_H) flags.h $(RTL_H) $(EXPR_H) toplev.h \
|
2001-06-10 15:48:04 +02:00
|
|
|
|
diagnostic.h
|
2002-12-16 19:23:00 +01:00
|
|
|
|
cp/class.o: cp/class.c $(CXX_TREE_H) $(TM_H) flags.h toplev.h $(RTL_H) $(TARGET_H)
|
|
|
|
|
cp/call.o: cp/call.c $(CXX_TREE_H) $(TM_H) flags.h toplev.h $(RTL_H) $(EXPR_H) \
|
2003-01-10 03:22:34 +01:00
|
|
|
|
diagnostic.h gt-cp-call.h
|
2002-12-16 19:23:00 +01:00
|
|
|
|
cp/friend.o: cp/friend.c $(CXX_TREE_H) $(TM_H) flags.h $(RTL_H) toplev.h $(EXPR_H)
|
|
|
|
|
cp/init.o: cp/init.c $(CXX_TREE_H) $(TM_H) flags.h $(RTL_H) $(EXPR_H) toplev.h \
|
2003-01-10 03:22:34 +01:00
|
|
|
|
except.h
|
|
|
|
|
cp/method.o: cp/method.c $(CXX_TREE_H) $(TM_H) toplev.h $(RTL_H) $(EXPR_H) \
|
2002-10-19 01:35:40 +02:00
|
|
|
|
$(TM_P_H) $(TARGET_H)
|
2002-12-16 19:23:00 +01:00
|
|
|
|
cp/cvt.o: cp/cvt.c $(CXX_TREE_H) $(TM_H) cp/decl.h flags.h toplev.h convert.h
|
|
|
|
|
cp/search.o: cp/search.c $(CXX_TREE_H) $(TM_H) stack.h flags.h toplev.h $(RTL_H)
|
2003-01-10 03:22:34 +01:00
|
|
|
|
cp/tree.o: cp/tree.c $(CXX_TREE_H) $(TM_H) flags.h toplev.h $(RTL_H) \
|
2002-08-31 04:37:09 +02:00
|
|
|
|
insn-config.h integrate.h tree-inline.h real.h gt-cp-tree.h $(TARGET_H)
|
2002-12-16 19:23:00 +01:00
|
|
|
|
cp/ptree.o: cp/ptree.c $(CXX_TREE_H) $(TM_H)
|
|
|
|
|
cp/rtti.o: cp/rtti.c $(CXX_TREE_H) $(TM_H) flags.h toplev.h
|
|
|
|
|
cp/except.o: cp/except.c $(CXX_TREE_H) $(TM_H) flags.h $(RTL_H) except.h toplev.h \
|
2002-03-01 02:49:00 +01:00
|
|
|
|
cp/cfns.h $(EXPR_H) libfuncs.h tree-inline.h
|
2002-12-16 19:23:00 +01:00
|
|
|
|
cp/expr.o: cp/expr.c $(CXX_TREE_H) $(TM_H) $(RTL_H) flags.h $(EXPR_H) toplev.h \
|
configure.in: Prune nonexistent files from build_xm_file, xm_file, and host_xm_file lists.
* configure.in: Prune nonexistent files from build_xm_file,
xm_file, and host_xm_file lists. Warn unless they're
$cpu/xm-$cpu.h.
Don't generate *config.h here.
AC_SUBST all variables needed to generate *config.h.
* configure: Regenerate.
* mkconfig.sh: New helper script, from code removed from
configure.in.
* Makefile.in: Zap all MALLOC variables - no longer used
anywhere, and malloc.c doesn't exist.
Substitute in variables needed to generate *config.h.
Stop lying about the dependencies contained in CONFIG_H and
GCONFIG_H.
(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
$(TM_P_H), etc. as appropriate.
* config.gcc: Zap references to deleted files.
* ggc-none.c: Don't include rtl.h or tm_p.h.
* config/i386/xm-beos.h, config/i386/xm-dgux.h,
config/i386/xm-djgpp.h, config/i386/xm-dos.h,
config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
config/i386/xm-linux.h, config/i386/xm-linux.h,
config/i386/xm-next.h, config/i386/xm-openbsd.h,
config/i386/xm-sun.h, config/i386/xm-sysv3.h:
Don't include i386/xm-i386.h.
* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
config/i386/xm-i386.h, config/i860/xm-i860.h,
config/i960/xm-i960.h, config/mcore/xm-mcore.h,
config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
Delete (empty except comments, #includes of other deleted
files, and macros used nowhere).
cp:
* Make-lang.in: Add dependencies on $(TM_P_H) as appropriate.
From-SVN: r40350
2001-03-09 21:53:56 +01:00
|
|
|
|
except.h $(TM_P_H)
|
2002-12-28 09:03:42 +01:00
|
|
|
|
cp/pt.o: cp/pt.c $(CXX_TREE_H) $(TM_H) cp/decl.h cp/lex.h \
|
2003-01-10 03:22:34 +01:00
|
|
|
|
toplev.h $(RTL_H) except.h tree-inline.h gt-cp-pt.h
|
2002-12-16 19:23:00 +01:00
|
|
|
|
cp/error.o: cp/error.c $(CXX_TREE_H) $(TM_H) toplev.h diagnostic.h flags.h real.h \
|
2002-05-22 07:40:22 +02:00
|
|
|
|
$(LANGHOOKS_DEF_H)
|
2003-01-10 03:22:34 +01:00
|
|
|
|
cp/repo.o: cp/repo.c $(CXX_TREE_H) $(TM_H) toplev.h diagnostic.h \
|
2002-06-04 09:11:05 +02:00
|
|
|
|
gt-cp-repo.h
|
2002-12-16 19:23:00 +01:00
|
|
|
|
cp/semantics.o: cp/semantics.c $(CXX_TREE_H) $(TM_H) cp/lex.h except.h toplev.h \
|
2003-01-10 03:22:34 +01:00
|
|
|
|
flags.h debug.h output.h $(RTL_H) $(TIMEVAR_H) $(EXPR_H) \
|
Make-lang.in (cp/decl.o, cp/tree.o): Depend on tree-inline.h.
* Make-lang.in (cp/decl.o, cp/tree.o): Depend on tree-inline.h.
(cp/pt.o, cp/semantics.o, cp/optimize.o): Likewise.
* cp-tree.h (lang_decl): Moved inlined_fns to tree_decl.
(TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved to ../tree.h.
(flag_inline_trees): Moved declaration to ../tree-inline.h.
(walk_tree): Moved declaration to ../tree-inline.h.
(walk_tree_without_duplicates, copy_tree_r): Likewise.
(remap_save_expr): Likewise.
* decl.c: Include tree-inline.h.
(lang_mark_tree): Don't mark inlined_fns.
* decl2.c (flag_inline_trees): Moved defn to ../tree-inline.c.
* optimize.c: Include tree-inline.h.
(optimize_inline_calls): Move declaration to ../tree.h, as
non-static.
(remap_decl): Use language-independent constructs and hooks.
(remap_block, copy_body_r, declare_return_variable): Likewise.
(inlinable_function_p): Likewise. Don't test for
DECL_LANG_SPECIFIC before DECL_INLINED_FNS as inlined_fns is
no longer language-specific.
(optimize_inline_calls): Likewise. Make it non-static. Moved
call of dump_function to...
(optimize_function): Here...
(clone_body): New function, extracted from...
(maybe_clone_body): ... here. Build decl_map locally and pass
it on to clone_body.
* pt.c, semantics.c: Include tree-inline.h.
* tree.c: Likewise.
(cp_walk_subtrees): New language-specific hook for tree inlining.
(cp_cannot_inline_tree_fn, cp_add_pending_fn_decls,
cp_is_overload_p, cp_auto_var_in_fn_p,
cp_copy_res_decl_for_inlining): Likewise.
(walk_tree): Move language-specific constructs into...
(cp_walk_subtrees): this new function.
(copy_tree_r): Use language-independent constructs and hooks.
(init_tree): Initialize tree inlining hooks.
(remap_save_expr): Adjust prototype so that the declaration
does not require the definition of splay_tree.
From-SVN: r46020
2001-10-05 04:48:47 +02:00
|
|
|
|
tree-inline.h
|
2002-12-16 19:23:00 +01:00
|
|
|
|
cp/dump.o: cp/dump.c $(CXX_TREE_H) $(TM_H) tree-dump.h
|
|
|
|
|
cp/optimize.o: cp/optimize.c $(CXX_TREE_H) $(TM_H) rtl.h integrate.h insn-config.h \
|
Make-lang.in (cp/decl.o, cp/tree.o): Depend on tree-inline.h.
* Make-lang.in (cp/decl.o, cp/tree.o): Depend on tree-inline.h.
(cp/pt.o, cp/semantics.o, cp/optimize.o): Likewise.
* cp-tree.h (lang_decl): Moved inlined_fns to tree_decl.
(TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved to ../tree.h.
(flag_inline_trees): Moved declaration to ../tree-inline.h.
(walk_tree): Moved declaration to ../tree-inline.h.
(walk_tree_without_duplicates, copy_tree_r): Likewise.
(remap_save_expr): Likewise.
* decl.c: Include tree-inline.h.
(lang_mark_tree): Don't mark inlined_fns.
* decl2.c (flag_inline_trees): Moved defn to ../tree-inline.c.
* optimize.c: Include tree-inline.h.
(optimize_inline_calls): Move declaration to ../tree.h, as
non-static.
(remap_decl): Use language-independent constructs and hooks.
(remap_block, copy_body_r, declare_return_variable): Likewise.
(inlinable_function_p): Likewise. Don't test for
DECL_LANG_SPECIFIC before DECL_INLINED_FNS as inlined_fns is
no longer language-specific.
(optimize_inline_calls): Likewise. Make it non-static. Moved
call of dump_function to...
(optimize_function): Here...
(clone_body): New function, extracted from...
(maybe_clone_body): ... here. Build decl_map locally and pass
it on to clone_body.
* pt.c, semantics.c: Include tree-inline.h.
* tree.c: Likewise.
(cp_walk_subtrees): New language-specific hook for tree inlining.
(cp_cannot_inline_tree_fn, cp_add_pending_fn_decls,
cp_is_overload_p, cp_auto_var_in_fn_p,
cp_copy_res_decl_for_inlining): Likewise.
(walk_tree): Move language-specific constructs into...
(cp_walk_subtrees): this new function.
(copy_tree_r): Use language-independent constructs and hooks.
(init_tree): Initialize tree inlining hooks.
(remap_save_expr): Adjust prototype so that the declaration
does not require the definition of splay_tree.
From-SVN: r46020
2001-10-05 04:48:47 +02:00
|
|
|
|
input.h $(PARAMS_H) debug.h tree-inline.h
|
2003-04-03 05:45:49 +02:00
|
|
|
|
cp/mangle.o: cp/mangle.c $(CXX_TREE_H) $(TM_H) toplev.h real.h gt-cp-mangle.h
|
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
2000-10-27 22:22:28 +02:00
|
|
|
|
|
2002-12-28 09:03:42 +01:00
|
|
|
|
cp/parser.o: cp/parser.c $(CXX_TREE_H) $(TM_H) diagnostic.h gt-cp-parser.h output.h
|
2003-03-30 15:18:18 +02:00
|
|
|
|
|
2003-03-30 22:16:06 +02:00
|
|
|
|
cp/name-lookup.o: cp/name-lookup.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
2003-04-01 22:37:00 +02:00
|
|
|
|
$(TM_H) $(CXX_TREE_H) timevar.h gt-cp-name-lookup.h
|