gcc.c (process_command): Allow translation of the copyright symbol but not the rest...
[platform/upstream/gcc.git] / gcc / f / Make-lang.in
index 5e11dc3..04e46c7 100644 (file)
@@ -1,5 +1,6 @@
-# Top level makefile fragment for GNU Fortran.           -*-makefile-*-
-#   Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Top level -*- makefile -*- fragment for GNU Fortran.
+#   Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004
+#   Free Software Foundation, Inc.
 
 #This file is part of GNU Fortran.
 
 # 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.install-normal, foo.install-common, foo.install-man,
 # foo.uninstall,
-# foo.mostlyclean, foo.clean, foo.distclean, foo.extraclean,
+# foo.mostlyclean, foo.clean, foo.distclean,
 # foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
 #
 # where `foo' is the name of the language.
 # $(srcdir) must be set to the gcc/ source directory (not gcc/f/).
 #\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)'`
+G77_INSTALL_NAME := $(shell echo g77|sed '$(program_transform_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'
@@ -58,16 +55,16 @@ 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.start.encap f77.rest.encap f77.dvi \
   f77.install-normal \
-  f77.install-common f77.install-info f77.install-man \
+  f77.install-common f77.install-man \
   f77.uninstall f77.mostlyclean f77.clean f77.distclean \
-  f77.extraclean f77.maintainer-clean f77.rebuilt \
+  f77.maintainer-clean \
   f77.stage1 f77.stage2 f77.stage3 f77.stage4 \
   f77.stageprofile f77.stagefeedback
 
 g77spec.o: $(srcdir)/f/g77spec.c $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) \
