# Pointer to the GCC Project website
website=http://gcc.gnu.org
+# These directories contain files that are provided as part of a FSF tarball,
+# but not provided in CVS. Some GCC integrators like to use the CVS sources
+# but keep them read-only during a build, and so change these variables
+# from these defaults.
+parsedir = $(srcdir)
+docobjdir = $(srcdir)/doc
+
# Variables that exist for you to override.
# See below for how to change them for certain systems.
c-errors.o: c-errors.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
$(C_TREE_H) flags.h diagnostic.h $(TM_P_H)
-c-parse.o : $(srcdir)/c-parse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
+c-parse.o : $(parsedir)/c-parse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
$(GGC_H) intl.h $(C_TREE_H) input.h flags.h toplev.h output.h $(CPPLIB_H) \
varray.h gt-c-parse.h
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-c $(srcdir)/c-parse.c $(OUTPUT_OPTION)
-$(srcdir)/c-parse.c: $(srcdir)/c-parse.y
- cd $(srcdir) && \
+$(parsedir)/c-parse.c: $(parsedir)/c-parse.y
+ cd $(parsedir) && \
if $(BISON) $(BISONFLAGS) -o c-p$$$$.c c-parse.y; then \
test -f c-p$$$$.output && mv -f c-p$$$$.output c-parse.output ; \
mv -f c-p$$$$.c c-parse.c ; \
false ; \
fi
-$(srcdir)/c-parse.y: c-parse.in
+$(parsedir)/c-parse.y: c-parse.in
echo '/*WARNING: This file is automatically generated!*/' >tmp-c-parse.y
sed -e "/^ifobjc$$/,/^end ifobjc$$/d" \
-e "/^ifc$$/d" -e "/^end ifc$$/d" \
$(srcdir)/c-parse.in >>tmp-c-parse.y
- $(SHELL) $(srcdir)/move-if-change tmp-c-parse.y $(srcdir)/c-parse.y
+ $(SHELL) $(srcdir)/move-if-change tmp-c-parse.y $(parsedir)/c-parse.y
c-decl.o : c-decl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \
$(C_TREE_H) $(GGC_H) $(TARGET_H) flags.h function.h output.h $(EXPR_H) \
$(BUILD_CC) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) \
$(srcdir)/gengtype.c $(OUTPUT_OPTION)
-gengtype-lex.o : $(srcdir)/gengtype-lex.c gengtype.h $(srcdir)/gengtype-yacc.c \
+gengtype-lex.o : $(parsedir)/gengtype-lex.c gengtype.h $(parsedir)/gengtype-yacc.c \
$(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H)
$(BUILD_CC) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) \
- $(srcdir)/gengtype-lex.c $(OUTPUT_OPTION)
+ $(parsedir)/gengtype-lex.c $(OUTPUT_OPTION)
-gengtype-yacc.o : $(srcdir)/gengtype-yacc.c gengtype.h $(BCONFIG_H) $(SYSTEM_H) \
+gengtype-yacc.o : $(parsedir)/gengtype-yacc.c gengtype.h $(BCONFIG_H) $(SYSTEM_H) \
coretypes.h $(GTM_H)
$(BUILD_CC) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) \
- $(srcdir)/gengtype-yacc.c $(OUTPUT_OPTION)
+ $(parsedir)/gengtype-yacc.c $(OUTPUT_OPTION)
# The sed command works around a bug in flex-2.5.4.
-$(srcdir)/gengtype-lex.c : $(srcdir)/gengtype-lex.l
- cd $(srcdir) && \
- $(FLEX) $(FLEXFLAGS) -t -o$@ gengtype-lex.l | \
+$(parsedir)/gengtype-lex.c : $(srcdir)/gengtype-lex.l
+ cd $(parsedir) && \
+ $(FLEX) $(FLEXFLAGS) -t -o$@ $(srcdir)/gengtype-lex.l | \
sed 's/^\(char msg\[\];\)/yyconst \1/' > g-$$$$ ; \
if test $$? -eq 0 ; then \
mv -f g-$$$$ gengtype-lex.c ; \
false ; \
fi
-$(srcdir)/gengtype-yacc.c: $(srcdir)/gengtype-yacc.y
- (cd $(srcdir) && \
- $(BISON) $(BISONFLAGS) -d -o gengtype-yacc.c gengtype-yacc.y || \
+$(parsedir)/gengtype-yacc.c: $(srcdir)/gengtype-yacc.y
+ (cd $(parsedir) && \
+ $(BISON) $(BISONFLAGS) -d -o gengtype-yacc.c $(srcdir)/gengtype-yacc.y || \
( rm -f $@ && false ) )
genconditions$(build_exeext) : genconditions.o $(BUILD_EARLY_SUPPORT) \
# Make-lang.in should add dependencies of po-generated on any generated
# files which need to be scanned by gettext (usually Yacc-generated parsers).
-po-generated: c-parse.c
+po-generated: $(parsedir)/c-parse.c
#\f
# Remake cpp and protoize.
docdir = $(srcdir)/doc
doc: $(BUILD_INFO) $(GENERATED_MANPAGES) gccbug
-info: $(docdir)/cpp.info $(docdir)/gcc.info $(docdir)/gccint.info $(docdir)/gccinstall.info lang.info $(docdir)/cppinternals.info
+info: $(docobjdir)/cpp.info $(docobjdir)/gcc.info $(docobjdir)/gccint.info $(docobjdir)/gccinstall.info lang.info $(docobjdir)/cppinternals.info
TEXI_CPP_FILES = $(docdir)/cpp.texi $(docdir)/include/fdl.texi \
$(docdir)/cppenv.texi $(docdir)/cppopts.texi
TEXI_CPPINT_FILES = $(docdir)/cppinternals.texi
-$(docdir)/cpp.info: $(TEXI_CPP_FILES)
- cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -I doc -I doc/include -o doc/cpp.info doc/cpp.texi
+$(docobjdir)/cpp.info: $(TEXI_CPP_FILES)
+ $(MAKEINFO) $(MAKEINFOFLAGS) -I $(docdir) -I $(docdir)/include \
+ -o $@ $(docdir)/cpp.texi
-$(docdir)/gcc.info: $(TEXI_GCC_FILES)
- cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -I doc -I doc/include -o doc/gcc.info doc/gcc.texi
+$(docobjdir)/gcc.info: $(TEXI_GCC_FILES)
+ $(MAKEINFO) $(MAKEINFOFLAGS) -I $(docdir) -I $(docdir)/include \
+ -o $@ $(docdir)/gcc.texi
-$(docdir)/gccint.info: $(TEXI_GCCINT_FILES)
- cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -I doc -I doc/include -o doc/gccint.info doc/gccint.texi
+$(docobjdir)/gccint.info: $(TEXI_GCCINT_FILES)
+ $(MAKEINFO) $(MAKEINFOFLAGS) -I $(docdir) -I $(docdir)/include \
+ -o $@ $(docdir)/gccint.texi
-$(docdir)/gccinstall.info: $(TEXI_GCCINSTALL_FILES)
- cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -I doc -I doc/include -o doc/gccinstall.info doc/install.texi
+$(docobjdir)/gccinstall.info: $(TEXI_GCCINSTALL_FILES)
+ $(MAKEINFO) $(MAKEINFOFLAGS) -I $(docdir) -I $(docdir)/include \
+ -o $@ $(docdir)/install.texi
-$(docdir)/cppinternals.info: $(TEXI_CPPINT_FILES)
- cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -I doc -I doc/include -o doc/cppinternals.info \
- doc/cppinternals.texi
+$(docobjdir)/cppinternals.info: $(TEXI_CPPINT_FILES)
+ $(MAKEINFO) $(MAKEINFOFLAGS) -I $(docdir) -I $(docdir)/include \
+ -o $@ $(docdir)/cppinternals.texi
dvi: gcc.dvi gccint.dvi gccinstall.dvi cpp.dvi lang.dvi cppinternals.dvi
cppinternals.dvi: $(TEXI_CPPINT_FILES)
$(TEXI2DVI) -I $(docdir) -I $(docdir)/include $(docdir)/cppinternals.texi
-generated-manpages: $(docdir)/gcov.1 $(docdir)/cpp.1 $(docdir)/gcc.1 \
- $(docdir)/gfdl.7 $(docdir)/gpl.7 $(docdir)/fsf-funding.7 \
+generated-manpages: $(docobjdir)/gcov.1 $(docobjdir)/cpp.1 $(docobjdir)/gcc.1 \
+ $(docobjdir)/gfdl.7 $(docobjdir)/gpl.7 $(docobjdir)/fsf-funding.7 \
lang.generated-manpages
-$(docdir)/gcov.1: $(docdir)/gcov.texi
- $(STAMP) $(docdir)/gcov.1
+$(docobjdir)/gcov.1: $(docdir)/gcov.texi
+ $(STAMP) $(docobjdir)/gcov.1
-$(TEXI2POD) $(docdir)/gcov.texi > gcov.pod
- -($(POD2MAN) --section=1 gcov.pod > $(docdir)/gcov.1.T$$$$ && \
- mv -f $(docdir)/gcov.1.T$$$$ $(docdir)/gcov.1) || \
- (rm -f $(docdir)/gcov.1.T$$$$ && exit 1)
+ -($(POD2MAN) --section=1 gcov.pod > $(docobjdir)/gcov.1.T$$$$ && \
+ mv -f $(docobjdir)/gcov.1.T$$$$ $(docobjdir)/gcov.1) || \
+ (rm -f $(docobjdir)/gcov.1.T$$$$ && exit 1)
-rm -f gcov.pod
-$(docdir)/cpp.1: $(docdir)/cpp.texi $(docdir)/cppenv.texi \
+$(docobjdir)/cpp.1: $(docdir)/cpp.texi $(docdir)/cppenv.texi \
$(docdir)/cppopts.texi
- $(STAMP) $(docdir)/cpp.1
+ $(STAMP) $(docobjdir)/cpp.1
-$(TEXI2POD) $(docdir)/cpp.texi > cpp.pod
- -($(POD2MAN) --section=1 cpp.pod > $(docdir)/cpp.1.T$$$$ && \
- mv -f $(docdir)/cpp.1.T$$$$ $(docdir)/cpp.1) || \
- (rm -f $(docdir)/cpp.1.T$$$$ && exit 1)
+ -($(POD2MAN) --section=1 cpp.pod > $(docobjdir)/cpp.1.T$$$$ && \
+ mv -f $(docobjdir)/cpp.1.T$$$$ $(docobjdir)/cpp.1) || \
+ (rm -f $(docobjdir)/cpp.1.T$$$$ && exit 1)
-rm -f cpp.pod
-$(docdir)/gcc.1: $(docdir)/invoke.texi $(docdir)/cppenv.texi \
+$(docobjdir)/gcc.1: $(docdir)/invoke.texi $(docdir)/cppenv.texi \
$(docdir)/cppopts.texi
- $(STAMP) $(docdir)/gcc.1
+ $(STAMP) $(docobjdir)/gcc.1
-$(TEXI2POD) $(docdir)/invoke.texi > gcc.pod
- -($(POD2MAN) --section=1 gcc.pod > $(docdir)/gcc.1.T$$$$ && \
- mv -f $(docdir)/gcc.1.T$$$$ $(docdir)/gcc.1) || \
- (rm -f $(docdir)/gcc.1.T$$$$ && exit 1)
+ -($(POD2MAN) --section=1 gcc.pod > $(docobjdir)/gcc.1.T$$$$ && \
+ mv -f $(docobjdir)/gcc.1.T$$$$ $(docobjdir)/gcc.1) || \
+ (rm -f $(docobjdir)/gcc.1.T$$$$ && exit 1)
-rm -f gcc.pod
-$(docdir)/gfdl.7: $(docdir)/include/fdl.texi
- $(STAMP) $(docdir)/gfdl.7
+$(docobjdir)/gfdl.7: $(docdir)/include/fdl.texi
+ $(STAMP) $(docobjdir)/gfdl.7
-$(TEXI2POD) $(docdir)/include/fdl.texi > gfdl.pod
- -($(POD2MAN) --section=7 gfdl.pod > $(docdir)/gfdl.7.T$$$$ && \
- mv -f $(docdir)/gfdl.7.T$$$$ $(docdir)/gfdl.7) || \
- (rm -f $(docdir)/gfdl.7.T$$$$ && exit 1)
+ -($(POD2MAN) --section=7 gfdl.pod > $(docobjdir)/gfdl.7.T$$$$ && \
+ mv -f $(docobjdir)/gfdl.7.T$$$$ $(docobjdir)/gfdl.7) || \
+ (rm -f $(docobjdir)/gfdl.7.T$$$$ && exit 1)
-rm -f gfdl.pod
-$(docdir)/gpl.7: $(docdir)/include/gpl.texi
- $(STAMP) $(docdir)/gpl.7
+$(docobjdir)/gpl.7: $(docdir)/include/gpl.texi
+ $(STAMP) $(docobjdir)/gpl.7
-$(TEXI2POD) $(docdir)/include/gpl.texi > gpl.pod
- -($(POD2MAN) --section=7 gpl.pod > $(docdir)/gpl.7.T$$$$ && \
- mv -f $(docdir)/gpl.7.T$$$$ $(docdir)/gpl.7) || \
- (rm -f $(docdir)/gpl.7.T$$$$ && exit 1)
+ -($(POD2MAN) --section=7 gpl.pod > $(docobjdir)/gpl.7.T$$$$ && \
+ mv -f $(docobjdir)/gpl.7.T$$$$ $(docobjdir)/gpl.7) || \
+ (rm -f $(docobjdir)/gpl.7.T$$$$ && exit 1)
-rm -f gpl.pod
-$(docdir)/fsf-funding.7: $(docdir)/include/funding.texi
- $(STAMP) $(docdir)/fsf-funding.7
+$(docobjdir)/fsf-funding.7: $(docdir)/include/funding.texi
+ $(STAMP) $(docobjdir)/fsf-funding.7
-$(TEXI2POD) $(docdir)/include/funding.texi > fsf-funding.pod
-($(POD2MAN) --section=7 fsf-funding.pod \
- > $(docdir)/fsf-funding.7.T$$$$ && \
- mv -f $(docdir)/fsf-funding.7.T$$$$ $(docdir)/fsf-funding.7) || \
- (rm -f $(docdir)/fsf-funding.7.T$$$$ && exit 1)
+ > $(docobjdir)/fsf-funding.7.T$$$$ && \
+ mv -f $(docobjdir)/fsf-funding.7.T$$$$ $(docobjdir)/fsf-funding.7) || \
+ (rm -f $(docobjdir)/fsf-funding.7.T$$$$ && exit 1)
-rm -f fsf-funding.pod
#\f
-rm -f c-parse.y c-parse.c c-parse.output TAGS
-rm -f cpp.??s cpp.*aux
-rm -f gcc.??s gcc.*aux
- -rm -f $(docdir)/cpp.info* $(docdir)/gcc.info* $(docdir)/gccint.info*
- -rm -f $(docdir)/cppinternals.info*
- -rm -f $(docdir)/gcov.1 $(docdir)/cpp.1 $(docdir)/gcc.1
- -rm -f $(docdir)/fsf-funding.7 $(docdir)/gfdl.7 $(docdir)/gpl.7
+ -rm -f $(docobjdir)/cpp.info* $(docobjdir)/gcc.info* $(docobjdir)/gccint.info*
+ -rm -f $(docobjdir)/cppinternals.info*
+ -rm -f $(docobjdir)/gcov.1 $(docobjdir)/cpp.1 $(docobjdir)/gcc.1
+ -rm -f $(docobjdir)/fsf-funding.7 $(docobjdir)/gfdl.7 $(docobjdir)/gpl.7
#\f
# Entry points `install' and `uninstall'.
# Also use `install-collect2' to install collect2 when the config files don't.
install-info: doc installdirs lang.install-info
-rm -f $(DESTDIR)$(infodir)/cpp.info* $(DESTDIR)$(infodir)/gcc.info*
-rm -f $(DESTDIR)$(infodir)/cppinternals.info* $(DESTDIR)$(infodir)/gccint.info*
- if [ -f $(docdir)/gcc.info ]; then \
- for f in $(docdir)/cpp.info* $(docdir)/gcc.info* \
- $(docdir)/cppinternals.info* $(docdir)/gccint.info*; do \
+ if [ -f $(docobjdir)/gcc.info ]; then \
+ for f in $(docobjdir)/cpp.info* $(docobjdir)/gcc.info* \
+ $(docobjdir)/cppinternals.info* $(docobjdir)/gccint.info*; do \
realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
$(INSTALL_DATA) $$f $(DESTDIR)$(infodir)/$$realfile; \
done; \
install-man: installdirs $(GENERATED_MANPAGES) lang.install-man
-if [ -f gcc-cross$(exeext) ] ; then \
rm -f $(DESTDIR)$(man1dir)/$(GCC_CROSS_NAME)$(man1ext); \
- $(INSTALL_DATA) $(docdir)/gcc.1 $(DESTDIR)$(man1dir)/$(GCC_CROSS_NAME)$(man1ext); \
+ $(INSTALL_DATA) $(docobjdir)/gcc.1 $(DESTDIR)$(man1dir)/$(GCC_CROSS_NAME)$(man1ext); \
chmod a-x $(DESTDIR)$(man1dir)/$(GCC_CROSS_NAME)$(man1ext); \
else \
rm -f $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext); \
- $(INSTALL_DATA) $(docdir)/gcc.1 $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext); \
+ $(INSTALL_DATA) $(docobjdir)/gcc.1 $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext); \
chmod a-x $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext); \
fi
-rm -f $(DESTDIR)$(man1dir)/cpp$(man1ext)
- -$(INSTALL_DATA) $(docdir)/cpp.1 $(DESTDIR)$(man1dir)/cpp$(man1ext)
+ -$(INSTALL_DATA) $(docobjdir)/cpp.1 $(DESTDIR)$(man1dir)/cpp$(man1ext)
-chmod a-x $(DESTDIR)$(man1dir)/cpp$(man1ext)
-rm -f $(DESTDIR)$(man1dir)/gcov$(man1ext)
- -$(INSTALL_DATA) $(docdir)/gcov.1 $(DESTDIR)$(man1dir)/gcov$(man1ext)
+ -$(INSTALL_DATA) $(docobjdir)/gcov.1 $(DESTDIR)$(man1dir)/gcov$(man1ext)
-chmod a-x $(DESTDIR)$(man1dir)/gcov$(man1ext)
-rm -f $(DESTDIR)$(man7dir)/fsf-funding$(man7ext)
- -$(INSTALL_DATA) $(docdir)/fsf-funding.7 $(DESTDIR)$(man7dir)/fsf-funding$(man7ext)
+ -$(INSTALL_DATA) $(docobjdir)/fsf-funding.7 $(DESTDIR)$(man7dir)/fsf-funding$(man7ext)
-chmod a-x $(DESTDIR)$(man7dir)/fsf-funding$(man7ext)
-rm -f $(DESTDIR)$(man7dir)/gfdl$(man7ext)
- -$(INSTALL_DATA) $(docdir)/gfdl.7 $(DESTDIR)$(man7dir)/gfdl$(man7ext)
+ -$(INSTALL_DATA) $(docobjdir)/gfdl.7 $(DESTDIR)$(man7dir)/gfdl$(man7ext)
-chmod a-x $(DESTDIR)$(man7dir)/gfdl$(man7ext)
-rm -f $(DESTDIR)$(man7dir)/gpl$(man7ext)
- -$(INSTALL_DATA) $(docdir)/gpl.7 $(DESTDIR)$(man7dir)/gpl$(man7ext)
+ -$(INSTALL_DATA) $(docobjdir)/gpl.7 $(DESTDIR)$(man7dir)/gpl$(man7ext)
-chmod a-x $(DESTDIR)$(man7dir)/gpl$(man7ext)
# Install the library.