summaryrefslogtreecommitdiff
path: root/gcc/f/Make-lang.in
diff options
context:
space:
mode:
authorfx <fx@138bc75d-0d04-0410-961f-82ee72b054a4>1998-06-15 07:37:33 +0000
committerfx <fx@138bc75d-0d04-0410-961f-82ee72b054a4>1998-06-15 07:37:33 +0000
commit298f96db2201fe2f5f3e8e2d20c17b9d692ab939 (patch)
treea3ba80223dd6d332b89188fd52d4e3cef4b3c47a /gcc/f/Make-lang.in
parentabce7dcded377b8fc20aaf668f4184d0e8af6b69 (diff)
downloadgcc-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.in268
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