1994-04-22 09:25:56 +02:00
|
|
|
|
# Top level makefile fragment for GNU C++.
|
2000-02-27 01:52:00 +01:00
|
|
|
|
# Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000
|
|
|
|
|
# Free Software Foundation, Inc.
|
1994-04-22 09:25:56 +02:00
|
|
|
|
|
|
|
|
|
#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
|
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.
|
1994-11-18 02:10:14 +01:00
|
|
|
|
CXX_INSTALL_NAME = `t='$(program_transform_name)'; echo c++ | sed $$t`
|
|
|
|
|
GXX_INSTALL_NAME = `t='$(program_transform_name)'; echo g++ | sed $$t`
|
1998-02-14 16:56:38 +01:00
|
|
|
|
DEMANGLER_INSTALL_NAME = `t='$(program_transform_name)'; echo c++filt | sed $$t`
|
1994-06-03 23:42:31 +02:00
|
|
|
|
|
|
|
|
|
# Actual names to use when installing a cross-compiler.
|
1994-11-18 02:10:14 +01:00
|
|
|
|
CXX_CROSS_NAME = `t='$(program_transform_cross_name)'; echo c++ | sed $$t`
|
|
|
|
|
GXX_CROSS_NAME = `t='$(program_transform_cross_name)'; echo g++ | sed $$t`
|
1998-02-14 16:56:38 +01:00
|
|
|
|
DEMANGLER_CROSS_NAME = `t='$(program_transform_cross_name)'; echo c++filt | sed $$t`
|
1994-06-03 23:42:31 +02:00
|
|
|
|
|
1995-05-10 04:58:06 +02:00
|
|
|
|
# The name to use for the demangler program.
|
1998-02-13 01:30:37 +01:00
|
|
|
|
DEMANGLER_PROG = c++filt$(exeext)
|
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++
|
|
|
|
|
|
configure (gcc_version): When setting, narrow search to lines containing `version_string'.
* configure (gcc_version): When setting, narrow search to
lines containing `version_string'.
gcc:
* version.c: Include gansidecl.h and version.h.
* version.h: Wrap entire file in macro __GCC_VERSION_H__.
* configure.in (gcc_version): When setting, narrow search to
lines containing `version_string'.
* Makefile.in (mainversion): Likewise.
(GCC_H): New variable.
(gcc.h): Delete target.
(gcc.o, gccspec.o, cppspec.o): Depend on $(GCC_H), not gcc.h.
(version.o): Depend on version.h.
(dbxout.o): Don't depend on gcc.h.
gcc/cp:
* Make-lang.in (g++spec.o): Depend on $(GCC_H), not gcc.h.
gcc/f:
* Make-lang.in (g77spec.o): Depend on $(GCC_H), not gcc.h.
gcc/java:
* Make-lang.in (jvspec.o): Depend on $(GCC_H), not gcc.h.
libf2c:
* configure.in (gcc_version): When setting, narrow search to
lines containing `version_string'.
From-SVN: r32009
2000-02-16 17:22:47 +01:00
|
|
|
|
g++spec.o: $(srcdir)/cp/g++spec.c system.h $(GCC_H)
|
1996-12-27 20:34:34 +01:00
|
|
|
|
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/cp/g++spec.c
|
1996-12-18 03:46:25 +01:00
|
|
|
|
|
1999-03-18 23:00:18 +01:00
|
|
|
|
$(INTL_TARGETS): $(srcdir)/cp/parse.c
|
|
|
|
|
|
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 demangler.
|
1998-12-08 10:50:33 +01:00
|
|
|
|
cxxmain.o: $(srcdir)/../libiberty/cplus-dem.c $(DEMANGLE_H)
|
1995-05-10 04:58:06 +02:00
|
|
|
|
rm -f cxxmain.c
|
1998-08-17 13:42:22 +02:00
|
|
|
|
$(LN_S) $(srcdir)/../libiberty/cplus-dem.c cxxmain.c
|
1995-05-10 04:58:06 +02:00
|
|
|
|
$(CC) -c -DMAIN $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
1995-05-24 20:40:42 +02:00
|
|
|
|
-DVERSION=\"$(version)\" cxxmain.c
|
1995-05-10 04:58:06 +02:00
|
|
|
|
|
1998-11-24 22:28:47 +01:00
|
|
|
|
# Apparently OpenVM needs the -o to be at the beginning of the link line.
|
1999-02-03 22:56:50 +01:00
|
|
|
|
$(DEMANGLER_PROG): cxxmain.o underscore.o $(LIBDEPS)
|
1998-11-24 22:28:47 +01:00
|
|
|
|
$(CC) -o $@ $(ALL_CFLAGS) $(LDFLAGS) \
|
1999-02-03 22:56:50 +01:00
|
|
|
|
cxxmain.o underscore.o $(LIBS)
|
1995-05-10 04:58:06 +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:
|
|
|
|
|
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
|
|
|
|
|
|
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)
|
1997-02-04 03:31:49 +01:00
|
|
|
|
c++.all.cross: g++-cross$(exeext) $(DEMANGLER_PROG)
|
|
|
|
|
c++.start.encap: g++$(exeext)
|
1995-05-10 04:58:06 +02:00
|
|
|
|
c++.rest.encap: $(DEMANGLER_PROG)
|
1994-04-22 09:25:56 +02:00
|
|
|
|
|
|
|
|
|
c++.info:
|
|
|
|
|
c++.dvi:
|
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++.
|
|
|
|
|
c++.install-common:
|
1995-02-22 00:38:37 +01:00
|
|
|
|
-if [ -f cc1plus$(exeext) ] ; then \
|
|
|
|
|
if [ -f g++-cross$(exeext) ] ; then \
|
|
|
|
|
rm -f $(bindir)/$(GXX_CROSS_NAME)$(exeext); \
|
|
|
|
|
$(INSTALL_PROGRAM) g++-cross$(exeext) $(bindir)/$(GXX_CROSS_NAME)$(exeext); \
|
|
|
|
|
chmod a+x $(bindir)/$(GXX_CROSS_NAME)$(exeext); \
|
|
|
|
|
rm -f $(bindir)/$(CXX_CROSS_NAME)$(exeext); \
|
1997-09-11 22:39:08 +02:00
|
|
|
|
$(LN) $(bindir)/$(GXX_CROSS_NAME)$(exeext) $(bindir)/$(CXX_CROSS_NAME)$(exeext); \
|
2000-06-13 23:49:33 +02:00
|
|
|
|
if [ -d $(gcc_tooldir)/bin/. ] ; then \
|
|
|
|
|
rm -f $(gcc_tooldir)/bin/g++$(exeext); \
|
|
|
|
|
$(INSTALL_PROGRAM) g++-cross$(exeext) $(gcc_tooldir)/bin/g++$(exeext); \
|
|
|
|
|
rm -f $(gcc_tooldir)/bin/c++$(exeext); \
|
|
|
|
|
$(LN) $(gcc_tooldir)/bin/g++$(exeext) $(gcc_tooldir)/bin/c++$(exeext); \
|
|
|
|
|
else true; fi; \
|
1994-04-22 09:25:56 +02:00
|
|
|
|
else \
|
1995-02-22 00:38:37 +01:00
|
|
|
|
rm -f $(bindir)/$(GXX_INSTALL_NAME)$(exeext); \
|
|
|
|
|
$(INSTALL_PROGRAM) g++$(exeext) $(bindir)/$(GXX_INSTALL_NAME)$(exeext); \
|
|
|
|
|
chmod a+x $(bindir)/$(GXX_INSTALL_NAME)$(exeext); \
|
|
|
|
|
rm -f $(bindir)/$(CXX_INSTALL_NAME)$(exeext); \
|
1997-09-11 22:39:08 +02:00
|
|
|
|
$(LN) $(bindir)/$(GXX_INSTALL_NAME)$(exeext) $(bindir)/$(CXX_INSTALL_NAME)$(exeext); \
|
2000-06-13 23:49:33 +02:00
|
|
|
|
rm -f $(bindir)/$(target_alias)-g++$(exeext); \
|
|
|
|
|
$(LN) $(bindir)/$(GXX_INSTALL_NAME)$(exeext) $(bindir)/$(target_alias)-g++$(exeext); \
|
|
|
|
|
rm -f $(bindir)/$(target_alias)-c++$(exeext); \
|
|
|
|
|
$(LN) $(bindir)/$(CXX_INSTALL_NAME)$(exeext) $(bindir)/$(target_alias)-c++$(exeext); \
|
1994-04-22 09:25:56 +02:00
|
|
|
|
fi ; \
|
1998-02-14 16:56:38 +01:00
|
|
|
|
if [ x$(DEMANGLER_PROG) != x ] && [ -x "$(DEMANGLER_PROG)" ]; then \
|
|
|
|
|
if [ -f g++-cross$(exeext) ] ; then \
|
|
|
|
|
rm -f $(bindir)/$(DEMANGLER_CROSS_NAME)$(exeext); \
|
|
|
|
|
$(INSTALL_PROGRAM) $(DEMANGLER_PROG) $(bindir)/$(DEMANGLER_CROSS_NAME)$(exeext); \
|
|
|
|
|
chmod a+x $(bindir)/$(DEMANGLER_CROSS_NAME)$(exeext); \
|
|
|
|
|
else \
|
|
|
|
|
rm -f $(bindir)/$(DEMANGLER_INSTALL_NAME)$(exeext); \
|
|
|
|
|
$(INSTALL_PROGRAM) $(DEMANGLER_PROG) $(bindir)/$(DEMANGLER_INSTALL_NAME)$(exeext); \
|
|
|
|
|
chmod a+x $(bindir)/$(DEMANGLER_INSTALL_NAME)$(exeext); \
|
|
|
|
|
fi ; \
|
|
|
|
|
fi ; \
|
1994-04-22 09:25:56 +02:00
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
c++.install-info:
|
|
|
|
|
|
|
|
|
|
c++.install-man: $(srcdir)/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 \
|
1998-11-19 07:49:46 +01:00
|
|
|
|
rm -f $(man1dir)/$(GXX_CROSS_NAME)$(manext); \
|
|
|
|
|
$(INSTALL_DATA) $(srcdir)/cp/g++.1 $(man1dir)/$(GXX_CROSS_NAME)$(manext); \
|
|
|
|
|
chmod a-x $(man1dir)/$(GXX_CROSS_NAME)$(manext); \
|
1994-11-18 02:32:08 +01:00
|
|
|
|
else \
|
1998-11-19 07:49:46 +01:00
|
|
|
|
rm -f $(man1dir)/$(GXX_INSTALL_NAME)$(manext); \
|
|
|
|
|
$(INSTALL_DATA) $(srcdir)/cp/g++.1 $(man1dir)/$(GXX_INSTALL_NAME)$(manext); \
|
|
|
|
|
chmod a-x $(man1dir)/$(GXX_INSTALL_NAME)$(manext); \
|
1994-11-18 02:32:08 +01:00
|
|
|
|
fi; \
|
1994-04-22 09:25:56 +02:00
|
|
|
|
else true; fi
|
|
|
|
|
|
|
|
|
|
c++.uninstall:
|
1995-02-22 00:38:37 +01:00
|
|
|
|
-rm -rf $(bindir)/$(CXX_INSTALL_NAME)$(exeext)
|
|
|
|
|
-rm -rf $(bindir)/$(CXX_CROSS_NAME)$(exeext)
|
|
|
|
|
-rm -rf $(bindir)/$(GXX_INSTALL_NAME)$(exeext)
|
|
|
|
|
-rm -rf $(bindir)/$(GXX_CROSS_NAME)$(exeext)
|
1998-02-14 16:56:38 +01:00
|
|
|
|
-rm -rf $(bindir)/$(DEMANGLER_INSTALL_NAME)$(exeext)
|
|
|
|
|
-rm -rf $(bindir)/$(DEMANGLER_CROSS_NAME)$(exeext)
|
1998-11-19 07:49:46 +01:00
|
|
|
|
-rm -rf $(man1dir)/$(GXX_INSTALL_NAME)$(manext)
|
|
|
|
|
-rm -rf $(man1dir)/$(GXX_CROSS_NAME)$(manext)
|
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:
|
1995-05-29 18:44:40 +02:00
|
|
|
|
-rm -f cp/*$(objext) $(DEMANGLER_PROG)
|
1994-04-22 09:25:56 +02:00
|
|
|
|
c++.clean:
|
|
|
|
|
c++.distclean:
|
|
|
|
|
-rm -f cp/config.status cp/Makefile
|
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
|
|
|
|
-rm -f $(srcdir)/cp/parse.output
|
1994-04-22 09:25:56 +02:00
|
|
|
|
c++.extraclean:
|
1995-04-26 00:07:11 +02:00
|
|
|
|
c++.maintainer-clean:
|
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
|
|
|
|
-rm -f $(srcdir)/cp/parse.c $(srcdir)/cp/parse.h
|
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.
|
|
|
|
|
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)
|