# Top level makefile fragment for GNU Fortran.           -*-makefile-*-
#   Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.

#This file is part of GNU Fortran.

#GNU Fortran 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 Fortran 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 Fortran; see the file COPYING.  If not, write to
#the Free Software Foundation, 59 Temple Place - Suite 330,
#Boston, MA 02111-1307, USA.

# 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,
# foo.uninstall,
# foo.mostlyclean, foo.clean, foo.distclean, foo.extraclean,
# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
#
# 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.
#
# $(srcdir) must be set to the gcc/ source directory (not gcc/f/).
#
# Actual name to use when installing a native compiler.
G77_INSTALL_NAME = `echo g77|sed '$(program_transform_name)'`

# Actual name to use when installing a cross-compiler.
G77_CROSS_NAME = `echo g77|sed '$(program_transform_cross_name)'`

# Some versions of `touch' (such as the version on Solaris 2.8) 
# do not correctly set the timestamp due to buggy versions of `utime'
# in the kernel.  So, we use `echo' instead. 
STAMP = echo timestamp >

#
# Define the names for selecting f77 in LANGUAGES.
# Note that it would be nice to move the dependency on g77
# into the F77 rule, but that needs a little bit of work
# to do the right thing within all.cross.
F77 f77: f771$(exeext)

# Tell GNU make to ignore these if they exist.
.PHONY: F77 f77 f77.all.build f77.all.cross \
  f77.start.encap f77.rest.encap f77.info f77.dvi \
  f77.install-normal \
  f77.install-common f77.install-info f77.install-man \
  f77.uninstall f77.mostlyclean f77.clean f77.distclean \
  f77.extraclean f77.maintainer-clean f77.rebuilt \
  f77.stage1 f77.stage2 f77.stage3 f77.stage4

g77spec.o: $(srcdir)/f/g77spec.c $(srcdir)/f/version.h $(SYSTEM_H) $(GCC_H) \
	$(CONFIG_H)
	(SHLIB_LINK='$(SHLIB_LINK)' \
	SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(DRIVER_DEFINES) \
		$(INCLUDES) $(srcdir)/f/g77spec.c)

g77version.o: $(srcdir)/f/version.c
	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -o g77version.o \
	    $(srcdir)/f/version.c

# Create the compiler driver for g77.
g77$(exeext): gcc.o g77spec.o g77version.o version.o prefix.o intl.o \
  $(LIBDEPS) $(EXTRA_GCC_OBJS)
	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ gcc.o g77spec.o g77version.o \
	   version.o prefix.o intl.o $(EXTRA_GCC_OBJS) $(LIBS)

# Create a version of the g77 driver which calls the cross-compiler.
g77-cross$(exeext): g77$(exeext)
	rm -f g77-cross$(exeext); \
	cp g77$(exeext) g77-cross$(exeext)

# The compiler itself.

F77_OBJS = f/bad.o f/bit.o f/bld.o f/com.o f/data.o f/equiv.o f/expr.o \
 f/global.o f/implic.o f/info.o f/intrin.o f/lab.o f/lex.o f/malloc.o \
 f/name.o f/parse.o f/src.o f/st.o f/sta.o f/stb.o f/stc.o \
 f/std.o f/ste.o f/storag.o f/stp.o f/str.o f/sts.o f/stt.o f/stu.o \
 f/stv.o f/stw.o f/symbol.o f/target.o f/top.o f/type.o f/version.o f/where.o

# Use loose warnings for this front end.
f-warn =

f771$(exeext): $(F77_OBJS) $(BACKEND) $(LIBDEPS)
	rm -f f771$(exeext)
	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(F77_OBJS) $(BACKEND) $(LIBS)

# Keyword tables.
f/stamp-str: f/str-1t.h f/str-1t.j f/str-2t.h f/str-2t.j \
 f/str-fo.h f/str-fo.j f/str-io.h f/str-io.j f/str-nq.h  f/str-nq.j \
 f/str-op.h f/str-op.j f/str-ot.h f/str-ot.j
	$(STAMP) f/stamp-str