-       $(CONFIG_H)
+       $(CONFIG_H) intl.h
        (SHLIB_LINK='$(SHLIB_LINK)' \
        SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
        $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(DRIVER_DEFINES) \
@@ -107,26 +104,54 @@ f/stamp-str: f/str-1t.h f/str-1t.j f/str-2t.h f/str-2t.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/str-1t.h f/str-1t.j: f/stamp-1t ; @true
+f/stamp-1t: f/fini$(build_exeext) f/str-1t.fin
+       ./f/fini$(build_exeext) $(srcdir)/f/str-1t.fin f/tmp-str-1t.j f/tmp-str-1t.h
+       $(SHELL) $(srcdir)/../move-if-change f/tmp-str-1t.j f/str-1t.j
+       $(SHELL) $(srcdir)/../move-if-change f/tmp-str-1t.h f/str-1t.h
+       $(STAMP) f/stamp-1t
+
+f/str-2t.h f/str-2t.j: f/stamp-2t ; @true
+f/stamp-2t: f/fini$(build_exeext) f/str-2t.fin
+       ./f/fini$(build_exeext) $(srcdir)/f/str-2t.fin f/tmp-str-2t.j f/tmp-str-2t.h
+       $(SHELL) $(srcdir)/../move-if-change f/tmp-str-2t.j f/str-2t.j
+       $(SHELL) $(srcdir)/../move-if-change f/tmp-str-2t.h f/str-2t.h
+       $(STAMP) f/stamp-2t
+
+f/str-fo.h f/str-fo.j: f/stamp-fo ; @true
+f/stamp-fo: f/fini$(build_exeext) f/str-fo.fin
+       ./f/fini$(build_exeext) $(srcdir)/f/str-fo.fin f/tmp-str-fo.j f/tmp-str-fo.h
+       $(SHELL) $(srcdir)/../move-if-change f/tmp-str-fo.j f/str-fo.j
+       $(SHELL) $(srcdir)/../move-if-change f/tmp-str-fo.h f/str-fo.h
+       $(STAMP) f/stamp-fo
+
+f/str-io.h f/str-io.j: f/stamp-io ; @true
+f/stamp-io: f/fini$(build_exeext) f/str-io.fin
+       ./f/fini$(build_exeext) $(srcdir)/f/str-io.fin f/tmp-str-io.j f/tmp-str-io.h
+       $(SHELL) $(srcdir)/../move-if-change f/tmp-str-io.j f/str-io.j
+       $(SHELL) $(srcdir)/../move-if-change f/tmp-str-io.h f/str-io.h
+       $(STAMP) f/stamp-io
+
+f/str-nq.h f/str-nq.j: f/stamp-nq ; @true
+f/stamp-nq: f/fini$(build_exeext) f/str-nq.fin
+       ./f/fini$(build_exeext) $(srcdir)/f/str-nq.fin f/tmp-str-nq.j f/tmp-str-nq.h
+       $(SHELL) $(srcdir)/../move-if-change f/tmp-str-nq.j f/str-nq.j
+       $(SHELL) $(srcdir)/../move-if-change f/tmp-str-nq.h f/str-nq.h
+       $(STAMP) f/stamp-nq
+
+f/str-op.h f/str-op.j: f/stamp-op ; @true
+f/stamp-op: f/fini$(build_exeext) f/str-op.fin
+       ./f/fini$(build_exeext) $(srcdir)/f/str-op.fin f/tmp-str-op.j f/tmp-str-op.h
+       $(SHELL) $(srcdir)/../move-if-change f/tmp-str-op.j f/str-op.j
+       $(SHELL) $(srcdir)/../move-if-change f/tmp-str-op.h f/str-op.h
+       $(STAMP) f/stamp-op
+
+f/str-ot.h f/str-ot.j: f/stamp-ot ; @true
+f/stamp-ot: f/fini$(build_exeext) f/str-ot.fin
+       ./f/fini$(build_exeext) $(srcdir)/f/str-ot.fin f/tmp-str-ot.j f/tmp-str-ot.h
+       $(SHELL) $(srcdir)/../move-if-change f/tmp-str-ot.j f/str-ot.j
+       $(SHELL) $(srcdir)/../move-if-change f/tmp-str-ot.h f/str-ot.h
+       $(STAMP) f/stamp-ot
 
 f/fini$(build_exeext): f/fini.o $(BUILD_LIBDEPS)
        $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o f/fini$(build_exeext) \
@@ -146,42 +171,43 @@ f77.all.cross: g77-cross$(exeext)
 f77.start.encap: g77$(exeext)
 f77.rest.encap:
 
+f77.srcinfo: doc/g77.info
+       -cp -p $^ $(srcdir)/doc
+f77.srcman: doc/g77.1
+       -cp -p $^ $(srcdir)/doc
+f77.srcextra: f/BUGS f/NEWS 
+       -cp -p $^ $(srcdir)/f
+
 f77.tags: force
-       cd $(srcdir)/f; etags *.c *.h
+       cd $(srcdir)/f; etags -o TAGS.sub *.c *.h; \
+       etags --include TAGS.sub --include ../TAGS.sub
+
+f77.info: doc/g77.info
+dvi:: doc/g77.dvi
+f77.man: doc/g77.1
 
-f77.info: $(srcdir)/f/g77.info
-f77.dvi: f/g77.dvi
-f77.generated-manpages: $(srcdir)/f/g77.1
+check-f77 : check-g77
+lang_checks += check-g77
 
 # 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 \
-               $(srcdir)/doc/include/gcc-common.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; \
+TEXI_G77_FILES = f/g77.texi f/bugs.texi f/ffe.texi f/invoke.texi \
+                f/news.texi f/root.texi $(docdir)/include/fdl.texi \
+                $(docdir)/include/gpl.texi $(docdir)/include/funding.texi \
+                $(docdir)/include/gcc-common.texi $(srcdir)/f/intdoc.texi
+
+doc/g77.info: $(TEXI_G77_FILES)
+       if test "x$(BUILD_INFO)" = xinfo; then \
+         rm -f $(@)*; \
+         $(MAKEINFO) $(MAKEINFOFLAGS) -I$(docdir)/include -I$(srcdir)/f \
+            -o$@ $<; \
        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 \
-               $(srcdir)/doc/include/gcc-common.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; \
+doc/g77.dvi: $(TEXI_G77_FILES)
+       $(TEXI2DVI) -I $(srcdir)/f -I $(abs_docdir)/include -I $(objdir)/f -o $@ $<
+
+.INTERMEDIATE: g77.pod
+g77.pod: f/invoke.texi
+       -$(TEXI2POD) < $< > $@
 
 # This dance is all about producing accurate documentation for g77's
 # intrinsics with minimum fuss.  f/ansify appends "\n\" to C strings
@@ -205,41 +231,43 @@ $(srcdir)/f/g77.1: $(srcdir)/f/invoke.texi
 
 # 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.
+# already generated such that `make' wouldn't attempt to rebuild 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
+INTDOC_DEPS = f/intdoc.c f/intrin.h f/intrin.def
 
-$(srcdir)/f/intdoc.texi: $(INTDOC_DEPS) $(srcdir)/f/intdoc.in
+$(srcdir)/f/intdoc.texi: $(INTDOC_DEPS) 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 bconfig.h \
   $(SYSTEM_H) coretypes.h $(TM_H) $(BUILD_LIBDEPS)
-         $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) $(INCLUDES) \
-                 $(srcdir)/f/intdoc.c $(BUILD_LIBS) -o f/intdoc$(build_exeext)
+       $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) $(INCLUDES) $< \
+         $(BUILD_LIBS) -o $@
 
 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$(build_exeext): f/ansify.c bconfig.h $(SYSTEM_H) coretypes.h $(TM_H)
-         $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) $(INCLUDES) \
-               $(srcdir)/f/ansify.c -o f/ansify$(build_exeext)
+         $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) $(INCLUDES) $< \
+         -o $@
 
-$(srcdir)/f/BUGS: f/bugs0.texi f/bugs.texi f/root.texi
-       cd $(srcdir)/f; $(MAKEINFO) -D BUGSONLY --no-header --no-split \
-         --no-validate -I../doc/include -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 -I../doc/include -o NEWS news0.texi
+f/BUGS: f/bugs0.texi f/bugs.texi f/root.texi
+       if [ x$(BUILD_INFO) = xinfo ]; then \
+         rm -f $(@)*; \
+         $(MAKEINFO) $(MAKEINFOFLAGS) -D BUGSONLY --no-header --no-split \
+           --no-validate -I$(docdir)/include -I$(srcdir)/f -o $@ bugs0.texi; \
+       else true; fi
 
