# Makefile for GNU C compiler.
# Copyright (C) 1987, 1988, 1990, 1991, 1992, 1993, 1994, 1995
-# 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+# 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
#This file is part of GNU CC.
MAKEINFO = @MAKEINFO@
MAKEINFOFLAGS =
TEXI2DVI = texi2dvi
-TEXI2POD = $(srcdir)/../contrib/texi2pod.pl
+TEXI2POD = perl $(srcdir)/../contrib/texi2pod.pl
POD2MAN = pod2man --center="GNU" --release="gcc-$(version)" --section=1
# For GNUmake: let us decide what gets passed to recursive makes.
MAKEOVERRIDES =
dollar = @dollar@
# Used in install-cross.
gcc_tooldir = @gcc_tooldir@
+# Used to install the shared libgcc.
+slibdir = @slibdir@
# Since tooldir does not exist at build-time, use -B$(build_tooldir)/bin/
build_tooldir = $(exec_prefix)/$(target_alias)
-# Directory in which the compiler finds g++ includes.
-gcc_gxx_include_dir= @gcc_gxx_include_dir@
+# Directory in which the compiler finds target-independent g++ includes.
+gcc_gxx_include_dir = @gcc_gxx_include_dir@
+# Directory in which the compiler finds target-dependent g++ includes.
+gcc_gxx_target_include_dir = $(build_tooldir)/include/@libstdcxx_incdir@
# Directory to search for site-specific includes.
includedir = $(local_prefix)/include
# assertdir is overridden in cross-make.
# Control whether Info documentation is built and installed.
BUILD_INFO = @BUILD_INFO@
-INSTALL_INFO = @INSTALL_INFO@
+
+# Control whether manpages generated by texi2pod.pl can be rebuilt.
+GENERATED_MANPAGES = @GENERATED_MANPAGES@
# Additional directories of header files to run fixincludes on.
# These should be directories searched automatically by default
# out of the way of the other rules for compiling the same source files.
HOST_PREFIX_1=loser-
HOST_CC=$(CC)
+# If you change any of the following variables, check whether a
+# similar change is needed in build-make.
HOST_CFLAGS=$(ALL_CFLAGS) -DGENERATOR_FILE
HOST_CLIB=$(CLIB)
HOST_LDFLAGS=$(LDFLAGS)
$(USE_HOST_VFPRINTF) $(USE_HOST_DOPRINT) $(HOST_CLIB)
HOST_RTL = $(HOST_PREFIX)rtl.o $(HOST_PREFIX)bitmap.o \
- $(HOST_PREFIX)ggc-none.o gensupport.o hashtab.o
+ $(HOST_PREFIX)ggc-none.o gensupport.o hashtab.o safe-ctype.o
HOST_PRINT = $(HOST_PREFIX)print-rtl.o
HOST_ERRORS = $(HOST_PREFIX)errors.o
mbchar.o splay-tree.o graph.o sbitmap.o resource.o hash.o predict.o \
lists.o ggc-common.o $(GGC) stringpool.o simplify-rtx.o ssa.o bb-reorder.o \
sibcall.o conflict.o timevar.o ifcvt.o dominance.o dependence.o dce.o \
- sched-vis.o sched-deps.o sched-rgn.o hashtab.o
+ sched-vis.o sched-deps.o sched-rgn.o sched-ebb.o hashtab.o
BACKEND = toplev.o libbackend.a
# GEN files are listed separately, so they can be built before doing parallel
# makes for cc1 or cc1plus. Otherwise sequent parallel make attempts to load
# them before rtl.o is compiled.
-GEN= genemit genoutput genrecog genextract genflags gencodes genconfig \
- genpeep gengenrtl gencheck
+GEN= genemit$(build_exeext) genoutput$(build_exeext) genrecog$(build_exeext) \
+ genextract$(build_exeext) genflags$(build_exeext) gencodes$(build_exeext) \
+ genconfig$(build_exeext) genpeep$(build_exeext) gengenrtl$(build_exeext) \
+ gencheck$(build_exeext)
# Files to be copied away after each stage in building.
STAGESTUFF = *$(objext) insn-flags.h insn-config.h insn-codes.h \
MULTILIBS=`$(GCC_FOR_TARGET) --print-multi-lib` \
EXTRA_MULTILIB_PARTS='$(EXTRA_MULTILIB_PARTS)' \
SHLIB_LINK='$(SHLIB_LINK)' \
+ SHLIB_INSTALL='$(SHLIB_INSTALL)' \
SHLIB_EXT='$(SHLIB_EXT)' \
SHLIB_MULTILIB='$(SHLIB_MULTILIB)' \
SHLIB_MKMAP='$(SHLIB_MKMAP)' \
-DDEFAULT_TARGET_VERSION=\"$(version)\" \
-DDEFAULT_TARGET_MACHINE=\"$(target_alias)\" \
-DSTANDARD_BINDIR_PREFIX=\"$(bindir)/\" \
- -DTOOLDIR_BASE_PREFIX=\"$(unlibsubdir)/../\"
+ -DTOOLDIR_BASE_PREFIX=\"$(unlibsubdir)/../\" \
+ `test "$SHLIB_LINK" -a "@enable_shared@" = "yes" && echo "-DENABLE_SHARED_LIBGCC"` \
+ `test "$SHLIB_MULTILIB" && echo "-DNO_SHARED_LIBGCC_MULTILIB"`
+
gcc.o: gcc.c $(CONFIG_H) system.h intl.h multilib.h \
Makefile $(lang_specs_files) prefix.h $(GCC_H)
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
cppspec.o: cppspec.c $(CONFIG_H) system.h $(GCC_H)
tree-check.h: s-check ; @true
-s-check : gencheck $(srcdir)/move-if-change
- ./gencheck > tmp-check.h
+s-check : gencheck$(build_exeext) $(srcdir)/move-if-change
+ ./gencheck$(build_exeext) > tmp-check.h
$(SHELL) $(srcdir)/move-if-change tmp-check.h tree-check.h
touch s-check
-gencheck : gencheck.o $(HOST_LIBDEPS)
+gencheck$(build_exeext) : gencheck.o $(HOST_LIBDEPS)
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
gencheck.o $(HOST_LIBS)
$(EXPR_H) insn-flags.h $(BASIC_BLOCK_H) toplev.h
haifa-sched.o : haifa-sched.c $(CONFIG_H) system.h $(RTL_H) sched-int.h \
$(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h flags.h insn-config.h function.h \
+ $(INSN_ATTR_H) insn-flags.h toplev.h $(RECOG_H) except.h
+sched-deps.o : sched-deps.c $(CONFIG_H) system.h $(RTL_H) sched-int.h \
+ $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h flags.h insn-config.h function.h \
$(INSN_ATTR_H) toplev.h $(RECOG_H) except.h
-sched-deps.o : haifa-sched.c $(CONFIG_H) system.h $(RTL_H) sched-int.h \
+sched-rgn.o : sched-rgn.c $(CONFIG_H) system.h $(RTL_H) sched-int.h \
$(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h flags.h insn-config.h function.h \
$(INSN_ATTR_H) toplev.h $(RECOG_H) except.h
-sched-rgn.o : haifa-sched.c $(CONFIG_H) system.h $(RTL_H) sched-int.h \
+sched-ebb.o : sched-ebb.c $(CONFIG_H) system.h $(RTL_H) sched-int.h \
$(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h flags.h insn-config.h function.h \
$(INSN_ATTR_H) toplev.h $(RECOG_H) except.h
sched-vis.o : sched-vis.c $(CONFIG_H) system.h $(RTL_H) sched-int.h \
- $(INSN_ATTR_H) $(REGS_H)
+ hard-reg-set.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(REGS_H)
final.o : final.c $(CONFIG_H) system.h $(RTL_H) $(TREE_H) flags.h intl.h \
$(REGS_H) $(RECOG_H) conditions.h insn-config.h $(INSN_ATTR_H) function.h \
real.h output.h hard-reg-set.h insn-flags.h insn-codes.h gstab.h except.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
+ insn-flags.h output.h $(INSN_ATTR_H) insn-codes.h system.h toplev.h \
+ function.h sched-int.h
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
$(out_file) $(OUTPUT_OPTION)
# trailing `;'), we call true for each.
insn-config.h: s-config ; @true
-s-config : $(md_file) genconfig $(srcdir)/move-if-change
- ./genconfig $(md_file) > tmp-config.h
+s-config : $(md_file) genconfig$(build_exeext) $(srcdir)/move-if-change
+ ./genconfig$(build_exeext) $(md_file) > tmp-config.h
$(SHELL) $(srcdir)/move-if-change tmp-config.h insn-config.h
touch s-config
insn-flags.h: s-flags ; @true
-s-flags : $(md_file) genflags $(srcdir)/move-if-change
- ./genflags $(md_file) > tmp-flags.h
+s-flags : $(md_file) genflags$(build_exeext) $(srcdir)/move-if-change
+ ./genflags$(build_exeext) $(md_file) > tmp-flags.h
$(SHELL) $(srcdir)/move-if-change tmp-flags.h insn-flags.h
touch s-flags
insn-codes.h: s-codes ; @true
-s-codes : $(md_file) gencodes $(srcdir)/move-if-change
- ./gencodes $(md_file) > tmp-codes.h
+s-codes : $(md_file) gencodes$(build_exeext) $(srcdir)/move-if-change
+ ./gencodes$(build_exeext) $(md_file) > tmp-codes.h
$(SHELL) $(srcdir)/move-if-change tmp-codes.h insn-codes.h
touch s-codes
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-emit.c
insn-emit.c: s-emit ; @true
-s-emit : $(md_file) genemit $(srcdir)/move-if-change
- ./genemit $(md_file) > tmp-emit.c
+s-emit : $(md_file) genemit$(build_exeext) $(srcdir)/move-if-change
+ ./genemit$(build_exeext) $(md_file) > tmp-emit.c
$(SHELL) $(srcdir)/move-if-change tmp-emit.c insn-emit.c
touch s-emit
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-recog.c
insn-recog.c: s-recog ; @true
-s-recog : $(md_file) genrecog $(srcdir)/move-if-change
- ./genrecog $(md_file) > tmp-recog.c
+s-recog : $(md_file) genrecog$(build_exeext) $(srcdir)/move-if-change
+ ./genrecog$(build_exeext) $(md_file) > tmp-recog.c
$(SHELL) $(srcdir)/move-if-change tmp-recog.c insn-recog.c
touch s-recog
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-opinit.c
insn-opinit.c: s-opinit ; @true
-s-opinit : $(md_file) genopinit $(srcdir)/move-if-change
- ./genopinit $(md_file) > tmp-opinit.c
+s-opinit : $(md_file) genopinit$(build_exeext) $(srcdir)/move-if-change
+ ./genopinit$(build_exeext) $(md_file) > tmp-opinit.c
$(SHELL) $(srcdir)/move-if-change tmp-opinit.c insn-opinit.c
touch s-opinit
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-extract.c
insn-extract.c: s-extract ; @true
-s-extract : $(md_file) genextract $(srcdir)/move-if-change
- ./genextract $(md_file) > tmp-extract.c
+s-extract : $(md_file) genextract$(build_exeext) $(srcdir)/move-if-change
+ ./genextract$(build_exeext) $(md_file) > tmp-extract.c
$(SHELL) $(srcdir)/move-if-change tmp-extract.c insn-extract.c
touch s-extract
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-peep.c
insn-peep.c: s-peep ; @true
-s-peep : $(md_file) genpeep $(srcdir)/move-if-change
- ./genpeep $(md_file) > tmp-peep.c
+s-peep : $(md_file) genpeep$(build_exeext) $(srcdir)/move-if-change
+ ./genpeep$(build_exeext) $(md_file) > tmp-peep.c
$(SHELL) $(srcdir)/move-if-change tmp-peep.c insn-peep.c
touch s-peep
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-attrtab.c
insn-attr.h: s-attr ; @true
-s-attr : $(md_file) genattr $(srcdir)/move-if-change
- ./genattr $(md_file) > tmp-attr.h
+s-attr : $(md_file) genattr$(build_exeext) $(srcdir)/move-if-change
+ ./genattr$(build_exeext) $(md_file) > tmp-attr.h
$(SHELL) $(srcdir)/move-if-change tmp-attr.h insn-attr.h
touch s-attr
insn-attrtab.c: s-attrtab ; @true
-s-attrtab : $(md_file) genattrtab $(srcdir)/move-if-change
- ./genattrtab $(md_file) > tmp-attrtab.c
+s-attrtab : $(md_file) genattrtab$(build_exeext) $(srcdir)/move-if-change
+ ./genattrtab$(build_exeext) $(md_file) > tmp-attrtab.c
$(SHELL) $(srcdir)/move-if-change tmp-attrtab.c insn-attrtab.c
touch s-attrtab
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-output.c
insn-output.c: s-output ; @true
-s-output : $(md_file) genoutput $(srcdir)/move-if-change
- ./genoutput $(md_file) > tmp-output.c
+s-output : $(md_file) genoutput$(build_exeext) $(srcdir)/move-if-change
+ ./genoutput$(build_exeext) $(md_file) > tmp-output.c
$(SHELL) $(srcdir)/move-if-change tmp-output.c insn-output.c
touch s-output
genrtl.c genrtl.h : s-genrtl
@true # force gnu make to recheck modification times.
-s-genrtl: gengenrtl $(srcdir)/move-if-change $(RTL_BASE_H)
- ./gengenrtl -h >tmp-genrtl.h
+s-genrtl: gengenrtl$(build_exeext) $(srcdir)/move-if-change $(RTL_BASE_H)
+ ./gengenrtl$(build_exeext) -h >tmp-genrtl.h
$(SHELL) $(srcdir)/move-if-change tmp-genrtl.h genrtl.h
- ./gengenrtl >tmp-genrtl.c
+ ./gengenrtl$(build_exeext) >tmp-genrtl.c
$(SHELL) $(srcdir)/move-if-change tmp-genrtl.c genrtl.c
touch s-genrtl
#\f
$(LN_S) $(srcdir)/../libiberty/hashtab.c hashtab.c
$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) hashtab.c
-genconfig : genconfig.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
+safe-ctype.o: $(srcdir)/../libiberty/safe-ctype.c $(GCONFIG_H)
+ rm -f safe-ctype.c
+ $(LN_S) $(srcdir)/../libiberty/safe-ctype.c safe-ctype.c
+ $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) safe-ctype.c
+
+genconfig$(build_exeext) : genconfig.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
genconfig.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBS)
system.h errors.h gensupport.h
$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genconfig.c
-genflags : genflags.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
+genflags$(build_exeext) : genflags.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
genflags.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBS)
system.h errors.h gensupport.h
$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genflags.c
-gencodes : gencodes.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
+gencodes$(build_exeext) : gencodes.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
gencodes.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBS)
system.h errors.h gensupport.h
$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/gencodes.c
-genemit : genemit.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
+genemit$(build_exeext) : genemit.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
genemit.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBS)
genemit.o : genemit.c $(RTL_H) $(build_xm_file) system.h errors.h gensupport.h
$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genemit.c
-genopinit : genopinit.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
+genopinit$(build_exeext) : genopinit.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
genopinit.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBS)
system.h errors.h gensupport.h
$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genopinit.c
-genrecog : genrecog.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
+genrecog$(build_exeext) : genrecog.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
genrecog.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBS)
genrecog.o : genrecog.c $(RTL_H) $(build_xm_file) \
system.h errors.h gensupport.h
$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genrecog.c
-genextract : genextract.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
+
+genextract$(build_exeext) : genextract.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
genextract.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBS)
system.h insn-config.h errors.h gensupport.h
$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genextract.c
-genpeep : genpeep.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
+genpeep$(build_exeext) : genpeep.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
genpeep.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBS)
genpeep.o : genpeep.c $(RTL_H) $(build_xm_file) system.h errors.h gensupport.h
$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genpeep.c
-genattr : genattr.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
+genattr$(build_exeext) : genattr.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
genattr.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBS)
genattr.o : genattr.c $(RTL_H) $(build_xm_file) system.h errors.h gensupport.h
$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genattr.c
-genattrtab : genattrtab.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
+genattrtab$(build_exeext) : genattrtab.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
genattrtab.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBS)
system.h errors.h $(GGC_H) gensupport.h
$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genattrtab.c
-genoutput : genoutput.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
+genoutput$(build_exeext) : genoutput.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
genoutput.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBS)
system.h errors.h gensupport.h
$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genoutput.c
-gengenrtl : gengenrtl.o $(HOST_LIBDEPS)
+gengenrtl$(build_exeext) : gengenrtl.o $(HOST_LIBDEPS)
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
gengenrtl.o $(HOST_LIBS)
PREPROCESSOR_DEFINES = \
-DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
-DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
+ -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_target_include_dir)\" \
-DLOCAL_INCLUDE_DIR=\"$(includedir)\" \
-DCROSS_INCLUDE_DIR=\"$(gcc_tooldir)/sys-include\" \
-DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\"
$(FIXINCSRCDIR)/server.h $(FIXINCSRCDIR)/inclhack.def specs.ready
(MAKE="$(MAKE)"; srcdir=`cd $(srcdir)/fixinc && pwd` ; \
CC="$(CC)"; CFLAGS="$(CFLAGS)"; LDFLAGS="$(LDFLAGS)"; \
- export MAKE srcdir CC CFLAGS LDFLAGS; cd ./fixinc && \
+ WARN_CFLAGS="$(WARN_CFLAGS)"; \
+ export MAKE srcdir CC CFLAGS LDFLAGS WARN_CFLAGS; cd ./fixinc && \
$(SHELL) $${srcdir}/mkfixinc.sh $(build_canonical) $(target))
# Build fixed copies of system files.
fi
GEN_PROTOS_OBJS = gen-protos.o scan.o
-gen-protos: $(GEN_PROTOS_OBJS)
- ${HOST_CC} $(HOST_CFLAGS) $(HOST_LDFLAGS) -o gen-protos \
+gen-protos$(build_exeext): $(GEN_PROTOS_OBJS)
+ ${HOST_CC} $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
$(GEN_PROTOS_OBJS) ../libiberty/libiberty.a
gen-protos.o: gen-protos.c scan.h $(build_xm_file) system.h
scan.o: scan.c scan.h $(build_xm_file) system.h
$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/scan.c
-xsys-protos.h: $(GCC_PASSES) $(srcdir)/sys-protos.h deduced.h gen-protos Makefile
+xsys-protos.h: $(GCC_PASSES) $(srcdir)/sys-protos.h deduced.h gen-protos$(build_exeext) Makefile
sed -e s/TARGET_GETGROUPS_T/$(TARGET_GETGROUPS_T)/ \
deduced.h $(srcdir)/sys-protos.h > tmp-fixtmp.c
mv tmp-fixtmp.c fixtmp.c
# Remake the info files.
doc: $(BUILD_INFO) gccbug
-info: cpp.info gcc.info lang.info c-tree.info
+info: $(srcdir)/cpp.info $(srcdir)/gcc.info lang.info $(srcdir)/c-tree.info
-cpp.info: $(srcdir)/cpp.texi
- $(MAKEINFO) $(MAKEINFOFLAGS) -I$(srcdir) -o cpp.info $(srcdir)/cpp.texi
+$(srcdir)/cpp.info: $(srcdir)/cpp.texi
+ cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -o cpp.info cpp.texi
-gcc.info: $(srcdir)/gcc.texi $(srcdir)/extend.texi $(srcdir)/install.texi \
+$(srcdir)/gcc.info: $(srcdir)/gcc.texi $(srcdir)/extend.texi $(srcdir)/install.texi \
$(srcdir)/invoke.texi $(srcdir)/md.texi $(srcdir)/rtl.texi \
$(srcdir)/tm.texi $(srcdir)/gcov.texi
- $(MAKEINFO) $(MAKEINFOFLAGS) -I$(srcdir) -o gcc.info $(srcdir)/gcc.texi
+ cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -o gcc.info gcc.texi
-c-tree.info: $(srcdir)/c-tree.texi
- $(MAKEINFO) $(MAKEINFOFLAGS) -I$(srcdir) -o c-tree.info \
- $(srcdir)/c-tree.texi
+$(srcdir)/c-tree.info: $(srcdir)/c-tree.texi
+ cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -o c-tree.info \
+ c-tree.texi
dvi: gcc.dvi cpp.dvi lang.dvi
texindex cpp.??
TEXINPUTS=${texidir}:$(srcdir):$$TEXINPUTS tex cpp.texi
+generated-manpages: $(srcdir)/gcov.1 $(srcdir)/cpp.1
+
$(srcdir)/gcov.1: $(srcdir)/gcov.texi
$(TEXI2POD) < $(srcdir)/gcov.texi > gcov.pod
($(POD2MAN) gcov.pod > $(srcdir)/gcov.1.T$$$$ && \
(rm -f $(srcdir)/gcov.1.T$$$$ && exit 1)
rm -f gcov.pod
+$(srcdir)/cpp.1: $(srcdir)/cpp.texi
+ $(TEXI2POD) < $(srcdir)/cpp.texi > cpp.pod
+ ($(POD2MAN) cpp.pod > $(srcdir)/cpp.1.T$$$$ && \
+ mv -f $(srcdir)/cpp.1.T$$$$ $(srcdir)/cpp.1) || \
+ (rm -f $(srcdir)/cpp.1.T$$$$ && exit 1)
+ rm -f cpp.pod
+
#\f
# Deletion of files made during compilation.
# There are four levels of this:
-rm -f collect collect2 mips-tfile mips-tdump alloca.s
# Delete files generated for fixproto
-rm -rf fix-header xsys-protos.h deduced.h tmp-deduced.h \
- gen-protos fixproto.list fixtmp.* fixhdr.ready
+ gen-protos$(build_exeext) fixproto.list fixtmp.* fixhdr.ready
# Delete files generated for fixincl
-rm -rf fixincl fixinc.sh specs.ready
(cd fixinc && $(MAKE) clean)
-rm -f site.exp site.bak testsuite/site.exp testsuite/site.bak
-rm -f testsuite/{gcc,g++}.{log,sum}
-rm -f intl/libintl.h libintl.h
- -rm -f cxxmain.c splay-tree.c obstack.c
+ -rm -f cxxmain.c splay-tree.c obstack.c alloca.c hashtab.c safe-ctype.c
-rm -f mklibgcc libgcc.map gccbug .gdbinit configargs.h
- -rm -f c-tree.info c-tree.info-1 c-tree.info-2 c-tree.info-3
-rm -f gcov.pod
-rm -f fixinc/Makefile
-rmdir cp f java objc fixinc intl po 2>/dev/null
$(MAKE) INTL_DISTCLEAN= INTL_CLEAN= INTL_MOSTLYCLEAN= \
intl.maintainer-clean lang.maintainer-clean distclean
-rm -f c-parse.y c-parse.c c-parse.output TAGS
- -rm -f cpp.info* cpp.??s cpp.*aux
- -rm -f gcc.info* gcc.??s gcc.*aux
- -rm -f $(srcdir)/gcov.1
+ -rm -f cpp.??s cpp.*aux
+ -rm -f gcc.??s gcc.*aux
+ -rm -f $(srcdir)/cpp.info* $(srcdir)/gcc.info* $(srcdir)/c-tree.info*
+ -rm -f $(srcdir)/gcov.1 $(srcdir)/cpp.1
#\f
# Entry points `install' and `uninstall'.
# Also use `install-collect2' to install collect2 when the config files don't.
# Install the driver last so that the window when things are
# broken is small.
install-normal: install-common $(INSTALL_HEADERS) $(INSTALL_LIBGCC) \
- $(INSTALL_CPP) install-man $(INSTALL_INFO) intl.install \
+ $(INSTALL_CPP) install-man install-info intl.install \
lang.install-normal install-driver
# Do nothing while making gcc with a cross-compiler. The person who
-if [ -d $(gcc_tooldir) ] ; then true ; else mkdir $(gcc_tooldir) ; chmod a+rx $(gcc_tooldir) ; fi
-if [ -d $(assertdir) ] ; then true ; else mkdir $(assertdir) ; chmod a+rx $(assertdir) ; fi
-if [ -d $(infodir) ] ; then true ; else mkdir $(infodir) ; chmod a+rx $(infodir) ; fi
+ -if [ -d $(slibdir) ] ; then true ; else mkdir $(slibdir) ; chmod a+rx $(slibdir) ; fi
# We don't use mkdir -p to create the parents of man1dir,
# because some systems don't support it.
# Instead, we use this technique to create the immediate parent of man1dir.
# to do the install.
install-info: doc installdirs lang.install-info
-rm -f $(infodir)/cpp.info* $(infodir)/gcc.info*
- for f in cpp.info* gcc.info*; do \
- $(INSTALL_DATA) $$f $(infodir)/$$f; \
- done
+ if [ -f $(srcdir)/gcc.info ]; then \
+ for f in $(srcdir)/cpp.info* $(srcdir)/gcc.info*; do \
+ realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
+ $(INSTALL_DATA) $$f $(infodir)/$$realfile; \
+ done; \
+ else true; fi
-if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
if [ -f $(infodir)/dir ] ; then \
for f in cpp.info gcc.info; do \
- install-info --dir-file=$(infodir)/dir $(infodir)/$$f; \
+ if [ -f $(infodir)/$$f ]; then \
+ install-info --dir-file=$(infodir)/dir $(infodir)/$$f; \
+ else true; fi \
done; \
else true; fi; \
else true; fi;
-chmod a-x $(infodir)/cpp.info* $(infodir)/gcc.info*
# Install the man pages.
-install-man: installdirs $(srcdir)/gcc.1 $(srcdir)/cpp.1 $(srcdir)/gcov.1 lang.install-man
+install-man: installdirs $(srcdir)/gcc.1 $(GENERATED_MANPAGES) lang.install-man
-if [ -f gcc-cross$(exeext) ] ; then \
rm -f $(man1dir)/$(GCC_CROSS_NAME)$(manext); \
$(INSTALL_DATA) $(srcdir)/gcc.1 $(man1dir)/$(GCC_CROSS_NAME)$(manext); \
fi
-rm -f $(man1dir)/cpp$(manext)
-$(INSTALL_DATA) $(srcdir)/cpp.1 $(man1dir)/cpp$(manext)
+ -chmod a-x $(man1dir)/cpp$(manext)
-rm -f $(man1dir)/gcov$(manext)
-$(INSTALL_DATA) $(srcdir)/gcov.1 $(man1dir)/gcov$(manext)
- -chmod a-x $(man1dir)/cpp$(manext)
+ -chmod a-x $(man1dir)/gcov$(manext)
# Install the library.
-install-libgcc: libgcc.a installdirs
- -if [ -f libgcc.a ] ; then \
- rm -f $(libsubdir)/libgcc.a; \
- $(INSTALL_DATA) libgcc.a $(libsubdir)/libgcc.a; \
- if $(RANLIB_TEST_FOR_TARGET) ; then \
- (cd $(libsubdir); $(RANLIB_FOR_TARGET) libgcc.a); else true; fi; \
- chmod a-x $(libsubdir)/libgcc.a; \
- else true; fi
+install-libgcc: libgcc.mk libgcc.a installdirs
+ if $(RANLIB_TEST_FOR_TARGET); then \
+ r_f_t=$(RANLIB_FOR_TARGET); \
+ else \
+ r_f_t=: ; \
+ fi; \
+ $(MAKE) INSTALL_DATA="$(INSTALL_DATA)" \
+ RANLIB_FOR_TARGET="$$r_f_t" \
+ libsubdir="$(libsubdir)" \
+ slibdir="$(slibdir)" \
+ -f libgcc.mk install
# Install multiple versions of libgcc.a.
install-multilib: stmp-multilib installdirs
- for i in `$(GCC_FOR_TARGET) --print-multi-lib`; do \
- dir=`echo $$i | sed -e 's/;.*$$//'`; \
- if [ -d $(libsubdir)/$${dir} ]; then true; else mkdir $(libsubdir)/$${dir}; chmod a+rx $(libsubdir)/$${dir}; fi; \
- for f in libgcc.a $(EXTRA_MULTILIB_PARTS); do \
- rm -f $(libsubdir)/$${dir}/$${f}; \
- $(INSTALL_DATA) $${dir}/$${f} $(libsubdir)/$${dir}/$${f}; \
- done; \
- if $(RANLIB_TEST_FOR_TARGET); then \
- (cd $(libsubdir)/$${dir}; $(RANLIB_FOR_TARGET) libgcc.a); \
- else true; fi; \
- chmod a-x $(libsubdir)/$${dir}/libgcc.a; \
- done
+ if $(RANLIB_TEST_FOR_TARGET); then \
+ r_f_t=$(RANLIB_FOR_TARGET); \
+ else \
+ r_f_t=: ; \
+ fi; \
+ $(MAKE) INSTALL_DATA="$(INSTALL_DATA)" \
+ RANLIB_FOR_TARGET="$$r_f_t" \
+ libsubdir="$(libsubdir)" \
+ slibdir="$(slibdir)" \
+ -f libgcc.mk install
# Install all the header files built in the include subdirectory.
install-headers: install-include-dir $(INSTALL_HEADERS_DIR) $(INSTALL_ASSERT_H)
check-po:
if test -f cp/Makefile && test -f f/Makefile && \
test -f java/Makefile && test -f objc/Makefile; then \
- make -C po check-po; \
+ $(MAKE) -C po check-po; \
fi
# These exist for maintenance purposes.
# and delete the object files. Use this if you're just verifying a version
# that is pretty sure to work, and you are short of disk space.
risky-stage1: stage1
- -make clean
+ -$(MAKE) clean
risky-stage2: stage2
- -make clean
+ -$(MAKE) clean
risky-stage3: stage3
- -make clean
+ -$(MAKE) clean
risky-stage4: stage4
- -make clean
+ -$(MAKE) clean
#In GNU Make, ignore whether `stage*' exists.
.PHONY: stage1 stage2 stage3 stage4 clean maintainer-clean TAGS bootstrap