f/str-1t.h f/str-1t.j: f/fini$(build_exeext) f/str-1t.fin
	./f/fini$(build_exeext) $(srcdir)/f/str-1t.fin f/str-1t.j f/str-1t.h

f/str-2t.h f/str-2t.j: f/fini$(build_exeext) f/str-2t.fin
	./f/fini$(build_exeext) $(srcdir)/f/str-2t.fin f/str-2t.j f/str-2t.h

f/str-fo.h f/str-fo.j: f/fini$(build_exeext) f/str-fo.fin
	./f/fini$(build_exeext) $(srcdir)/f/str-fo.fin f/str-fo.j f/str-fo.h

f/str-io.h f/str-io.j: f/fini$(build_exeext) f/str-io.fin
	./f/fini$(build_exeext) $(srcdir)/f/str-io.fin f/str-io.j f/str-io.h

f/str-nq.h f/str-nq.j: f/fini$(build_exeext) f/str-nq.fin
	./f/fini$(build_exeext) $(srcdir)/f/str-nq.fin f/str-nq.j f/str-nq.h

f/str-op.h f/str-op.j: f/fini$(build_exeext) f/str-op.fin
	./f/fini$(build_exeext) $(srcdir)/f/str-op.fin f/str-op.j f/str-op.h

f/str-ot.h f/str-ot.j: f/fini$(build_exeext) f/str-ot.fin
	./f/fini$(build_exeext) $(srcdir)/f/str-ot.fin f/str-ot.j f/str-ot.h

f/fini$(build_exeext): f/fini.o $(HOST_LIBDEPS)
	$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o f/fini$(build_exeext) \
		f/fini.o $(HOST_LIBS)

f/fini.o:
	$(HOST_CC) $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) \
	      -c $(srcdir)/f/fini.c $(OUTPUT_OPTION)

#
# Build hooks:

f77.all.build: g77$(exeext)
f77.all.cross: g77-cross$(exeext)
f77.start.encap: g77$(exeext)
f77.rest.encap:

f77.info: $(srcdir)/f/g77.info
f77.dvi: f/g77.dvi
f77.generated-manpages: $(srcdir)/f/g77.1

# g77 documentation.
$(srcdir)/f/g77.info: $(srcdir)/f/g77.texi $(srcdir)/f/bugs.texi \
		$(srcdir)/f/ffe.texi $(srcdir)/f/invoke.texi \
		$(srcdir)/f/news.texi  $(srcdir)/f/intdoc.texi \
		$(srcdir)/f/root.texi $(srcdir)/doc/include/fdl.texi \
		$(srcdir)/doc/include/gpl.texi \
		$(srcdir)/doc/include/funding.texi
	if [ x$(BUILD_INFO) = xinfo ]; then \
	  rm -f $(srcdir)/f/g77.info-*; \
	  cd $(srcdir)/f && $(MAKEINFO) -I../doc/include -o g77.info g77.texi; \
	else true; fi

f/g77.dvi: $(srcdir)/f/g77.texi $(srcdir)/f/bugs.texi \
		$(srcdir)/f/ffe.texi $(srcdir)/f/invoke.texi \
		$(srcdir)/f/news.texi  $(srcdir)/f/intdoc.texi \
		$(srcdir)/f/root.texi $(srcdir)/doc/include/fdl.texi \
		$(srcdir)/doc/include/gpl.texi \
		$(srcdir)/doc/include/funding.texi
	s=`cd $(srcdir); pwd`; export s; \
	cd f && $(TEXI2DVI) -I $$s/doc/include $$s/f/g77.texi

$(srcdir)/f/g77.1: $(srcdir)/f/invoke.texi
	-$(TEXI2POD) < $(srcdir)/f/invoke.texi > f/g77.pod; \
	($(POD2MAN) --section=1 f/g77.pod > f/g77.1.T$$$$ && \
	    mv -f f/g77.1.T$$$$ $(srcdir)/f/g77.1) || \
	    (rm -f f/g77.1.T$$$$ && exit 1); \
	rm -f f/g77.pod; \