-f77.rebuilt: f/g77.info $(srcdir)/f/BUGS \
-  $(srcdir)/f/NEWS 
+f/NEWS: f/news0.texi f/news.texi f/root.texi
+       if [ x$(BUILD_INFO) = xinfo ]; then \
+         rm -f $(@)*; \
+         $(MAKEINFO) $(MAKEINFOFLAGS) -D NEWSONLY --no-header --no-split \
+           --no-validate -I$(docdir)/include -I$(srcdir)/f -o $@ news0.texi; \
+       else true; fi
 
 #\f
 # Install hooks:
@@ -251,15 +279,9 @@ f77.install-normal:
 # 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 $(DESTDIR)$(bindir)/$(G77_CROSS_NAME)$(exeext); \
-           $(INSTALL_PROGRAM) g77-cross$(exeext) $(DESTDIR)$(bindir)/$(G77_CROSS_NAME)$(exeext); \
-           chmod a+x $(DESTDIR)$(bindir)/$(G77_CROSS_NAME)$(exeext); \
-         else \
-           rm -f $(DESTDIR)$(bindir)/$(G77_INSTALL_NAME)$(exeext); \
-           $(INSTALL_PROGRAM) g77$(exeext) $(DESTDIR)$(bindir)/$(G77_INSTALL_NAME)$(exeext); \
-           chmod a+x $(DESTDIR)$(bindir)/$(G77_INSTALL_NAME)$(exeext); \
-         fi ; \
+         rm -f $(DESTDIR)$(bindir)/$(G77_INSTALL_NAME)$(exeext); \
+         $(INSTALL_PROGRAM) g77$(exeext) $(DESTDIR)$(bindir)/$(G77_INSTALL_NAME)$(exeext); \
+         chmod a+x $(DESTDIR)$(bindir)/$(G77_INSTALL_NAME)$(exeext); \
        else true; fi
        @if [ -f f77-install-ok -o -f $(srcdir)/f77-install-ok ]; then \
          echo ''; \
@@ -271,36 +293,14 @@ f77.install-common: installdirs
          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 $(DESTDIR)$(infodir)/g77.info*; \
-         for f in $(srcdir)/f/g77.info*; do \
-             realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
-             $(INSTALL_DATA) $$f $(DESTDIR)$(infodir)/$$realfile; \
-         done; \
-         chmod a-x $(DESTDIR)$(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=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/g77.info"; \
-           install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/g77.info || : ; \
-         else : ; fi; \
-       else : ; fi
+install-info:: $(DESTDIR)$(infodir)/g77.info
 
-f77.install-man: $(GENERATED_MANPAGES) installdirs
-       -if [ -f f771$(exeext) ] ; then \
-         if [ -f g77-cross$(exeext) ] ; then \
-           rm -f $(DESTDIR)$(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
-           $(INSTALL_DATA) $(srcdir)/f/g77.1 $(DESTDIR)$(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
-           chmod a-x $(DESTDIR)$(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
-         else \
-           rm -f $(DESTDIR)$(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
-           $(INSTALL_DATA) $(srcdir)/f/g77.1 $(DESTDIR)$(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
-           chmod a-x $(DESTDIR)$(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
-         fi; \
-       else true; fi
+f77.install-man: installdirs $(DESTDIR)$(man1dir)/$(G77_INSTALL_NAME)$(man1ext)
+
+$(DESTDIR)$(man1dir)/$(G77_INSTALL_NAME)$(man1ext): doc/g77.1
+       -rm -f $@
+       -$(INSTALL_DATA) $< $@
+       -chmod a-x $@
 
 f77.uninstall: installdirs
        if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
@@ -308,9 +308,7 @@ f77.uninstall: installdirs
          install-info --delete --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/g77.info || : ; \
        else : ; fi
        rm -rf $(DESTDIR)$(bindir)/$(G77_INSTALL_NAME)$(exeext); \
-       rm -rf $(DESTDIR)$(bindir)/$(G77_CROSS_NAME)$(exeext); \
        rm -rf $(DESTDIR)$(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
-       rm -rf $(DESTDIR)$(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
        rm -rf $(DESTDIR)$(infodir)/g77.info*
 #\f
 # Clean hooks:
@@ -321,21 +319,21 @@ f77.mostlyclean:
        -rm -f f/*$(objext)
        -rm -f f/*$(coverageexts)
        -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 f/BUGS f/NEWS
        -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
 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
+       -rm -f $(srcdir)/f/BUGS $(srcdir)/f/TAGS $(srcdir)/f/TAGS.SUB
+       -rm -f $(srcdir)/f/NEWS $(srcdir)/f/intdoc.texi
 #\f
 # Stage hooks:
 # The main makefile has already created stage?/f.
 
-G77STAGESTUFF = f/*$(objext) f/fini$(build_exeext) f/stamp-str \
+G77STAGESTUFF = f/*$(objext) f/fini$(build_exeext) f/stamp-* \
   f/str-*.h f/str-*.j g77spec.o
 
 f77.stage1: stage1-start