diff options
author | fx <fx@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-06-15 07:37:33 +0000 |
---|---|---|
committer | fx <fx@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-06-15 07:37:33 +0000 |
commit | 298f96db2201fe2f5f3e8e2d20c17b9d692ab939 (patch) | |
tree | a3ba80223dd6d332b89188fd52d4e3cef4b3c47a /gcc/f/Make-lang.in | |
parent | abce7dcded377b8fc20aaf668f4184d0e8af6b69 (diff) | |
download | gcc-298f96db2201fe2f5f3e8e2d20c17b9d692ab939.tar.gz |
Thu May 28 21:32:18 1998 Craig Burley <burley@gnu.org>
Restore circa-0.5.22 capabilities of `g77' driver:
* Make-lang.in (g77spec.o): Depend on f/version.h.
(g77version.o): New rule to compile g77 version info.
(g77$(exeext)): Depend on and link in g77version.o.
* g77spec.c: Rewrite to be more like 0.5.22 version
of g77.c, making filtering of command line smarter
so mixed Fortran and C (etc.) can be compiled, verbose
version info can be obtained, etc.
* lang-specs.h (f77-version): New "language" to support
"g77 -v" command under new gcc 2.8 regime.
* lex.c (ffelex_file_fixed): If -fnull-version, just
substitute a "source file" that prints out version info.
* top.c, top.h: Support -fnull-version.
* lang-specs.h: Use "%O" instead of OO macro to specify
object extension. Remove old stringizing cruft.
* Make-lang.in (g77.c, g77spec.o, g77.o, g77$(exeext),
g77-cross$(exeext), f771,
$(srcdir)/f/g77.info, $(srcdir)/f/g77.dvi,
$(srcdir)/f/intdoc.texi,
f77.install-common, f77.install-info, f77.install-man,
f77.uninstall, $(G77STAGESTUFF), f77.stage1, f77.stage2,
f77.stage3, f77.stage4, f77.distdir): Don't do anything
unless user specified "f77" or "F77" in $LANGUAGES either
during configuration or explicitly. For convenience of
various tests and to work around lack of the assignment
"LANGUAGES=$(BOOT_LANGUAGES)" in the "make stage1" command
of "make bootstrap" in gcc, use a touch file named "lang-f77"
to communicate whether this is the case.
* Make-lang.in (F77_FLAGS_TO_PASS): Delete this macro,
replace with minimal expansion of its former self in
each of the two instances where it was used.
* Makefile.in (HOST_CC): Delete this definition.
* com.c (index, rindex): Delete these declarations.
* proj.h: (isascii): Delete this.
* Make-lang.in (f77.install-common): Warn if `f77-install-ok'
flag-file exists, since it no longer triggers any activity.
Rename libf2c.a and f2c.h to libg2c.a and g2c.h,
normalize and simplify g77/libg2c build process:
* Make-lang.in: Remove all support for overwriting
/usr/bin/f77 etc., or whatever the actual names are
via $(prefix) and $(local_prefix). (g++ overwrites
/usr/bin/c++, but then it's often the only C++ compiler
on the system; f77 often exists on systems that are
installing g77.)
(f77.realclean): Remove obsolete target.
(g77.c, g77$(exeext)): Minor changes to look more like g++'s
stuff.
(f771): Now built with srcdir=gcc/f, not srcdir=gcc, to be
more like g++ and such.
(f/Makefile): Removed, as g++ doesn't need this rule.
(f77.install-common): No longer install f77, etc.
(f77.install-man): No longer install f77.1.
(f77.uninstall): No longer uninstall f77, f77.1, etc.
(f77.stage1, f77.stage2, f77.stage3, f77.stage4): Do work
only if "f77" appears in $(LANGUAGES).
(Note: gcc's Makefile.in's bootstrap target should set
LANGUAGES=$(BOOT_LANGUAGES) when making the stage1 target.)
* Makefile.in: Update vis-a-vis gcc/cp/Makefile.in.
(none): Remove.
(g77-only): Relocate.
(all.indirect, f771, *.o): Now assumes current directory
is this dir (gcc/f), not the parent directory.
(TAGS): Remove "echo 'parse.y,0' >> TAGS ;" line.
* config-lang.in: Delete commented-out code.
Fix stagestuff definition. Add more stuff to
diff_excludes definition. Don't create any directories.
Set outputs to f/Makefile, to get variable substition
to happen (what does that really do, anyway?!).
* g77spec.c: Rename libf2c to libg2c.
* com.h: Remove all of the gcc back-end decls,
since egcs should have all of them correct.
* com.c: Include "proj.h" before anything else,
as that's how things are supposed to work.
* ste.c: Ditto.
* bad.c: Include "flags.j" here, since some diagnostics
check flag_pedantic_errors.
* Makefile.in (f/*.o): Rebuild dependencies via
deps-kinda.
* output.j: New source file.
* Make-lang.in (F77_SRCS): Update accordingly.
* Makefile.in (OUTPUT_H): Ditto.
(deps-kinda): Ditto.
* com.c: Include "output.j" here.
* lex.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20506 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/f/Make-lang.in')
-rw-r--r-- | gcc/f/Make-lang.in | 268 |
1 files changed, 149 insertions, 119 deletions
diff --git a/gcc/f/Make-lang.in b/gcc/f/Make-lang.in index 4ad6d825c1e..b199b1a9f93 100644 --- a/gcc/f/Make-lang.in +++ b/gcc/f/Make-lang.in @@ -1,5 +1,5 @@ # Top level makefile fragment for GNU Fortran. -*-makefile-*- -# Copyright (C) 1995-1997 Free Software Foundation, Inc. +# Copyright (C) 1995-1998 Free Software Foundation, Inc. #This file is part of GNU Fortran. @@ -15,8 +15,8 @@ #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. +#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: @@ -32,55 +32,16 @@ # # It should also provide rules for: # -# - making any compiler driver (eg: g77) -# - the compiler proper (eg: f771) +# - 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/). # -# Extra flags to pass to recursive makes (and to sub-configure). -# Use different quoting rules compared with FLAGS_TO_PASS so we can use -# this to set environment variables as well -# Note that GCC_FOR_TARGET, GCC_FLAGS aren't in here -- treated separately. -F77_FLAGS_TO_PASS = \ - CROSS="$(CROSS)" \ - AR_FLAGS="$(AR_FLAGS)" \ - AR="$(AR)" \ - BISON="$(BISON)" \ - BISONFLAGS="$(BISONFLAGS)" \ - CC="$(CC)" \ - CFLAGS="$(CFLAGS)" \ - X_CFLAGS="$(X_CFLAGS)" \ - LDFLAGS="$(LDFLAGS)" \ - LEX="$(LEX)" \ - LEXFLAGS="$(LEXFLAGS)" \ - MAKEINFO="$(MAKEINFO)" \ - MAKEINFOFLAGS="$(MAKEINFOFLAGS)" \ - RANLIB="$(RANLIB)" \ - RANLIB_TEST="$(RANLIB_TEST)" \ - SHELL="$(SHELL)" \ - exec_prefix="$(exec_prefix)" \ - prefix="$(prefix)" \ - tooldir="$(tooldir)" \ - bindir="$(bindir)" \ - libsubdir="$(libsubdir)" -# "F77_FOR_BUILD=$(F77_FOR_BUILD)" \ -# "F77FLAGS=$(F77FLAGS)" \ -# "F77_FOR_TARGET=$(F77_FOR_TARGET)" - -# This flag controls whether to install (overwrite) f77 on this system, -# and also whether to uninstall it when using the uninstall target. -# As shipped, the flag is a test of whether the `f77_install_ok' -# file exists in the build or source directories (top level), but -# you can just change it here if you like. -F77_INSTALL_FLAG = [ -f f77-install-ok -o -f $(srcdir)/f77-install-ok ] - -# Actual names to use when installing a native compiler. -F77_INSTALL_NAME = `t='$(program_transform_name)'; echo f77 | sed $$t` +# Actual name to use when installing a native compiler. G77_INSTALL_NAME = `t='$(program_transform_name)'; echo g77 | sed $$t` -# Actual names to use when installing a cross-compiler. -F77_CROSS_NAME = `t='$(program_transform_cross_name)'; echo f77 | sed $$t` +# Actual name to use when installing a cross-compiler. G77_CROSS_NAME = `t='$(program_transform_cross_name)'; echo g77 | sed $$t` # # Define the names for selecting f77 in LANGUAGES. @@ -95,34 +56,62 @@ F77 f77: f771$(exeext) f77.install-normal \ f77.install-common f77.install-info f77.install-man \ f77.uninstall f77.mostlyclean f77.clean f77.distclean \ - f77.maintainer-clean f77.realclean f77.stage1 f77.stage2 f77.stage3 \ - f77.stage4 f77.distdir f77.rebuilt + f77.extraclean f77.maintainer-clean f77.distdir f77.rebuilt \ + f77.stage1 f77.stage2 f77.stage3 f77.stage4 g77.c: $(srcdir)/gcc.c - -rm -f $@ - $(LN_S) $(srcdir)/gcc.c $@ + case "$(LANGUAGES)" in \ + *[fF]77*) touch lang-f77;; \ + *) rm -f lang-f77;; \ + esac + if [ -f lang-f77 ]; then \ + rm -f g77.c; \ + $(LN_S) $(srcdir)/gcc.c g77.c; \ + fi -g77spec.o: $(srcdir)/f/g77spec.c - $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/f/g77spec.c +g77spec.o: $(srcdir)/f/g77spec.c $(srcdir)/f/version.h + case "$(LANGUAGES)" in \ + *[fF]77*) touch lang-f77;; \ + *) rm -f lang-f77;; \ + esac + if [ -f lang-f77 ]; then \ + $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/f/g77spec.c; \ + fi + +g77version.o: $(srcdir)/f/version.c + case "$(LANGUAGES)" in \ + *[fF]77*) touch lang-f77;; \ + *) rm -f lang-f77;; \ + esac + if [ -f lang-f77 ]; then \ + $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -o g77version.o \ + $(srcdir)/f/version.c; \ + fi # N.B.: This is a copy of the gcc.o rule, with -DLANG_SPECIFIC_DRIVER added. # It'd be nice if we could find an easier way to do this---rather than have # to track changes to the toplevel gcc Makefile as well. # We depend on g77.c last, to make it obvious where it came from. g77.o: $(CONFIG_H) multilib.h config.status $(lang_specs_files) g77.c - $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ - $(DRIVER_DEFINES) \ - -DLANG_SPECIFIC_DRIVER -c g77.c + if [ -f lang-f77 ]; then \ + $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(DRIVER_DEFINES) \ + -DLANG_SPECIFIC_DRIVER -c g77.c; \ + fi # Create the compiler driver for g77. -g77$(exeext): g77.o g77spec.o version.o choose-temp.o pexecute.o prefix.o $(LIBDEPS) $(EXTRA_GCC_OBJS) - $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ g77.o g77spec.o prefix.o version.o \ - choose-temp.o pexecute.o $(EXTRA_GCC_OBJS) $(LIBS) +g77$(exeext): g77.o g77spec.o g77version.o version.o choose-temp.o pexecute.o prefix.o \ + $(LIBDEPS) $(EXTRA_GCC_OBJS) + if [ -f lang-f77 ]; then \ + $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ g77.o g77spec.o g77version.o \ + version.o choose-temp.o pexecute.o prefix.o $(EXTRA_GCC_OBJS) $(LIBS); \ + fi # 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) + if [ -f lang-f77 ]; then \ + rm -f g77-cross$(exeext); \ + cp g77$(exeext) g77-cross$(exeext); \ + fi F77_SRCS = \ $(srcdir)/f/assert.j \ @@ -170,6 +159,7 @@ F77_SRCS = \ $(srcdir)/f/malloc.h \ $(srcdir)/f/name.c \ $(srcdir)/f/name.h \ + $(srcdir)/f/output.j \ $(srcdir)/f/parse.c \ $(srcdir)/f/proj.c \ $(srcdir)/f/proj.h \ @@ -228,11 +218,11 @@ F77_SRCS = \ $(srcdir)/f/where.c \ $(srcdir)/f/where.h -f771$(exeext): $(P) $(F77_SRCS) $(LIBDEPS) stamp-objlist f/Makefile - $(MAKE) -f f/Makefile $(FLAGS_TO_PASS) VPATH=$(srcdir) srcdir=$(srcdir) f771$(exeext) - -f/Makefile: $(srcdir)/f/Makefile.in $(srcdir)/configure - $(SHELL) config.status +f771$(exeext): $(P) $(F77_SRCS) $(LIBDEPS) stamp-objlist + touch lang-f77 + cd f; $(MAKE) $(FLAGS_TO_PASS) \ + HOST_CC="$(HOST_CC)" HOST_CFLAGS="$(HOST_CFLAGS)" HOST_CPPFLAGS="$(HOST_CPPFLAGS)" \ + ../f771$(exeext) # # Build hooks: @@ -249,12 +239,25 @@ f77.dvi: f/g77.dvi f/g77.info: $(srcdir)/f/g77.texi $(srcdir)/f/bugs.texi \ $(srcdir)/f/g77install.texi $(srcdir)/f/news.texi \ $(srcdir)/f/intdoc.texi - $(MAKEINFO) -I$(srcdir)/f -o f/g77.info $(srcdir)/f/g77.texi + case "$(LANGUAGES)" in \ + *[fF]77*) touch lang-f77;; \ + *) rm -f lang-f77;; \ + esac + if [ -f lang-f77 ]; then \ + rm $(srcdir)/f/g77.info-*; \ + $(MAKEINFO) -I$(srcdir)/f -o f/g77.info $(srcdir)/f/g77.texi; \ + fi f/g77.dvi: $(srcdir)/f/g77.texi $(srcdir)/f/bugs.texi \ - $(srcdir)/f/g77install.texi $(srcdir)/f/news.texi \ - $(srcdir)/f/intdoc.texi - $(TEXI2DVI) -I$(srcdir)/f -o f/g77.dvi $(srcdir)/f/g77.texi + $(srcdir)/f/g77install.texi $(srcdir)/f/news.texi \ + $(srcdir)/f/intdoc.texi + case "$(LANGUAGES)" in \ + *[fF]77*) touch lang-f77;; \ + *) rm -f lang-f77;; \ + esac + if [ -f lang-f77 ]; then \ + $(TEXI2DVI) -I$(srcdir)/f -o f/g77.dvi $(srcdir)/f/g77.texi; \ + fi # This dance is all about producing accurate documentation for g77's # intrinsics with minimum fuss. f/ansify appends "\n\" to C strings @@ -276,13 +279,19 @@ f/g77.dvi: $(srcdir)/f/g77.texi $(srcdir)/f/bugs.texi \ # been found only upon reading the documentation that was automatically # produced from it. $(srcdir)/f/intdoc.texi: f/intdoc.c f/intdoc.in f/ansify.c f/intrin.def f/intrin.h - $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) \ - `echo $(srcdir)/f/ansify.c | sed 's,^\./,,'` -o f/ansify - f/ansify < $(srcdir)/f/intdoc.in > f/intdoc.h0 $(srcdir)/f/intdoc.in - $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -I./f \ - `echo $(srcdir)/f/intdoc.c | sed 's,^\./,,'` -o f/intdoc - f/intdoc > $(srcdir)/f/intdoc.texi - rm f/intdoc f/ansify f/intdoc.h0 + case "$(LANGUAGES)" in \ + *[fF]77*) touch lang-f77;; \ + *) rm -f lang-f77;; \ + esac + if [ -f lang-f77 ]; then \ + $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) \ + `echo $(srcdir)/f/ansify.c | sed 's,^\./,,'` -o f/ansify; \ + f/ansify < $(srcdir)/f/intdoc.in > f/intdoc.h0 $(srcdir)/f/intdoc.in; \ + $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -I./f \ + `echo $(srcdir)/f/intdoc.c | sed 's,^\./,,'` -o f/intdoc; \ + f/intdoc > $(srcdir)/f/intdoc.texi; \ + rm f/intdoc f/ansify f/intdoc.h0; \ + fi $(srcdir)/f/BUGS: f/bugs0.texi f/bugs.texi cd $(srcdir)/f; $(MAKEINFO) -D BUGSONLY --no-header --no-split \ @@ -308,30 +317,39 @@ f77.install-normal: # Install the driver program as $(target)-g77 # and also as either g77 (if native) or $(tooldir)/bin/g77. f77.install-common: - -if [ -f f771$(exeext) ] ; then \ + case "$(LANGUAGES)" in \ + *[fF]77*) touch lang-f77;; \ + *) rm -f lang-f77;; \ + esac + -if [ -f lang-f77 -a -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); \ - if $(F77_INSTALL_FLAG) ; then \ - rm -f $(bindir)/$(F77_CROSS_NAME)$(exeext); \ - $(LN) $(bindir)/$(G77_CROSS_NAME)$(exeext) $(bindir)/$(F77_CROSS_NAME)$(exeext); \ - fi ; \ 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); \ - if $(F77_INSTALL_FLAG) ; then \ - rm -f $(bindir)/$(F77_INSTALL_NAME)$(exeext); \ - $(LN) $(bindir)/$(G77_INSTALL_NAME)$(exeext) $(bindir)/$(F77_INSTALL_NAME)$(exeext); \ - fi ; \ fi ; \ else true; fi + @if [ -f f77-install-ok -o -f $(srcdir)/f77-install-ok ]; then \ + echo ''; \ + echo 'Warning: egcs no longer installs an f77 command.'; \ + echo ' You must do so yourself. For more information,'; \ + echo ' read "Distributing Binaries" in the egcs g77 docs.'; \ + echo ' (To turn off this warning, delete the file'; \ + echo ' f77-install-ok in the source or build directory.)'; \ + echo ''; \ + 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 - if [ -f f/g77.info ] ; then \ + case "$(LANGUAGES)" in \ + *[fF]77*) touch lang-f77;; \ + *) rm -f lang-f77;; \ + esac + if [ -f lang-f77 -a -f f/g77.info ] ; then \ rm -f $(infodir)/g77.info*; \ for f in f/g77.info*; do \ realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \ @@ -347,44 +365,40 @@ f77.install-info: f77.info else : ; fi f77.install-man: $(srcdir)/f/g77.1 - -if [ -f f771$(exeext) ] ; then \ + case "$(LANGUAGES)" in \ + *[fF]77*) touch lang-f77;; \ + *) rm -f lang-f77;; \ + esac + -if [ -f lang-f77 -a -f f771$(exeext) ] ; then \ if [ -f g77-cross$(exeext) ] ; then \ rm -f $(mandir)/$(G77_CROSS_NAME)$(manext); \ $(INSTALL_DATA) $(srcdir)/f/g77.1 $(mandir)/$(G77_CROSS_NAME)$(manext); \ chmod a-x $(mandir)/$(G77_CROSS_NAME)$(manext); \ - if $(F77_INSTALL_FLAG) ; then \ - rm -f $(mandir)/$(F77_CROSS_NAME)$(manext); \ - $(LN) $(mandir)/$(G77_CROSS_NAME)$(manext) $(mandir)/$(F77_CROSS_NAME)$(manext); \ - fi ;\ else \ rm -f $(mandir)/$(G77_INSTALL_NAME)$(manext); \ $(INSTALL_DATA) $(srcdir)/f/g77.1 $(mandir)/$(G77_INSTALL_NAME)$(manext); \ chmod a-x $(mandir)/$(G77_INSTALL_NAME)$(manext); \ - if $(F77_INSTALL_FLAG) ; then \ - rm -f $(mandir)/$(F77_INSTALL_NAME)$(manext); \ - $(LN) $(mandir)/$(G77_INSTALL_NAME)$(manext) $(mandir)/$(F77_INSTALL_NAME)$(manext); \ - fi ;\ fi; \ else true; fi f77.uninstall: + case "$(LANGUAGES)" in \ + *[fF]77*) touch lang-f77;; \ + *) rm -f lang-f77;; \ + esac @if [ -f lang-f77 ] ; then \ 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; \ else : ; fi - -if $(F77_INSTALL_FLAG) ; then \ - rm -rf $(bindir)/$(F77_INSTALL_NAME)$(exeext) ; \ - rm -rf $(bindir)/$(F77_CROSS_NAME)$(exeext) ; \ - rm -rf $(mandir)/$(F77_INSTALL_NAME)$(manext) ; \ - rm -rf $(mandir)/$(F77_CROSS_NAME)$(manext) ; \ + -if [ -f lang-f77 ]; then \ + rm -rf $(bindir)/$(G77_INSTALL_NAME)$(exeext); \ + rm -rf $(bindir)/$(G77_CROSS_NAME)$(exeext); \ + rm -rf $(mandir)/$(G77_INSTALL_NAME)$(manext); \ + rm -rf $(mandir)/$(G77_CROSS_NAME)$(manext); \ + rm -rf $(infodir)/g77.info*; \ fi - -rm -rf $(bindir)/$(G77_INSTALL_NAME)$(exeext) - -rm -rf $(bindir)/$(G77_CROSS_NAME)$(exeext) - -rm -rf $(mandir)/$(G77_INSTALL_NAME)$(manext) - -rm -rf $(mandir)/$(G77_CROSS_NAME)$(manext) - -rm -rf $(infodir)/g77.info* # # Clean hooks: # A lot of the ancillary files are deleted by the main makefile. @@ -392,36 +406,52 @@ f77.uninstall: f77.mostlyclean: -rm -f f/*$(objext) - -rm -f f/fini f/f771$(exeext) f/stamp-str f/str-*.h f/str-*.j f/intdoc f/ansify f/intdoc.h0 + -rm -f f/fini f/stamp-str f/str-*.h f/str-*.j + -rm -f f/intdoc f/ansify f/intdoc.h0 f77.clean: -rm -f g77.c g77.o g77spec.o g77version.o f77.distclean: - -rm -f f/Makefile -# realclean is the pre-2.7.0 name for maintainer-clean -f77.maintainer-clean f77.realclean: f77.distclean + -rm -f lang-f77 f/Makefile +f77.extraclean: +f77.maintainer-clean: -rm -f f/g77.info* f/g77.*aux f/TAGS f/BUGS f/INSTALL f/NEWS f/intdoc.texi # # Stage hooks: # The main makefile has already created stage?/f. -G77STAGESTUFF = f/*$(objext) f/fini f/stamp-str f/str-*.h f/str-*.j g77.o g77spec.o g77version.o +G77STAGESTUFF = f/*$(objext) f/fini f/stamp-str f/str-*.h f/str-*.j \ + lang-f77 g77.o g77spec.o g77version.o f77.stage1: stage1-start - -mv $(G77STAGESTUFF) stage1/f + -if [ -f lang-f77 ]; then \ + mv $(G77STAGESTUFF) stage1/f; \ + fi f77.stage2: stage2-start - -mv $(G77STAGESTUFF) stage2/f + -if [ -f lang-f77 ]; then \ + mv $(G77STAGESTUFF) stage2/f; \ + fi f77.stage3: stage3-start - -mv $(G77STAGESTUFF) stage3/f + -if [ -f lang-f77 ]; then \ + mv $(G77STAGESTUFF) stage3/f; \ + fi f77.stage4: stage4-start - -mv $(G77STAGESTUFF) stage4/f + -if [ -f lang-f77 ]; then \ + mv $(G77STAGESTUFF) stage4/f; \ + fi # # Maintenance hooks: # This target creates the files that can be rebuilt, but go in the # distribution anyway. It then copies the files to the distdir directory. f77.distdir: f77.rebuilt - mkdir tmp/f - cd f; \ - for file in *[0-9a-zA-Z+]; do \ - ($LN) $$file ../tmp/f - done + case "$(LANGUAGES)" in \ + *[fF]77*) touch lang-f77;; \ + *) rm -f lang-f77;; \ + esac + -if [ -f lang-f77 ]; then \ + mkdir tmp/f; \ + cd f; \ + for file in *[0-9a-zA-Z+]; do \ + $(LN_S) $$file ../tmp/f; \ + done; \ + fi |