# This dance is all about producing accurate documentation for g77's
# intrinsics with minimum fuss.  f/ansify appends "\n\" to C strings
# so ANSI C compilers can compile f/intdoc.h -- gcc can compile f/intdoc.in
# directly, if f/intdoc.c #include'd that, but we don't want to force
# people to install gcc just to build the documentation.  We use the
# C format for f/intdoc.in in the first place to allow a fairly "free",
# but widely known format for documentation -- basically anyone who knows
# how to write texinfo source and enclose it in C constants can handle
# it, and f/ansify allows them to not even end lines with "\n\".  So,
# essentially, the C preprocessor and compiler are used to enter the
# document snippets into a data base via name lookup, rather than duplicating
# that kind of code here.  And we use f/intdoc.c instead of straight
# texinfo in the first place so that as much information as possible
# contained in f/intrin.def can be inserted directly and reliably into
# the documentation.  That's better than replicating it, because it
# reduces the likelihood of discrepancies between the docs and the compiler
# itself, which uses f/intrin.def; in fact, many bugs in f/intrin.def have
# been found only upon reading the documentation that was automatically
# produced from it.

# If the documentation files depended on executables in the build
# tree, there'd be no way to ship a source tree with the documentation
# already generated such that `make' wouldn't attempt to rebuilt it.
# So, we punt and arrange for the documentation files to depend on the
# dependencies of the executables, not on the executables themselves.
# But then, we have to build the executables explicitly in their build
# rules.

INTDOC_DEPS = $(srcdir)/f/intdoc.c $(srcdir)/f/intrin.h $(srcdir)/f/intrin.def

$(srcdir)/f/intdoc.texi: $(INTDOC_DEPS) $(srcdir)/f/intdoc.in
	$(MAKE) f/intdoc$(build_exeext)
	f/intdoc$(build_exeext) > $(srcdir)/f/intdoc.texi

f/intdoc$(build_exeext): $(INTDOC_DEPS) f/intdoc.h0 hconfig.h $(SYSTEM_H) \
	$(HOST_LIBDEPS)
	  $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) $(INCLUDES) \
		  $(srcdir)/f/intdoc.c $(HOST_LIBS) -o f/intdoc$(build_exeext)

f/intdoc.h0: f/intdoc.in f/ansify$(build_exeext)
	f/ansify$(build_exeext) $(srcdir)/f/intdoc.in \
		< $(srcdir)/f/intdoc.in > f/intdoc.h0

f/ansify$(build_exeext): f/ansify.c hconfig.h $(SYSTEM_H)
	  $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) $(INCLUDES) \
	  	$(srcdir)/f/ansify.c -o f/ansify$(build_exeext)

$(srcdir)/f/BUGS: f/bugs0.texi f/bugs.texi f/root.texi
	cd $(srcdir)/f; $(MAKEINFO) -D BUGSONLY --no-header --no-split \
	  --no-validate -o BUGS bugs0.texi

$(srcdir)/f/NEWS: f/news0.texi f/news.texi f/root.texi
	cd $(srcdir)/f; $(MAKEINFO) -D NEWSONLY --no-header --no-split \
	  --no-validate -o NEWS news0.texi

f77.rebuilt: f/g77.info $(srcdir)/f/BUGS \
  $(srcdir)/f/NEWS 

#
# Install hooks:
# f771 is installed elsewhere as part of $(COMPILERS).

f77.install-normal:

# Install the driver program as $(target)-g77
# and also as either g77 (if native) or $(tooldir)/bin/g77.
f77.install-common: installdirs
	-if [ -f f771$(exeext) ] ; then \
	  if [ -f g77-cross$(exeext) ] ; then \
	    rm -f $(bindir)/$(G77_CROSS_NAME)$(exeext); \
	    $(INSTALL_PROGRAM) g77-cross$(exeext) $(bindir)/$(G77_CROSS_NAME)$(exeext); \
	    chmod a+x $(bindir)/$(G77_CROSS_NAME)$(exeext); \
	  else \
	    rm -f $(bindir)/$(G77_INSTALL_NAME)$(exeext); \
	    $(INSTALL_PROGRAM) g77$(exeext) $(bindir)/$(G77_INSTALL_NAME)$(exeext); \
	    chmod a+x $(bindir)/$(G77_INSTALL_NAME)$(exeext); \
	  fi ; \
	else true; fi
	@if [ -f f77-install-ok -o -f $(srcdir)/f77-install-ok ]; then \
	  echo ''; \
	  echo 'Warning: gcc no longer installs an f77 command.'; \
	  echo '         You must do so yourself.  For more information,'; \
	  echo '         read "Distributing Binaries" in the g77 docs.'; \
	  echo '         (To turn off this warning, delete the file'; \
	  echo '         f77-install-ok in the source or build directory.)'; \
	  echo ''; \
	else true; fi

# $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir
# to do the install.  The sed rule was copied from stmp-int-hdrs.
f77.install-info: f77.info installdirs
	if [ -f $(srcdir)/f/g77.info ] ; then \
	  rm -f $(infodir)/g77.info*; \
	  for f in $(srcdir)/f/g77.info*; do \
	      realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
	      $(INSTALL_DATA) $$f $(infodir)/$$realfile; \
	  done; \
	  chmod a-x $(infodir)/g77.info*; \
	else true; fi
	@if [ -f $(srcdir)/f/g77.info ] ; then \
	  if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
	    echo " install-info --info-dir=$(infodir) $(infodir)/g77.info"; \
	    install-info --info-dir=$(infodir) $(infodir)/g77.info || : ; \
	  else : ; fi; \
	else : ; fi

