@SET_MAKE@
REMAKEFLAGS=LANGUAGES="$(LANGUAGES)" BOOT_CFLAGS="$(BOOT_CFLAGS)"
+# Locate mkinstalldirs.
+mkinstalldirs=$(SHELL) $(srcdir)/../mkinstalldirs
+
# --------
# UNSORTED
# --------
DIAGNOSTIC_H = diagnostic.h diagnostic.def $(PRETTY_PRINT_H)
C_PRETTY_PRINT_H = $(PRETTY_PRINT_H) $(C_COMMON_H) $(TREE_H)
-# target overrides
-ifneq ($(tmake_file),)
-include $(tmake_file)
-endif
-
-# host overrides
-ifneq ($(xmake_file),)
-include $(xmake_file)
-endif
-
#\f
# Now figure out from those variables how to compile and link.
insn-extract.o insn-opinit.o insn-output.o insn-peep.o insn-recog.o \
integrate.o intl.o jump.o langhooks.o lcm.o lists.o local-alloc.o \
loop.o optabs.o options.o opts.o params.o postreload.o predict.o \
- print-rtl.o print-tree.o value-prof.o \
+ print-rtl.o print-tree.o value-prof.o var-tracking.o \
profile.o ra.o ra-build.o ra-colorize.o ra-debug.o ra-rewrite.o \
real.o recog.o reg-stack.o regclass.o regmove.o regrename.o \
reload.o reload1.o reorg.o resource.o rtl.o rtlanal.o rtl-error.o \
include $(LANG_MAKEFRAGS)
endif
+# target and host overrides must follow the per-language makefile fragments
+# so they can override or augment language-specific variables
+
+# target overrides
+ifneq ($(tmake_file),)
+include $(tmake_file)
+endif
+
+# host overrides
+ifneq ($(xmake_file),)
+include $(xmake_file)
+endif
+
#\f
# -----------------------------
$(LIBGCC) $(EXTRA_PARTS) lang.all.cross doc
# This is what must be made before installing GCC and converting libraries.
start.encap: native xgcc$(exeext) cpp$(exeext) specs \
- xlimits.h lang.start.encap @GENINSRC@ srcextra lang.srcextra
+ xlimits.h lang.start.encap @GENINSRC@ srcextra
# These can't be made until after GCC can run.
rest.encap: $(STMP_FIXPROTO) $(LIBGCC) $(EXTRA_PARTS) lang.rest.encap
# This is what is made with the host's compiler
SHLIB_MAPFILES='$(SHLIB_MAPFILES)' \
SHLIB_NM_FLAGS='$(SHLIB_NM_FLAGS)' \
MULTILIB_OSDIRNAMES='$(MULTILIB_OSDIRNAMES)' \
- mkinstalldirs='$(SHELL) $(srcdir)/mkinstalldirs' \
+ mkinstalldirs='$(mkinstalldirs)' \
$(SHELL) mklibgcc > tmp-libgcc.mk
mv tmp-libgcc.mk libgcc.mk
$(C_TREE_H) flags.h $(DIAGNOSTIC_H) $(TM_P_H)
c-parse.o : 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
+ varray.h gt-c-parse.h langhooks.h
-srcextra: c-parse.y c-parse.c gengtype-lex.c gengtype-yacc.c gengtype-yacc.h
+srcextra: gcc.srcextra lang.srcextra
+
+gcc.srcextra: c-parse.y c-parse.c gengtype-lex.c gengtype-yacc.c gengtype-yacc.h
-cp -p $^ $(srcdir)
c-parse.c: c-parse.y
opts.h c-pragma.h gt-c-decl.h cgraph.h $(HASHTAB_H) libfuncs.h except.h \
$(LANGHOOKS_DEF_H)
c-typeck.o : c-typeck.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_TREE_H) \
- $(TARGET_H) flags.h intl.h output.h $(EXPR_H) $(RTL_H) toplev.h $(TM_P_H)
+ $(TARGET_H) flags.h intl.h output.h $(EXPR_H) $(RTL_H) toplev.h $(TM_P_H) \
+ langhooks.h
c-lang.o : c-lang.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
$(C_TREE_H) $(C_PRETTY_PRINT_H) $(DIAGNOSTIC_H) \
$(GGC_H) langhooks.h $(LANGHOOKS_DEF_H) $(C_COMMON_H) gtype-c.h
$(OBSTACK_H) $(C_COMMON_H) flags.h toplev.h output.h c-pragma.h intl.h \
$(GGC_H) $(EXPR_H) $(TM_P_H) builtin-types.def builtin-attrs.def \
$(DIAGNOSTIC_H) gt-c-common.h langhooks.h varray.h $(RTL_H) \
- $(TARGET_H) $(C_TREE_H)
+ $(TARGET_H) $(C_TREE_H) langhooks.h
c-pretty-print.o : c-pretty-print.c $(C_PRETTY_PRINT_H) \
$(C_COMMON_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) real.h
$(RTL_H) $(TREE_H) hard-reg-set.h $(BASIC_BLOCK_H) real.h $(TM_P_H)
rtlanal.o : rtlanal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) toplev.h \
$(RTL_H) hard-reg-set.h $(TM_P_H) insn-config.h $(RECOG_H) real.h flags.h \
- $(BASIC_BLOCK_H)
+ $(BASIC_BLOCK_H) $(REGS_H)
errors.o : errors.c $(CONFIG_H) $(SYSTEM_H) errors.h
$(CC) -c $(ALL_CFLAGS) -DGENERATOR_FILE $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
df.o : df.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
insn-config.h $(RECOG_H) function.h $(REGS_H) alloc-pool.h hard-reg-set.h \
$(BASIC_BLOCK_H) df.h $(FIBHEAP_H)
+var-tracking.o : var-tracking.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
+ $(RTL_H) $(TREE_H) hard-reg-set.h insn-config.h reload.h flags.h \
+ $(BASIC_BLOCK_H) output.h sbitmap.h alloc-pool.h $(FIBHEAP_H) $(HASHTAB_H)
conflict.o : conflict.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(OBSTACK_H) \
$(HASHTAB_H) $(RTL_H) hard-reg-set.h $(BASIC_BLOCK_H)
profile.o : profile.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
cfgcleanup.o : cfgcleanup.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) $(TIMEVAR_H) $(BASIC_BLOCK_H) hard-reg-set.h output.h flags.h \
$(RECOG_H) toplev.h $(GGC_H) insn-config.h cselib.h $(TARGET_H) $(TM_P_H) \
- $(PARAMS_H)
+ $(PARAMS_H) $(REGS_H)
cfgloop.o : cfgloop.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) coretypes.h $(TM_H) \
$(BASIC_BLOCK_H) hard-reg-set.h cfgloop.h flags.h
cfgloopanal.o : cfgloopanal.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) \
$(TM_P_H) function.h $(REGS_H) hard-reg-set.h $(BASIC_BLOCK_H) df.h output.h ra.h
ra-debug.o : ra-debug.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
insn-config.h $(RECOG_H) function.h hard-reg-set.h $(BASIC_BLOCK_H) df.h output.h \
- ra.h $(TM_P_H)
+ ra.h $(TM_P_H) $(REGS_H)
ra-rewrite.o : ra-rewrite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
$(TM_P_H) function.h $(REGS_H) hard-reg-set.h $(BASIC_BLOCK_H) df.h $(EXPR_H) \
output.h except.h ra.h reload.h insn-config.h
-DLOCALEDIR=\"$(localedir)\" \
-c $(srcdir)/intl.c $(OUTPUT_OPTION)
-# 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 options.c
-
#\f
# Remake cpp and protoize.
.PHONY: install-gcc-tooldir
install-gcc-tooldir:
- $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(gcc_tooldir)
+ $(mkinstalldirs) $(DESTDIR)$(gcc_tooldir)
# Build fixed copies of system files.
stmp-fixinc: fixinc.sh gsyslimits.h
else \
: This line works around a 'make' bug in BSDI 1.1.; \
FIXPROTO_DEFINES="$(FIXPROTO_DEFINES)"; export FIXPROTO_DEFINES; \
- mkinstalldirs="$(SHELL) $(srcdir)/mkinstalldirs"; \
+ mkinstalldirs="$(mkinstalldirs)"; \
export mkinstalldirs; \
if [ -d "$(SYSTEM_HEADER_DIR)" ]; then \
$(SHELL) ${srcdir}/fixproto include include $(SYSTEM_HEADER_DIR); \
MANFILES = doc/gcov.1 doc/cpp.1 doc/gcc.1 doc/gfdl.7 doc/gpl.7 doc/fsf-funding.7
-generated-manpages: $(MANFILES) lang.man @GENINSRC@ srcman lang.srcman
+generated-manpages: man
+
+man: $(MANFILES) lang.man @GENINSRC@ srcman lang.srcman
srcman: $(MANFILES)
-cp -p $^ $(srcdir)/doc
# Create the installation directories.
# $(libdir)/gcc/include isn't currently searched by cpp.
installdirs:
- $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(libsubdir)
- $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(libexecsubdir)
- $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(bindir)
- $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(includedir)
- $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(infodir)
- $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(slibdir)
- $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(man1dir)
- $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(man7dir)
+ $(mkinstalldirs) $(DESTDIR)$(libsubdir)
+ $(mkinstalldirs) $(DESTDIR)$(libexecsubdir)
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+ $(mkinstalldirs) $(DESTDIR)$(includedir)
+ $(mkinstalldirs) $(DESTDIR)$(infodir)
+ $(mkinstalldirs) $(DESTDIR)$(slibdir)
+ $(mkinstalldirs) $(DESTDIR)$(man1dir)
+ $(mkinstalldirs) $(DESTDIR)$(man7dir)
# Install the compiler executables built during cross compilation.
install-common: native $(EXTRA_PARTS) lang.install-common installdirs
install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir \
mkheaders xlimits.h
-rm -rf $(DESTDIR)$(itoolsdir) $(DESTDIR)$(itoolsdatadir)
- $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(itoolsdatadir)/include
- $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(itoolsdir)
+ $(mkinstalldirs) $(DESTDIR)$(itoolsdatadir)/include
+ $(mkinstalldirs) $(DESTDIR)$(itoolsdir)
for file in $(USER_H); do \
realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
$(INSTALL_DATA) $$file \
$(DESTDIR)$(itoolsdatadir)/gsyslimits.h ; \
else :; fi
if [ x$(STMP_FIXPROTO) != x ] ; then \
- $(INSTALL_SCRIPT) $(srcdir)/mkinstalldirs \
+ $(INSTALL_SCRIPT) $(mkinstalldirs) \
$(DESTDIR)$(itoolsdir)/mkinstalldirs ; \
$(INSTALL_SCRIPT) $(srcdir)/fixproto $(DESTDIR)$(itoolsdir)/fixproto ; \
$(INSTALL_PROGRAM) fix-header$(build_exeext) \
# for each language, in case they weren't built or included
# with the distribution.
install-po:
- $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(datadir)
+ $(mkinstalldirs) $(DESTDIR)$(datadir)
cats="$(CATALOGS)"; for cat in $$cats; do \
lang=`basename $$cat | sed 's/\.gmo$$//'`; \
if [ -f $$cat ]; then :; \
else continue; \
fi; \
dir=$(localedir)/$$lang/LC_MESSAGES; \
- echo $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$$dir; \
- $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$$dir || exit 1; \
+ echo $(mkinstalldirs) $(DESTDIR)$$dir; \
+ $(mkinstalldirs) $(DESTDIR)$$dir || exit 1; \
echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
$(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
done
# fairly modern (POSIX-compliant) awk.
# The .pot file is left in the build directory.
$(PACKAGE).pot: po/$(PACKAGE).pot
-po/$(PACKAGE).pot: force
+po/$(PACKAGE).pot: force options.c
-test -d po || mkdir po
- $(MAKE) po-generated
+ $(MAKE) srcextra
AWK=$(AWK) $(SHELL) $(srcdir)/po/exgettext \
$(XGETTEXT) $(PACKAGE) $(srcdir)