# Directory where sources are, from where we are.
srcdir = @srcdir@
-docdir = $(srcdir)/doc
+docdir = @srcdir@/doc
+
+# Directory where sources are, absolute.
+abs_srcdir = @abs_srcdir@
+abs_docdir = @abs_srcdir@/doc
# Top build directory, relative to here.
top_builddir = ..
# STRICT_WARN and STRICT2_WARN are the additional warning flags to
# apply to the back end and the C front end, which may be compiled
# with other compilers. This is partially controlled by configure in
-# stage1, as not all versions of gcc understand -Wno-long-long.
+# stage1, as not all versions of gcc understand -Wno-long-long or
+# -Wno-variadic-macros.
LOOSE_WARN = -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
STRICT_WARN = @strict1_warn@
-STRICT2_WARN = -pedantic -Wno-long-long -Wold-style-definition @WERROR@
+STRICT2_WARN = -pedantic -Wno-long-long -Wold-style-definition \
+ -Wno-variadic-macros @WERROR@
# This is set by --enable-checking. The idea is to catch forgotten
# "extern" tags in header files.
@SET_MAKE@
REMAKEFLAGS=LANGUAGES="$(LANGUAGES)" BOOT_CFLAGS="$(BOOT_CFLAGS)"
+# Locate mkinstalldirs.
+mkinstalldirs=$(SHELL) $(srcdir)/../mkinstalldirs
+
# --------
# UNSORTED
# --------
# List of extra object files that should be compiled and linked with
# the gcc driver.
-EXTRA_GCC_OBJS =@host_extra_gcc_objs@
+EXTRA_GCC_OBJS =@extra_gcc_objs@
# List of additional header files to install.
EXTRA_HEADERS =@extra_headers_list@
TARGET_DEF_H = target-def.h $(HOOKS_H)
MACHMODE_H = machmode.h mode-classes.def insn-modes.h
RTL_BASE_H = rtl.h rtl.def $(MACHMODE_H)
-RTL_H = $(RTL_BASE_H) genrtl.h input.h
+RTL_H = $(RTL_BASE_H) genrtl.h input.h statistics.h
PARAMS_H = params.h params.def
TREE_H = tree.h tree.def $(MACHMODE_H) tree-check.h version.h builtins.def \
- input.h
+ input.h statistics.h
BASIC_BLOCK_H = basic-block.h bitmap.h sbitmap.h varray.h $(PARTITION_H) \
hard-reg-set.h cfghooks.h
COVERAGE_H = coverage.h gcov-io.h gcov-iov.h
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.
cfgloopanal.o cfgloopmanip.o loop-init.o loop-unswitch.o loop-unroll.o \
cfgrtl.o combine.o conflict.o convert.o coverage.o cse.o cselib.o \
dbxout.o debug.o df.o diagnostic.o dojump.o doloop.o dominance.o \
- dwarf2asm.o dwarf2out.o emit-rtl.o except.o explow.o \
+ dwarf2asm.o dwarf2out.o emit-rtl.o except.o explow.o loop-iv.o \
expmed.o expr.o final.o flow.o fold-const.o function.o gcse.o \
genrtl.o ggc-common.o global.o graph.o gtype-desc.o \
haifa-sched.o hooks.o ifcvt.o insn-attrtab.o insn-emit.o insn-modes.o \
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 \
sibcall.o simplify-rtx.o sreal.o stmt.o stor-layout.o stringpool.o \
targhooks.o timevar.o toplev.o tracer.o tree.o tree-dump.o unroll.o \
varasm.o varray.o version.o vmsdbgout.o xcoffout.o alloc-pool.o \
- et-forest.o cfghooks.o bt-load.o pretty-print.o $(GGC) web.o
+ et-forest.o cfghooks.o bt-load.o pretty-print.o $(GGC) web.o passes.o
OBJS-md = $(out_object_file)
OBJS-archive = $(EXTRA_OBJS) $(host_hook_obj) hashtable.o tree-inline.o \
insn-attr.h insn-attrtab.c insn-opinit.c insn-constants.h tm-preds.h \
tree-check.h insn-conditions.c min-insn-modes.c insn-modes.c insn-modes.h \
s-flags s-config s-codes s-mlib s-genrtl s-modes s-gtype gtyp-gen.h \
- s-output s-recog s-emit s-extract s-peep s-check s-conditions \
+ s-gtyp-gen s-output s-recog s-emit s-extract s-peep s-check s-conditions \
s-attr s-attrtab s-opinit s-preds s-constants s-crt0 \
genemit$(build_exeext) genoutput$(build_exeext) genrecog$(build_exeext) \
genextract$(build_exeext) genflags$(build_exeext) gencodes$(build_exeext) \
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
$(SHELL) $(srcdir)/genmultilib '' '' '' '' '' '' '' no \
> tmp-mlib.h; \
fi
- $(SHELL) $(srcdir)/move-if-change tmp-mlib.h multilib.h
+ $(SHELL) $(srcdir)/../move-if-change tmp-mlib.h multilib.h
$(STAMP) s-mlib
# Build multiple copies of libgcc.a, one for each target switch.
$(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
echo '/*WARNING: This file is automatically generated!*/' >tmp-c-parse.y
sed -e "/^@@ifobjc.*/,/^@@end_ifobjc.*/d" \
-e "/^@@ifc.*/d" -e "/^@@end_ifc.*/d" $< >>tmp-c-parse.y
- $(SHELL) $(srcdir)/move-if-change tmp-c-parse.y $@
+ $(SHELL) $(srcdir)/../move-if-change tmp-c-parse.y $@
c-incpath.o: c-incpath.c c-incpath.h $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) \
- intl.h prefix.h coretypes.h $(TM_H) cppdefault.h
+ intl.h prefix.h coretypes.h $(TM_H) cppdefault.h $(TARGET_H) \
+ $(MACHMODE_H)
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 \
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
-c-opts.o : c-opts.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
- c-pragma.h flags.h toplev.h langhooks.h tree-inline.h $(DIAGNOSTIC_H) \
- intl.h debug.h $(C_COMMON_H) opts.h options.h $(PARAMS_H)
+c-opts.o : c-opts.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
+ $(TREE_H) c-pragma.h flags.h toplev.h langhooks.h \
+ tree-inline.h $(DIAGNOSTIC_H) intl.h debug.h $(C_COMMON_H) \
+ opts.h options.h $(PARAMS_H)
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
$< $(OUTPUT_OPTION) @TARGET_SYSTEM_ROOT_DEFINE@
cppspec.o: cppspec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H)
tree-check.h: s-check ; @true
-s-check : gencheck$(build_exeext) $(srcdir)/move-if-change
+s-check : gencheck$(build_exeext)
$(RUN_GEN) ./gencheck$(build_exeext) > tmp-check.h
- $(SHELL) $(srcdir)/move-if-change tmp-check.h tree-check.h
+ $(SHELL) $(srcdir)/../move-if-change tmp-check.h tree-check.h
$(STAMP) s-check
gencheck$(build_exeext) : gencheck.o $(BUILD_LIBDEPS)
ltf="$(lang_tree_files)"; for f in $$ltf; do \
echo "#include \"$$f\""; \
done | sed 's|$(srcdir)/||' > tmp-gencheck.h
- $(SHELL) $(srcdir)/move-if-change tmp-gencheck.h gencheck.h
+ $(SHELL) $(srcdir)/../move-if-change tmp-gencheck.h gencheck.h
$(STAMP) s-gencheck
specs.h : s-specs ; @true
lsf="$(lang_specs_files)"; for f in $$lsf; do \
echo "#include \"$$f\""; \
done | sed 's|$(srcdir)/||' > tmp-specs.h
- $(SHELL) $(srcdir)/move-if-change tmp-specs.h specs.h
+ $(SHELL) $(srcdir)/../move-if-change tmp-specs.h specs.h
$(STAMP) s-specs
-options.c: $(lang_opt_files) $(srcdir)/opts.sh options.h intl.h
-
-options.h: $(lang_opt_files) $(srcdir)/opts.sh Makefile
+options.c options.h: s-options ; @true
+s-options: $(lang_opt_files) $(srcdir)/opts.sh Makefile
AWK=$(AWK) $(SHELL) $(srcdir)/opts.sh \
- '$(SHELL) $(srcdir)/move-if-change' \
+ '$(SHELL) $(srcdir)/../move-if-change' \
options.c options.h $(lang_opt_files)
+ $(STAMP) s-options
+
+options.o: options.c options.h opts.h intl.h
dumpvers: dumpvers.c
input.h toplev.h intl.h langhooks.h $(LANGHOOKS_DEF_H)
opts.o : opts.c opts.h options.h toplev.h $(CONFIG_H) $(SYSTEM_H) \
coretypes.h $(TREE_H) $(TM_H) langhooks.h $(GGC_H) $(RTL_H) \
- output.h $(DIAGNOSTIC_H) $(TM_P_H) $(INSN_ATTR_H) intl.h
+ output.h $(DIAGNOSTIC_H) $(TM_P_H) $(INSN_ATTR_H) intl.h target.h
targhooks.o : targhooks.c targhooks.h $(CONFIG_H) $(SYSTEM_H) \
coretypes.h $(TREE_H) $(TM_H) $(RTL_H) $(TM_P_H) function.h \
output.h toplev.h
graph.h $(LOOP_H) except.h $(REGS_H) $(TIMEVAR_H) value-prof.h \
$(PARAMS_H) $(TM_P_H) reload.h dwarf2asm.h $(TARGET_H) \
langhooks.h insn-flags.h cfglayout.h real.h cfgloop.h \
- hosthooks.h $(LANGHOOKS_DEF_H) cgraph.h $(COVERAGE_H)
+ hosthooks.h $(LANGHOOKS_DEF_H) cgraph.h $(COVERAGE_H) alloc-pool.h
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-DTARGET_NAME=\"$(target_noncanonical)\" \
-c $(srcdir)/toplev.c $(OUTPUT_OPTION)
+
+passes.o : passes.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
+ $(RTL_H) function.h flags.h xcoffout.h input.h $(INSN_ATTR_H) output.h \
+ $(DIAGNOSTIC_H) debug.h insn-config.h intl.h $(RECOG_H) toplev.h \
+ dwarf2out.h sdbout.h dbxout.h $(EXPR_H) hard-reg-set.h $(BASIC_BLOCK_H) \
+ graph.h $(LOOP_H) except.h $(REGS_H) $(TIMEVAR_H) value-prof.h \
+ $(PARAMS_H) $(TM_P_H) reload.h dwarf2asm.h $(TARGET_H) \
+ langhooks.h insn-flags.h cfglayout.h real.h cfgloop.h \
+ hosthooks.h $(LANGHOOKS_DEF_H) cgraph.h $(COVERAGE_H) alloc-pool.h
+
main.o : main.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) toplev.h
host-default.o : host-default.c $(CONFIG_H) $(SYSTEM_H) coretypes.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)
insn-config.h reload.h gstab.h xcoffout.h output.h dbxout.h toplev.h \
$(GGC_H) gt-dbxout.h
debug.o : debug.c debug.h $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
-sdbout.o : sdbout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \
- flags.h function.h $(EXPR_H) output.h hard-reg-set.h $(REGS_H) real.h \
- insn-config.h xcoffout.h c-pragma.h $(GGC_H) $(TARGET_H) \
- sdbout.h toplev.h $(TM_P_H) except.h debug.h langhooks.h gt-sdbout.h
+sdbout.o : sdbout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) debug.h \
+ $(TREE_H) $(GGC_H) varray.h $(RTL_H) $(REGS_H) flags.h insn-config.h \
+ output.h toplev.h $(TM_P_H) gsyms.h langhooks.h $(TARGET_H) sdbout.h \
+ gt-sdbout.h
dwarf2out.o : dwarf2out.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_H) $(RTL_H) dwarf2.h debug.h flags.h insn-config.h reload.h \
output.h $(DIAGNOSTIC_H) real.h hard-reg-set.h $(REGS_H) $(EXPR_H) \
libfuncs.h toplev.h dwarf2out.h varray.h $(GGC_H) except.h dwarf2asm.h \
$(TM_P_H) langhooks.h $(HASHTAB_H) gt-dwarf2out.h $(TARGET_H) cgraph.h \
- $(MD5_H)
+ $(MD5_H) input.h
dwarf2asm.o : dwarf2asm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) flags.h $(RTL_H) \
$(TREE_H) output.h dwarf2asm.h $(TM_P_H) $(GGC_H) gt-dwarf2asm.h
vmsdbgout.o : vmsdbgout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
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) \
function.h $(INTEGRATE_H) $(REGS_H) $(RECOG_H) flags.h $(EXPR_H) $(LOOP_H) toplev.h \
hard-reg-set.h varray.h $(BASIC_BLOCK_H) $(TM_P_H) $(PREDICT_H) $(PARAMS_H) \
cfgloop.h
-alloc-pool.o : alloc-pool.c $(CONFIG_H) $(SYSTEM_H) alloc-pool.h
+alloc-pool.o : alloc-pool.c $(CONFIG_H) $(SYSTEM_H) alloc-pool.h $(HASHTAB_H)
flow.o : flow.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
flags.h insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h \
$(RECOG_H) function.h except.h $(EXPR_H) $(GGC_H) $(TM_P_H)
$(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h $(RECOG_H) \
function.h except.h $(GGC_H) $(TM_P_H) alloc-pool.h
cfghooks.o: cfghooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
- $(BASIC_BLOCK_H) cfglayout.h
+ $(BASIC_BLOCK_H) cfglayout.h $(TIMEVAR_H) toplev.h
cfgrtl.o : cfgrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h $(RECOG_H) \
function.h except.h $(GGC_H) $(TM_P_H) insn-config.h $(EXPR_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) \
$(BASIC_BLOCK_H) hard-reg-set.h cfgloop.h $(EXPR_H) coretypes.h $(TM_H)
+loop-iv.o : loop-iv.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(GGC_H) \
+ $(BASIC_BLOCK_H) hard-reg-set.h cfgloop.h $(EXPR_H) coretypes.h $(TM_H)
cfgloopmanip.o : cfgloopmanip.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) \
$(BASIC_BLOCK_H) hard-reg-set.h cfgloop.h cfglayout.h output.h coretypes.h $(TM_H)
loop-init.o : loop-init.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
# trailing `;'), we call true for each.
insn-config.h: s-config ; @true
-s-config : $(md_file) genconfig$(build_exeext) $(srcdir)/move-if-change
+s-config : $(md_file) genconfig$(build_exeext)
$(RUN_GEN) ./genconfig$(build_exeext) $(md_file) > tmp-config.h
- $(SHELL) $(srcdir)/move-if-change tmp-config.h insn-config.h
+ $(SHELL) $(srcdir)/../move-if-change tmp-config.h insn-config.h
$(STAMP) s-config
insn-conditions.c: s-conditions ; @true
-s-conditions : $(md_file) genconditions$(build_exeext) $(srcdir)/move-if-change
+s-conditions : $(md_file) genconditions$(build_exeext)
$(RUN_GEN) ./genconditions$(build_exeext) $(md_file) > tmp-conditions.c
- $(SHELL) $(srcdir)/move-if-change tmp-conditions.c insn-conditions.c
+ $(SHELL) $(srcdir)/../move-if-change tmp-conditions.c insn-conditions.c
$(STAMP) s-conditions
insn-conditions.o : insn-conditions.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
coretypes.h $(GTM_H) gensupport.h
insn-flags.h: s-flags ; @true
-s-flags : $(md_file) genflags$(build_exeext) $(srcdir)/move-if-change
+s-flags : $(md_file) genflags$(build_exeext)
$(RUN_GEN) ./genflags$(build_exeext) $(md_file) > tmp-flags.h
- $(SHELL) $(srcdir)/move-if-change tmp-flags.h insn-flags.h
+ $(SHELL) $(srcdir)/../move-if-change tmp-flags.h insn-flags.h
$(STAMP) s-flags
insn-codes.h: s-codes ; @true
-s-codes : $(md_file) gencodes$(build_exeext) $(srcdir)/move-if-change
+s-codes : $(md_file) gencodes$(build_exeext)
$(RUN_GEN) ./gencodes$(build_exeext) $(md_file) > tmp-codes.h
- $(SHELL) $(srcdir)/move-if-change tmp-codes.h insn-codes.h
+ $(SHELL) $(srcdir)/../move-if-change tmp-codes.h insn-codes.h
$(STAMP) s-codes
insn-constants.h: s-constants ; @true
-s-constants : $(md_file) genconstants$(build_exeext) $(srcdir)/move-if-change
+s-constants : $(md_file) genconstants$(build_exeext)
$(RUN_GEN) ./genconstants$(build_exeext) $(md_file) > tmp-constants.h
- $(SHELL) $(srcdir)/move-if-change tmp-constants.h insn-constants.h
+ $(SHELL) $(srcdir)/../move-if-change tmp-constants.h insn-constants.h
$(STAMP) s-constants
insn-emit.o : insn-emit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(OUTPUT_OPTION)
insn-emit.c: s-emit ; @true
-s-emit : $(md_file) genemit$(build_exeext) $(srcdir)/move-if-change
+s-emit : $(md_file) genemit$(build_exeext)
$(RUN_GEN) ./genemit$(build_exeext) $(md_file) > tmp-emit.c
- $(SHELL) $(srcdir)/move-if-change tmp-emit.c insn-emit.c
+ $(SHELL) $(srcdir)/../move-if-change tmp-emit.c insn-emit.c
$(STAMP) s-emit
insn-recog.o : insn-recog.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(OUTPUT_OPTION)
insn-recog.c: s-recog ; @true
-s-recog : $(md_file) genrecog$(build_exeext) $(srcdir)/move-if-change
+s-recog : $(md_file) genrecog$(build_exeext)
$(RUN_GEN) ./genrecog$(build_exeext) $(md_file) > tmp-recog.c
- $(SHELL) $(srcdir)/move-if-change tmp-recog.c insn-recog.c
+ $(SHELL) $(srcdir)/../move-if-change tmp-recog.c insn-recog.c
$(STAMP) s-recog
insn-opinit.o : insn-opinit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(OUTPUT_OPTION)
insn-opinit.c: s-opinit ; @true
-s-opinit : $(md_file) genopinit$(build_exeext) $(srcdir)/move-if-change
+s-opinit : $(md_file) genopinit$(build_exeext)
$(RUN_GEN) ./genopinit$(build_exeext) $(md_file) > tmp-opinit.c
- $(SHELL) $(srcdir)/move-if-change tmp-opinit.c insn-opinit.c
+ $(SHELL) $(srcdir)/../move-if-change tmp-opinit.c insn-opinit.c
$(STAMP) s-opinit
insn-extract.o : insn-extract.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(OUTPUT_OPTION)
insn-extract.c: s-extract ; @true
-s-extract : $(md_file) genextract$(build_exeext) $(srcdir)/move-if-change
+s-extract : $(md_file) genextract$(build_exeext)
$(RUN_GEN) ./genextract$(build_exeext) $(md_file) > tmp-extract.c
- $(SHELL) $(srcdir)/move-if-change tmp-extract.c insn-extract.c
+ $(SHELL) $(srcdir)/../move-if-change tmp-extract.c insn-extract.c
$(STAMP) s-extract
insn-peep.o : insn-peep.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(OUTPUT_OPTION)
insn-peep.c: s-peep ; @true
-s-peep : $(md_file) genpeep$(build_exeext) $(srcdir)/move-if-change
+s-peep : $(md_file) genpeep$(build_exeext)
$(RUN_GEN) ./genpeep$(build_exeext) $(md_file) > tmp-peep.c
- $(SHELL) $(srcdir)/move-if-change tmp-peep.c insn-peep.c
+ $(SHELL) $(srcdir)/../move-if-change tmp-peep.c insn-peep.c
$(STAMP) s-peep
insn-attrtab.o : insn-attrtab.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(OUTPUT_OPTION)
insn-attr.h: s-attr ; @true
-s-attr : $(md_file) genattr$(build_exeext) $(srcdir)/move-if-change
+s-attr : $(md_file) genattr$(build_exeext)
$(RUN_GEN) ./genattr$(build_exeext) $(md_file) > tmp-attr.h
- $(SHELL) $(srcdir)/move-if-change tmp-attr.h insn-attr.h
+ $(SHELL) $(srcdir)/../move-if-change tmp-attr.h insn-attr.h
$(STAMP) s-attr
insn-attrtab.c: s-attrtab ; @true
-s-attrtab : $(md_file) genattrtab$(build_exeext) $(srcdir)/move-if-change
+s-attrtab : $(md_file) genattrtab$(build_exeext)
$(RUN_GEN) ./genattrtab$(build_exeext) $(md_file) > tmp-attrtab.c
- $(SHELL) $(srcdir)/move-if-change tmp-attrtab.c insn-attrtab.c
+ $(SHELL) $(srcdir)/../move-if-change tmp-attrtab.c insn-attrtab.c
$(STAMP) s-attrtab
insn-output.o : insn-output.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(OUTPUT_OPTION)
insn-output.c: s-output ; @true
-s-output : $(md_file) genoutput$(build_exeext) $(srcdir)/move-if-change
+s-output : $(md_file) genoutput$(build_exeext)
$(RUN_GEN) ./genoutput$(build_exeext) $(md_file) > tmp-output.c
- $(SHELL) $(srcdir)/move-if-change tmp-output.c insn-output.c
+ $(SHELL) $(srcdir)/../move-if-change tmp-output.c insn-output.c
$(STAMP) s-output
genrtl.o : genrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
genrtl.c genrtl.h : s-genrtl
@true # force gnu make to recheck modification times.
-s-genrtl: gengenrtl$(build_exeext) $(srcdir)/move-if-change
+s-genrtl: gengenrtl$(build_exeext)
$(RUN_GEN) ./gengenrtl$(build_exeext) -h > tmp-genrtl.h
- $(SHELL) $(srcdir)/move-if-change tmp-genrtl.h genrtl.h
+ $(SHELL) $(srcdir)/../move-if-change tmp-genrtl.h genrtl.h
$(RUN_GEN) ./gengenrtl$(build_exeext) > tmp-genrtl.c
- $(SHELL) $(srcdir)/move-if-change tmp-genrtl.c genrtl.c
+ $(SHELL) $(srcdir)/../move-if-change tmp-genrtl.c genrtl.c
$(STAMP) s-genrtl
insn-modes.o : insn-modes.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(MACHMODE_H) real.h
min-insn-modes.c insn-modes.c insn-modes.h : s-modes ; @true
-s-modes: genmodes$(build_exeext) $(srcdir)/move-if-change
+s-modes: genmodes$(build_exeext)
$(RUN_GEN) ./genmodes$(build_exeext) -h > tmp-modes.h
- $(SHELL) $(srcdir)/move-if-change tmp-modes.h insn-modes.h
+ $(SHELL) $(srcdir)/../move-if-change tmp-modes.h insn-modes.h
$(RUN_GEN) ./genmodes$(build_exeext) -m > tmp-min-modes.c
- $(SHELL) $(srcdir)/move-if-change tmp-min-modes.c min-insn-modes.c
+ $(SHELL) $(srcdir)/../move-if-change tmp-min-modes.c min-insn-modes.c
$(RUN_GEN) ./genmodes$(build_exeext) > tmp-modes.c
- $(SHELL) $(srcdir)/move-if-change tmp-modes.c insn-modes.c
+ $(SHELL) $(srcdir)/../move-if-change tmp-modes.c insn-modes.c
$(STAMP) s-modes
tm-preds.h: s-preds; @true
-s-preds: genpreds$(build_exeext) $(srcdir)/move-if-change
+s-preds: genpreds$(build_exeext)
$(RUN_GEN) ./genpreds$(build_exeext) > tmp-preds.h
- $(SHELL) $(srcdir)/move-if-change tmp-preds.h tm-preds.h
+ $(SHELL) $(srcdir)/../move-if-change tmp-preds.h tm-preds.h
$(STAMP) s-preds
GTFILES = $(srcdir)/input.h $(srcdir)/coretypes.h $(srcdir)/cpplib.h \
gt-c-pragma.h gtype-c.h gt-input.h gt-cfglayout.h \
gt-stringpool.h gt-langhooks.h : s-gtype ; @true
-gtyp-gen.h: Makefile
+gtyp-gen.h: s-gtyp-gen ; @true
+s-gtyp-gen: Makefile
echo "/* This file is machine generated. Do not edit. */" > tmp-gtyp.h
echo "static const char *const srcdir = " >> tmp-gtyp.h
echo "\"$(GTFILES_SRCDIR)\"" >> tmp-gtyp.h
for l in $$gf; do \
echo "\"$$l\", "; done >> tmp-gtyp.h
echo "NULL};" >> tmp-gtyp.h
- $(SHELL) $(srcdir)/move-if-change tmp-gtyp.h gtyp-gen.h
+ $(SHELL) $(srcdir)/../move-if-change tmp-gtyp.h gtyp-gen.h
+ $(STAMP) s-gtyp-gen
s-gtype: gengtype$(build_exeext) $(GTFILES)
$(RUN_GEN) ./gengtype
-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.
gcov-iov$(build_exeext): gcov-iov.o
$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) gcov-iov.o -o $@
gcov-iov.h: s-iov
-s-iov: gcov-iov$(build_exeext) $(srcdir)/move-if-change
+s-iov: gcov-iov$(build_exeext)
./gcov-iov$(build_exeext) > tmp-gcov-iov.h
- $(SHELL) $(srcdir)/move-if-change tmp-gcov-iov.h gcov-iov.h
+ $(SHELL) $(srcdir)/../move-if-change tmp-gcov-iov.h gcov-iov.h
$(STAMP) s-iov
gcov.o: gcov.c gcov-io.h gcov-io.c gcov-iov.h intl.h $(SYSTEM_H) coretypes.h $(TM_H) $(CONFIG_H)
.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); \
TEXI_CPPINT_FILES = cppinternals.texi
# The *.1, *.7, *.info, and *.dvi files are being generated from implicit
-# patterns. To use them, put each of the specific target with with their
+# patterns. To use them, put each of the specific targets with its
# specific dependencies but no build commands.
doc/cpp.info: $(TEXI_CPP_FILES)
doc/cppinternals.dvi
doc/%.dvi: %.texi
- $(TEXI2DVI) -I $(docdir) -I $(docdir)/include -o $@ $<
+ $(TEXI2DVI) -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
# Duplicate entry to handle renaming of gccinstall.dvi
doc/gccinstall.dvi: $(TEXI_GCCINSTALL_FILES)
- $(TEXI2DVI) -I $(docdir) -I $(docdir)/include -o $@ $<
+ $(TEXI2DVI) -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
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
cpp.pod: cpp.texi cppenv.texi cppopts.texi
# These next rules exist because the output name is not the same as
-# the input name, so our implict %.pod rule will not work.
+# the input name, so our implicit %.pod rule will not work.
gcc.pod: invoke.texi cppenv.texi cppopts.texi
$(STAMP) $@
# 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 the man pages.
install-man: installdirs lang.install-man \
$(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext) \
- $(DESTDIR)$(man1dir)/cpp$(man1ext) \
- $(DESTDIR)$(man1dir)/gcov$(man1ext) \
+ $(DESTDIR)$(man1dir)/$(CPP_INSTALL_NAME)$(man1ext) \
+ $(DESTDIR)$(man1dir)/$(GCOV_INSTALL_NAME)$(man1ext) \
$(DESTDIR)$(man7dir)/fsf-funding$(man7ext) \
$(DESTDIR)$(man7dir)/gfdl$(man7ext) \
$(DESTDIR)$(man7dir)/gpl$(man7ext)
-$(DESTDIR)$(man1dir)/%$(man1ext): doc/%.1
+$(DESTDIR)$(man7dir)/%$(man7ext): doc/%.7
-rm -f $@
-$(INSTALL_DATA) $< $@
-chmod a-x $@
-$(DESTDIR)$(man7dir)/%$(man7ext): doc/%.7
+$(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext): doc/gcc.1
-rm -f $@
- -$(INSTALL_DATA) $< $@
+ -$(INSTALL_DATA) $< $@
-chmod a-x $@
-$(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext): doc/gcc.1
+$(DESTDIR)$(man1dir)/$(CPP_INSTALL_NAME)$(man1ext): doc/cpp.1
+ -rm -f $@
+ -$(INSTALL_DATA) $< $@
+ -chmod a-x $@
+
+$(DESTDIR)$(man1dir)/$(GCOV_INSTALL_NAME)$(man1ext): doc/gcov.1
-rm -f $@
-$(INSTALL_DATA) $< $@
-chmod a-x $@
CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \
CONFIG_H="$(TCONFIG_H)" \
MAKEOVERRIDES= \
+ mkinstalldirs='$(mkinstalldirs)' \
-f libgcc.mk install
# Install multiple versions of libgcc.a, libgcov.a.
CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \
CONFIG_H="$(CONFIG_H)" \
MAKEOVERRIDES= \
+ mkinstalldirs='$(mkinstalldirs)' \
-f libgcc.mk install
# Install all the header files built in the include subdirectory.
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)