f77.install-man: $(GENERATED_MANPAGES) installdirs
	-if [ -f f771$(exeext) ] ; then \
	  if [ -f g77-cross$(exeext) ] ; then \
	    rm -f $(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
	    $(INSTALL_DATA) $(srcdir)/f/g77.1 $(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
	    chmod a-x $(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
	  else \
	    rm -f $(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
	    $(INSTALL_DATA) $(srcdir)/f/g77.1 $(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
	    chmod a-x $(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
	  fi; \
	else true; fi

f77.uninstall: installdirs
	if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
	  echo " install-info --delete --info-dir=$(infodir) $(infodir)/g77.info"; \
	  install-info --delete --info-dir=$(infodir) $(infodir)/g77.info || : ; \
	else : ; fi
	rm -rf $(bindir)/$(G77_INSTALL_NAME)$(exeext); \
	rm -rf $(bindir)/$(G77_CROSS_NAME)$(exeext); \
	rm -rf $(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
	rm -rf $(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
	rm -rf $(infodir)/g77.info*
#
# Clean hooks:
# A lot of the ancillary files are deleted by the main makefile.
# We just have to delete files specific to us.

f77.mostlyclean:
	-rm -f f/*$(objext)
	-rm -f f/fini$(build_exeext) f/stamp-str f/str-*.h f/str-*.j
	-rm -f f/intdoc$(build_exeext) f/ansify$(build_exeext) f/intdoc.h0
	-rm -f g77.aux g77.cps g77.ky g77.toc g77.vr g77.fn g77.kys \
	       g77.pg g77.tp g77.vrs g77.cp g77.fns g77.log g77.pgs g77.tps 
f77.clean:
	-rm -f g77spec.o g77version.o
f77.distclean:
	-rm -f f/Makefile
f77.extraclean:
f77.maintainer-clean:
	-rm -f f/g77.info* f/g77.*aux f/TAGS f/BUGS f/NEWS f/intdoc.texi
#
# Stage hooks:
# The main makefile has already created stage?/f.

G77STAGESTUFF = f/*$(objext) f/fini$(build_exeext) f/stamp-str \
  f/str-*.h f/str-*.j g77spec.o g77version.o

f77.stage1: stage1-start
	-mv -f $(G77STAGESTUFF) stage1/f

f77.stage2: stage2-start
	-mv -f $(G77STAGESTUFF) stage2/f

f77.stage3: stage3-start
	-mv -f $(G77STAGESTUFF) stage3/f

f77.stage4: stage4-start
	-mv -f $(G77STAGESTUFF) stage4/f

#
# .o: .h dependencies.

f/bad.o: f/bad.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/bad.h f/bad.def f/where.h \
 glimits.h f/top.h f/malloc.h flags.h f/com.h f/com-rt.def $(TREE_H) f/bld.h \
 f/bld-op.def f/bit.h f/info.h f/info-b.def f/info-k.def f/info-w.def \
 f/target.h f/lex.h f/type.h f/intrin.h f/intrin.def f/lab.h f/symbol.h \
 f/symbol.def f/equiv.h f/storag.h f/global.h f/name.h toplev.h
f/bit.o: f/bit.c f/proj.h $(CONFIG_H) $(SYSTEM_H) glimits.h f/bit.h \
 f/malloc.h
f/bld.o: f/bld.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/bld.h f/bld-op.def f/bit.h \
 f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h f/info-b.def f/info-k.def \
 f/info-w.def f/target.h f/bad.h f/bad.def f/where.h glimits.h f/top.h f/lex.h \
 f/type.h f/lab.h f/storag.h f/symbol.h f/symbol.def f/equiv.h f/global.h \
 f/name.h f/intrin.h f/intrin.def
f/com.o: f/com.c f/proj.h $(CONFIG_H) $(SYSTEM_H) flags.h $(RTL_H) $(TREE_H) \
 output.h convert.h f/com.h f/com-rt.def f/bld.h f/bld-op.def f/bit.h \
 f/malloc.h f/info.h f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h \
 f/bad.def f/where.h glimits.h f/top.h f/lex.h f/type.h f/intrin.h \
 f/intrin.def f/lab.h f/symbol.h f/symbol.def f/equiv.h f/storag.h f/global.h \
 f/name.h f/expr.h f/implic.h f/src.h f/st.h $(GGC_H) toplev.h diagnostic.h \
 langhooks.h langhooks-def.h
f/data.o: f/data.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/data.h f/bld.h f/bld-op.def \
 f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h f/info-b.def \
 f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def f/where.h glimits.h \
 f/top.h f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h f/symbol.def f/equiv.h \
 f/global.h f/name.h f/intrin.h f/intrin.def f/expr.h f/st.h
f/equiv.o: f/equiv.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/equiv.h f/bld.h \
 f/bld-op.def f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h \
 f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def f/where.h \
 glimits.h f/top.h f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h f/symbol.def \
 f/global.h f/name.h f/intrin.h f/intrin.def f/data.h
f/expr.o: f/expr.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/expr.h f/bld.h f/bld-op.def \
 f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h f/info-b.def \
 f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def f/where.h glimits.h \
 f/top.h f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h f/symbol.def f/equiv.h \
 f/global.h f/name.h f/intrin.h f/intrin.def f/implic.h f/src.h f/st.h \
 f/stamp-str
f/fini.o: f/fini.c f/proj.h hconfig.h $(SYSTEM_H) f/malloc.h
f/global.o: f/global.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/global.h f/info.h \
 f/info-b.def f/info-k.def f/info-w.def f/target.h $(TREE_H) f/bad.h f/bad.def \
 f/where.h glimits.h f/top.h f/malloc.h f/lex.h f/type.h f/name.h f/symbol.h \
 f/symbol.def f/bld.h f/bld-op.def f/bit.h f/com.h f/com-rt.def f/lab.h \
 f/storag.h f/intrin.h f/intrin.def f/equiv.h
f/implic.o: f/implic.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/implic.h f/info.h \
 f/info-b.def f/info-k.def f/info-w.def f/target.h $(TREE_H) f/bad.h f/bad.def \
 f/where.h glimits.h f/top.h f/malloc.h f/lex.h f/type.h f/symbol.h \
 f/symbol.def f/bld.h f/bld-op.def f/bit.h f/com.h f/com-rt.def f/lab.h \
 f/storag.h f/intrin.h f/intrin.def f/equiv.h f/global.h f/name.h f/src.h
f/info.o: f/info.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/info.h f/info-b.def \
 f/info-k.def f/info-w.def f/target.h $(TREE_H) f/bad.h f/bad.def f/where.h \
 glimits.h f/top.h f/malloc.h f/lex.h f/type.h
f/intrin.o: f/intrin.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/intrin.h \
 f/intrin.def f/bld.h f/bld-op.def f/bit.h f/malloc.h f/com.h f/com-rt.def \
 $(TREE_H) f/info.h f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h \
 f/bad.def f/where.h glimits.h f/top.h f/lex.h f/type.h f/lab.h f/storag.h \
 f/symbol.h f/symbol.def f/equiv.h f/global.h f/name.h f/expr.h f/src.h
f/lab.o: f/lab.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/lab.h f/com.h f/com-rt.def \
 $(TREE_H) f/bld.h f/bld-op.def f/bit.h f/malloc.h f/info.h f/info-b.def \
 f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def f/where.h glimits.h \
 f/top.h f/lex.h f/type.h f/intrin.h f/intrin.def f/symbol.h f/symbol.def \
 f/equiv.h f/storag.h f/global.h f/name.h
f/lex.o: f/lex.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/top.h f/malloc.h f/where.h \
 glimits.h f/bad.h f/bad.def f/com.h f/com-rt.def $(TREE_H) f/bld.h \
 f/bld-op.def f/bit.h f/info.h f/info-b.def f/info-k.def f/info-w.def \
 f/target.h f/lex.h f/type.h f/intrin.h f/intrin.def f/lab.h f/symbol.h \
 f/symbol.def f/equiv.h f/storag.h f/global.h f/name.h f/src.h flags.h \
 debug.h input.h toplev.h output.h $(GGC_H)
f/malloc.o: f/malloc.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/malloc.h
f/name.o: f/name.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/bad.h f/bad.def f/where.h \
 glimits.h f/top.h f/malloc.h f/name.h f/global.h f/info.h f/info-b.def \
 f/info-k.def f/info-w.def f/target.h $(TREE_H) f/lex.h f/type.h f/symbol.h \
 f/symbol.def f/bld.h f/bld-op.def f/bit.h f/com.h f/com-rt.def f/lab.h \
 f/storag.h f/intrin.h f/intrin.def f/equiv.h f/src.h
f/parse.o: f/parse.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/top.h f/malloc.h \
 f/where.h glimits.h f/com.h f/com-rt.def $(TREE_H) f/bld.h f/bld-op.def \
 f/bit.h f/info.h f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h \
 f/bad.def f/lex.h f/type.h f/intrin.h f/intrin.def f/lab.h f/symbol.h \
 f/symbol.def f/equiv.h f/storag.h f/global.h f/name.h f/version.h flags.h
f/src.o: f/src.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/src.h f/bad.h f/bad.def \
 f/where.h glimits.h f/top.h f/malloc.h
f/st.o: f/st.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/st.h f/bad.h f/bad.def \
 f/where.h glimits.h f/top.h f/malloc.h f/lex.h f/symbol.h f/symbol.def \
 f/bld.h f/bld-op.def f/bit.h f/com.h f/com-rt.def $(TREE_H) f/info.h \
 f/info-b.def f/info-k.def f/info-w.def f/target.h f/type.h f/lab.h \
 f/storag.h f/intrin.h f/intrin.def f/equiv.h f/global.h f/name.h f/sta.h \
 f/stamp-str f/stb.h f/expr.h f/stp.h f/stt.h f/stc.h f/std.h \
 f/stv.h f/stw.h f/ste.h f/sts.h f/stu.h
f/sta.o: f/sta.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/sta.h f/bad.h f/bad.def \
 f/where.h glimits.h f/top.h f/malloc.h f/lex.h f/stamp-str f/symbol.h \
 f/symbol.def f/bld.h f/bld-op.def f/bit.h f/com.h f/com-rt.def $(TREE_H) \
 f/info.h f/info-b.def f/info-k.def f/info-w.def f/target.h f/type.h f/lab.h \
 f/storag.h f/intrin.h f/intrin.def f/equiv.h f/global.h f/name.h f/implic.h \
 f/stb.h f/expr.h f/stp.h f/stt.h f/stc.h f/std.h f/stv.h f/stw.h
f/stb.o: f/stb.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/stb.h f/bad.h f/bad.def \
 f/where.h glimits.h f/top.h f/malloc.h f/expr.h f/bld.h f/bld-op.def f/bit.h \
 f/com.h f/com-rt.def $(TREE_H) f/info.h f/info-b.def f/info-k.def \
 f/info-w.def f/target.h f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h \
 f/symbol.def f/equiv.h f/global.h f/name.h f/intrin.h f/intrin.def f/stp.h \
 f/stt.h f/stamp-str f/src.h f/sta.h f/stc.h
f/stc.o: f/stc.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/stc.h f/bad.h f/bad.def \
 f/where.h glimits.h f/top.h f/malloc.h f/bld.h f/bld-op.def f/bit.h f/com.h \
 f/com-rt.def $(TREE_H) f/info.h f/info-b.def f/info-k.def f/info-w.def \
 f/target.h f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h f/symbol.def \
 f/equiv.h f/global.h f/name.h f/intrin.h f/intrin.def f/expr.h f/stp.h \
 f/stt.h f/stamp-str f/data.h f/implic.h f/src.h f/sta.h f/std.h f/stv.h f/stw.h
f/std.o: f/std.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/std.h f/bld.h f/bld-op.def \
 f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h f/info-b.def \
 f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def f/where.h glimits.h \
 f/top.h f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h f/symbol.def f/equiv.h \
 f/global.h f/name.h f/intrin.h f/intrin.def f/stp.h f/stt.h f/stamp-str \
 f/stv.h f/stw.h f/sta.h f/ste.h f/sts.h
f/ste.o: f/ste.c f/proj.h $(CONFIG_H) $(SYSTEM_H) $(RTL_H) toplev.h f/ste.h \
 f/bld.h f/bld-op.def f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H)	\
 f/info.h f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def \
 f/where.h glimits.h f/top.h f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h \
 f/symbol.def f/equiv.h f/global.h f/name.h f/intrin.h f/intrin.def f/stp.h \
 f/stt.h f/stamp-str f/sts.h f/stv.h f/stw.h f/expr.h f/sta.h $(GGC_H)
f/storag.o: f/storag.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/storag.h f/bld.h  \
 f/bld-op.def f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) \
 f/info.h f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h \
 f/bad.def f/where.h glimits.h f/top.h f/lex.h f/type.h f/lab.h \
 f/symbol.h f/symbol.def f/equiv.h f/global.h f/name.h f/intrin.h \
 f/intrin.def f/data.h
f/stp.o: f/stp.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/stp.h f/bld.h f/bld-op.def \
 f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h \
 f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def \
 f/where.h glimits.h f/top.h f/lex.h f/type.h f/lab.h f/storag.h \
 f/symbol.h f/symbol.def f/equiv.h f/global.h f/name.h f/intrin.h \
 f/intrin.def f/stt.h
f/str.o: f/str.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/src.h f/bad.h f/bad.def \
 f/where.h glimits.h f/top.h f/malloc.h f/stamp-str f/lex.h
f/sts.o: f/sts.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/sts.h f/malloc.h f/com.h \
 f/com-rt.def $(TREE_H) f/bld.h f/bld-op.def f/bit.h f/info.h \
 f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def \
 f/where.h glimits.h f/top.h f/lex.h f/type.h f/intrin.h f/intrin.def \
 f/lab.h f/symbol.h f/symbol.def f/equiv.h f/storag.h f/global.h \
 f/name.h
f/stt.o: f/stt.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/stt.h f/top.h f/malloc.h \
 f/where.h glimits.h f/bld.h f/bld-op.def f/bit.h f/com.h f/com-rt.def \
 $(TREE_H) f/info.h f/info-b.def f/info-k.def f/info-w.def f/target.h \
 f/bad.h f/bad.def f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h \
 f/symbol.def f/equiv.h f/global.h f/name.h f/intrin.h f/intrin.def \
 f/stp.h f/expr.h f/sta.h f/stamp-str
f/stu.o: f/stu.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/bld.h f/bld-op.def f/bit.h \
 f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h f/info-b.def \
 f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def f/where.h \
 glimits.h f/top.h f/lex.h f/type.h f/lab.h f/storag.h f/symbol.h \
 f/symbol.def f/equiv.h f/global.h f/name.h f/intrin.h f/intrin.def \
 f/implic.h f/stu.h f/sta.h f/stamp-str
f/stv.o: f/stv.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/stv.h f/lab.h f/com.h \
 f/com-rt.def $(TREE_H) f/bld.h f/bld-op.def f/bit.h f/malloc.h \
 f/info.h f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h \
 f/bad.def f/where.h glimits.h f/top.h f/lex.h f/type.h f/intrin.h \
 f/intrin.def f/symbol.h f/symbol.def f/equiv.h f/storag.h f/global.h \
 f/name.h
f/stw.o: f/stw.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/stw.h f/bld.h f/bld-op.def \
 f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h \
 f/info-b.def f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def \
 f/where.h glimits.h f/top.h f/lex.h f/type.h f/lab.h f/storag.h \
 f/symbol.h f/symbol.def f/equiv.h f/global.h f/name.h f/intrin.h \
 f/intrin.def f/stv.h f/sta.h f/stamp-str
f/symbol.o: f/symbol.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/symbol.h \
 f/symbol.def f/bld.h f/bld-op.def f/bit.h f/malloc.h f/com.h \
 f/com-rt.def $(TREE_H) f/info.h f/info-b.def f/info-k.def \
 f/info-w.def f/target.h f/bad.h f/bad.def f/where.h glimits.h f/top.h \
 f/lex.h f/type.h f/lab.h f/storag.h f/intrin.h f/intrin.def f/equiv.h \
 f/global.h f/name.h f/src.h f/st.h
f/target.o: f/target.c f/proj.h $(CONFIG_H) $(SYSTEM_H) glimits.h f/target.h \
 $(TREE_H) f/bad.h f/bad.def f/where.h f/top.h f/malloc.h f/info.h \
 f/info-b.def f/info-k.def f/info-w.def f/type.h f/lex.h
f/top.o: f/top.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/top.h f/malloc.h f/where.h \
 glimits.h f/bad.h f/bad.def f/bit.h f/bld.h f/bld-op.def f/com.h \
 f/com-rt.def $(TREE_H) f/info.h f/info-b.def f/info-k.def \
 f/info-w.def f/target.h f/lex.h f/type.h f/lab.h f/storag.h \
 f/symbol.h f/symbol.def f/equiv.h f/global.h f/name.h f/intrin.h \
 f/intrin.def f/data.h f/expr.h f/implic.h f/src.h f/st.h flags.h \
 toplev.h
f/type.o: f/type.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/type.h f/malloc.h
f/version.o: f/version.c f/version.h
f/where.o: f/where.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/where.h glimits.h f/top.h \
 f/malloc.h f/lex.h $(GGC_H)
