X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libf2c%2FMakefile.in;h=eb0074a65870ebddb0d233e09ee993b6b4472496;hb=b808f0238bb9876d0df5fa06671f6e7b2dac5800;hp=21b136be1f2b85dd17cbf8e139757549f84c7034;hpb=96a9c9a52cf6f2dd153a6a068146aacb1968bd1a;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libf2c/Makefile.in b/libf2c/Makefile.in index 21b136be1f2..eb0074a6587 100644 --- a/libf2c/Makefile.in +++ b/libf2c/Makefile.in @@ -1,5 +1,5 @@ # Makefile for GNU F77 compiler runtime. -# Copyright (C) 1995-1997 Free Software Foundation, Inc. +# Copyright (C) 1995-1998 Free Software Foundation, Inc. # Contributed by Dave Love (d.love@dl.ac.uk). # #This file is part of GNU Fortran. @@ -20,222 +20,241 @@ #02111-1307, USA. SHELL = /bin/sh +MAKEOVERRIDES= #### Start of system configuration section. #### srcdir = @srcdir@ +VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ +target_alias = @target_alias@ +gcc_version = @gcc_version@ +gcc_version_trigger = @gcc_version_trigger@ -bindir = $(exec_prefix)/bin -libdir = $(exec_prefix)/lib -datadir = $(prefix)/lib -mandir = $(prefix)/man -infodir = $(prefix)/info -includedir = $(prefix)/include -docdir = $(datadir)/doc - -TO_TOPDIR = .. - -INSTALL = $(srcdir)/$(TO_TOPDIR)/install-sh -c -INSTALL_PROGRAM = $(INSTALL) -INSTALL_DATA = $(INSTALL) - -AR = `if test -f $(TO_TOPDIR)/binutils/ar; then \ - echo $(TO_TOPDIR)/binutils/ar; else echo ar; fi` -AR_FLAGS = rc - -RANLIB = `if test -f $(TO_TOPDIR)/binutils/ranlib; then \ - echo $(TO_TOPDIR)/binutils/ranlib; else echo ranlib; fi` - -MAKEINFO = `if test -f $(TO_TOPDIR)/texinfo/C/makeinfo; then \ - echo $(TO_TOPDIR)/texinfo/C/makeinfo; else echo makeinfo; fi` - -CC = gcc -CFLAGS = -g -LIBCFLAGS = $(CFLAGS) - -# List of variables to pass to sub-makes. This should not be needed' -# by GNU make or Sun make (both of which pass command-line variable' -# overrides thouh $(MAKE)) but may be needed by older versions.' +top_builddir = . +libdir = $(exec_prefix)/lib +libsubdir = $(libdir)/gcc-lib/$(target_alias)/$(gcc_version) +# +# Versions should start at 0:0:0 - See libtool manual. +VERSION_MAJOR=0 +VERSION_MINOR=0 +VERSION_SUB=0 + +# Multilib support variables. +MULTISRCTOP = +MULTIBUILDTOP = +MULTIDIRS = +MULTISUBDIR = +MULTIDO = true +MULTICLEAN = true + +# Not configured per top-level version, since that doesn't get passed +# Versions should start at 0:0:0 - See libtool manual. +# down at configure time, but overrridden by the top-level install +# target. +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_DATA = @INSTALL_DATA@ + +LIBTOOL = @LIBTOOL@ +CC = @CC@ +CFLAGS = @CFLAGS@ + +# List of variables to pass to sub-makes. +# Quote this way so that it can be used to set shell variables too. FLAGS_TO_PASS= \ - "SHELL=$(SHELL)" \ - "INSTALL=$(INSTALL)" \ - "INSTALL_DATA=$(INSTALL_DATA)" \ - "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ - "prefix=$(prefix)" \ - "exec_prefix=$(exec_prefix)" \ - "tooldir=$(tooldir)" \ - "AR=$(AR)" \ - "AR_FLAGS=$(AR_FLAGS)" \ - "CC=$(CC)" \ - "CFLAGS=$(CFLAGS)" \ - "RANLIB=$(RANLIB)" \ - "LIBCFLAGS=$(LIBCFLAGS)" \ - "PICFLAG=$(PICFLAG)" \ - "RUNTESTFLAGS=$(RUNTESTFLAGS)" - - -lib = libf2c.a - -MISC = libF77/F77_aloc.o libF77/VersionF.o libF77/main.o libF77/s_rnge.o \ - libF77/abort_.o libF77/getarg_.o libF77/iargc_.o libF77/getenv_.o \ - libF77/signal_.o libF77/s_stop.o libF77/s_paus.o libF77/system_.o \ - libF77/cabs.o libF77/derf_.o libF77/derfc_.o libF77/erf_.o \ - libF77/erfc_.o libF77/sig_die.o libF77/exit_.o \ - libF77/setarg.o libF77/setsig.o -POW = libF77/pow_ci.o libF77/pow_dd.o libF77/pow_di.o libF77/pow_hh.o \ - libF77/pow_ii.o libF77/pow_ri.o libF77/pow_zi.o libF77/pow_zz.o \ - libF77/pow_qq.o -CX = libF77/c_abs.o libF77/c_cos.o libF77/c_div.o libF77/c_exp.o \ - libF77/c_log.o libF77/c_sin.o libF77/c_sqrt.o -DCX = libF77/z_abs.o libF77/z_cos.o libF77/z_div.o libF77/z_exp.o \ - libF77/z_log.o libF77/z_sin.o libF77/z_sqrt.o -REAL = libF77/r_abs.o libF77/r_acos.o libF77/r_asin.o libF77/r_atan.o \ - libF77/r_atn2.o libF77/r_cnjg.o libF77/r_cos.o libF77/r_cosh.o \ - libF77/r_dim.o libF77/r_exp.o libF77/r_imag.o libF77/r_int.o \ - libF77/r_lg10.o libF77/r_log.o libF77/r_mod.o libF77/r_nint.o \ - libF77/r_sign.o libF77/r_sin.o libF77/r_sinh.o libF77/r_sqrt.o \ - libF77/r_tan.o libF77/r_tanh.o -DBL = libF77/d_abs.o libF77/d_acos.o libF77/d_asin.o libF77/d_atan.o \ - libF77/d_atn2.o libF77/d_cnjg.o libF77/d_cos.o libF77/d_cosh.o \ - libF77/d_dim.o libF77/d_exp.o libF77/d_imag.o libF77/d_int.o \ - libF77/d_lg10.o libF77/d_log.o libF77/d_mod.o libF77/d_nint.o \ - libF77/d_prod.o libF77/d_sign.o libF77/d_sin.o libF77/d_sinh.o \ - libF77/d_sqrt.o libF77/d_tan.o libF77/d_tanh.o -INT = libF77/i_abs.o libF77/i_dim.o libF77/i_dnnt.o libF77/i_indx.o \ - libF77/i_len.o libF77/i_mod.o libF77/i_nint.o libF77/i_sign.o -HALF = libF77/h_abs.o libF77/h_dim.o libF77/h_dnnt.o libF77/h_indx.o \ - libF77/h_len.o libF77/h_mod.o libF77/h_nint.o libF77/h_sign.o -CMP = libF77/l_ge.o libF77/l_gt.o libF77/l_le.o libF77/l_lt.o \ - libF77/hl_ge.o libF77/hl_gt.o libF77/hl_le.o libF77/hl_lt.o -EFL = libF77/ef1asc_.o libF77/ef1cmc_.o -CHAR = libF77/s_cat.o libF77/s_cmp.o libF77/s_copy.o -F90BIT = libF77/lbitbits.o libF77/lbitshft.o libF77/qbitbits.o \ - libF77/qbitshft.o -FOBJ = $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) $(HALF) $(CMP) \ - $(EFL) $(CHAR) $(F90BIT) - -IOBJ = libI77/VersionI.o libI77/backspace.o libI77/close.o libI77/dfe.o \ - libI77/dolio.o libI77/due.o libI77/endfile.o libI77/err.o \ - libI77/fmt.o libI77/fmtlib.o libI77/iio.o libI77/ilnw.o \ - libI77/inquire.o libI77/lread.o libI77/lwrite.o libI77/open.o \ - libI77/rdfmt.o libI77/rewind.o libI77/rsfe.o libI77/rsli.o \ - libI77/rsne.o libI77/sfe.o libI77/sue.o libI77/typesize.o \ - libI77/uio.o libI77/util.o libI77/wref.o libI77/wrtfmt.o \ - libI77/wsfe.o libI77/wsle.o libI77/wsne.o libI77/xwsne.o \ - libI77/ftell_.o - -UOBJ = libU77/VersionU.o libU77/gerror_.o libU77/perror_.o libU77/ierrno_.o \ - libU77/itime_.o libU77/time_.o libU77/unlink_.o libU77/fnum_.o \ - libU77/getpid_.o libU77/getuid_.o libU77/getgid_.o libU77/kill_.o \ - libU77/rand_.o libU77/srand_.o libU77/irand_.o libU77/sleep_.o \ - libU77/idate_.o libU77/ctime_.o libU77/etime_.o libU77/dtime_.o \ - libU77/isatty_.o libU77/ltime_.o libU77/fstat_.o libU77/stat_.o \ - libU77/lstat_.o libU77/access_.o libU77/link_.o libU77/getlog_.o \ - libU77/ttynam_.o libU77/getcwd_.o libU77/vxttime_.o \ - libU77/vxtidate_.o libU77/gmtime_.o libU77/fdate_.o libU77/secnds_.o \ - libU77/bes.o libU77/dbes.o libU77/chdir_.o libU77/chmod_.o \ - libU77/lnblnk_.o libU77/hostnm_.o libU77/rename_.o libU77/fgetc_.o \ - libU77/fputc_.o libU77/umask_.o libU77/sys_clock_.o libU77/date_.o \ - libU77/second_.o libU77/flush1_.o libU77/alarm_.o libU77/mclock_.o \ - libU77/symlnk_.o + CC='$(CC)' \ + LIBTOOL='$(LIBTOOL)' \ + CFLAGS='$(CFLAGS)' \ + CPPFLAGS='$(CPPFLAGS)' \ + AR='$(AR)' \ + RANLIB='$(RANLIB)' \ + prefix='$(prefix)' \ + exec_prefix='$(exec_prefix)' \ + libdir='$(libdir)' \ + libsubdir='$(libsubdir)' \ + tooldir='$(tooldir)' + +LIBG2C_BASE = libg2c +LIBG2C = $(LIBG2C_BASE).la + +SUBDIRS = libI77 libF77 libU77 F2CEXT = abort derf derfc ef1asc ef1cmc erf erfc exit getarg getenv iargc \ signal system flush ftell fseek access besj0 besj1 besjn besy0 besy1 \ - besyn chdir chmod ctime date dbesj0 dbesj1 dbesjn dbesy0 dbesy1 dbesyn \ + besyn chdir chmod ctime dbesj0 dbesj1 dbesjn dbesy0 dbesy1 dbesyn \ dtime etime fdate fgetc fget flush1 fnum fputc fput fstat gerror \ getcwd getgid getlog getpid getuid gmtime hostnm idate ierrno irand \ isatty itime kill link lnblnk lstat ltime mclock perror rand rename \ - secnds second sleep srand stat symlnk sclock time ttynam umask unlink \ - vxtidt vxttim alarm - -all: f2c.h $(lib) - -$(lib): stamp-libf77 stamp-libi77 stamp-libu77 stamp-libe77 - rm -f $(lib) - $(AR) $(AR_FLAGS) $(lib) $(FOBJ) - $(AR) $(AR_FLAGS) $(lib) $(IOBJ) - $(AR) $(AR_FLAGS) $(lib) $(UOBJ) - objs=""; for i in $(F2CEXT); do objs="$$objs libE77/L$$i.o"; done; \ - $(AR) $(AR_FLAGS) $(lib) $$objs - $(RANLIB) $(lib) - -stamp-libi77: libI77/Makefile - rm -f stamp-libi77 - cd libI77; $(MAKE) -f Makefile $(FLAGS_TO_PASS) all - touch stamp-libi77 - -stamp-libf77: libF77/Makefile - rm -f stamp-libf77 - cd libF77; $(MAKE) -f Makefile $(FLAGS_TO_PASS) all - touch stamp-libf77 - -stamp-libu77: libU77/Makefile - rm -f stamp-libu77 - cd libU77; $(MAKE) -f Makefile $(FLAGS_TO_PASS) all - touch stamp-libu77 - -stamp-libe77: $(srcdir)/f2cext.c - rm -fr libE77 - mkdir libE77 + secnds second sleep srand stat symlnk time ttynam umask unlink \ + vxttim alarm \ + date_y2kbuggy date_y2kbug vxtidt_y2kbuggy vxtidt_y2kbug + +.SUFFIXES: + +# The logic here is partly dictated by the desire to keep the lib?77 +# subdirs for compatibility with the Netlib version and because libU77 +# has a different copyright; then the libe77 bit (EXTERNALly-callable +# versions) is funny. Given that, as well as keeping things as simple +# as possible we want (at least) the following: +# * Allow make to be run at the top level (all-target-libf2c), at this +# level, or the subdirs of this level. In the latter case we only +# compile, rather than updating libg2c.a; +# * A robust set of dependencies, so that we rebuild (as little as +# possible) if a configuration file, g2c.h or any lib?77/*.c file +# changes; +# * Avoid unnecessary running of ar and ranlib; +# * Expose parallelism where reasonable, but not as a priority. + +# The intended top-level target here does a non-multilib build (via +# the dependency) and then (perhaps) builds multilibs. + +all: all-unilib + $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO="all-unilib" + +# `all-unilib' is the overall target in the absence of multilibs, +# meant to be invoked via multi-do for multilibs. + +# Its dependencies can be satisfied in parallel. The [fiu]77 targets +# always invoke sub makes to check dependencies in the subdirs, else we'd +# have to maintain them at this level; we live with the overhead of +# some recursive makes which may do nothing. + +all-unilib: i77 f77 u77 libE77.la + $(MAKE) $(FLAGS_TO_PASS) $(LIBG2C) + +i77 f77 u77: g2c.h + +# This target should normally only get invoked via `all-unilib' -- +# after all's well in the subdirs -- actually to assemble the library. + +$(LIBG2C): libF77.la libI77.la libU77.la libE77.la + rm -f $@ ;\ + set -e; \ + $(LIBTOOL) --mode=link $(CC) -o $@ \ + -version-info $(VERSION_MAJOR):$(VERSION_MINOR):$(VERSION_SUB) \ + -rpath $(prefix)/lib libE77.la libF77.la libI77.la libU77.la -lc -lm + +i77: + cd libI77; $(MAKE) $(FLAGS_TO_PASS) all + +f77: + cd libF77; $(MAKE) $(FLAGS_TO_PASS) all + +u77: + cd libU77; $(MAKE) $(FLAGS_TO_PASS) all + +libE77.la: f2cext.c + rm -f $@ + if [ -d libE77 ]; then rm -f libE77/*.o libE77/*.lo; else mkdir libE77; fi for name in $(F2CEXT); \ do \ echo $${name}; \ - $(CC) -c -I. -I$(srcdir) -I../../include $(CPPFLAGS) $(CFLAGS) \ - $(CGFLAGS) -DL$${name} $(srcdir)/f2cext.c \ - -o libE77/L$${name}.o; \ + $(LIBTOOL) --mode=compile $(CC) -c -I. -I$(srcdir) -I../../include \ + $(CPPFLAGS) $(CFLAGS) -DL$${name} $(srcdir)/f2cext.c \ + -o libE77/L$${name}.o ; \ if [ $$? -eq 0 ] ; then true; else exit 1; fi; \ done - touch stamp-libe77 + $(LIBTOOL) --mode=link $(CC) -o libE77.la libE77/*.lo -${srcdir}/configure: ${srcdir}/configure.in - rm -f config.cache && cd ${srcdir} && autoconf && rm -f config.cache -${srcdir}/libU77/configure: ${srcdir}/libU77/configure.in - rm -f libU77/config.cache && cd ${srcdir}/libU77 && autoconf && rm -f config.cache -f2c.h Makefile: $(srcdir)/Makefile.in config.status +f2cext.c: g2c.h + +${srcdir}/configure: configure.in + rm -f config.cache + cd $(srcdir) && autoconf + +# Dependence on Makefile serializes for parallel make. +g2c.h: g2c.hin config.status Makefile +# Might try to avoid rebuilding everything if Makefile or configure +# changes and g2c.h doesn't; see also the Makefile rule. Should +# depend on another stamp file rather than using the commented-out +# lines below, since g2c.h isn't necessarily brought up to date. +# mv g2c.h g2c.x $(SHELL) config.status -config.status: $(srcdir)/configure - $(SHELL) config.status --recheck +# $(SHELL) $(srcdir)/../move-if-change g2c.h g2c.x && mv g2c.x g2c.h + +Makefile: Makefile.in config.status +# Autoconf doc uses `./config.status'. Is there a good reason to use $(SHELL)? + $(SHELL) config.status -f2c.h: $(srcdir)/f2c.h.in +config.status: configure $(gcc_version_trigger) +# Make sure we don't pick up a site config file and that configure +# gets run with correct values of variables such as CC. + CONFIG_SITE=no-such-file $(FLAGS_TO_PASS) \ + $(SHELL) config.status --recheck -info install-info clean-info dvi: +info install-info clean-info dvi TAGS dist installcheck installdirs: check: cd libU77; $(MAKE) G77DIR=../../../gcc/ check -install: - $(INSTALL_DATA) $(lib) $(libdir)/$(lib).n - ( cd $(libdir) ; $(RANLIB) $(lib).n ) - mv -f $(libdir)/$(lib).n $(libdir)/$(lib) - $(INSTALL_DATA) f2c.h $(includedir)/f2c.h +install: all + $(LIBTOOL) --mode=install $(INSTALL_DATA) $(LIBG2C) $(libsubdir)/$(MULTISUBDIR) + (cd $(libsubdir)/$(MULTISUBDIR) ; mv -f $(LIBG2C_BASE).* $(prefix)/lib) + $(INSTALL_DATA) libfrtbegin.a $(libsubdir)/$(MULTISUBDIR) + $(RANLIB) $(libsubdir)/$(MULTISUBDIR)/libfrtbegin.a + $(INSTALL_DATA) g2c.h $(libsubdir)/include/g2c.h + @if [ -f f2c-install-ok -o -f $(srcdir)/f2c-install-ok ]; then \ + echo ''; \ + echo 'Warning: g77 no longer installs libf2c.a or f2c.h.'; \ + 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 ' f2c-install-ok in the source or build directory.)'; \ + echo ''; \ + else true; fi + $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO="$@" + @-$(LIBTOOL) --mode=finish $(prefix)/lib + +install-strip: + $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install + +uninstall: + rm -f $(libsubdir)/$(MULTISUBDIR)/include/g2c.h $(libsubdir)/$(MULTISUBDIR)/$(LIBG2C_BASE).* + rm -f $(prefix)/lib/$(LIBG2C_BASE).so* + $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO="$@" mostlyclean: - -rm -f stamp-* - for i in libI77 libF77 libU77; do \ - if [ -f $$i/Makefile ]; then \ - cd $$i; $(MAKE) -f Makefile mostlyclean; cd ..; \ - fi; \ - done - rm -fr libE77 - -clean: - -rm -f config.log stamp-* - for i in libI77 libF77 libU77; do \ - if [ -f $$i/Makefile ]; then \ - cd $$i; $(MAKE) -f Makefile clean; cd ..; \ - fi; \ - done - rm -fr libE77 + rm -f $(LIBG2C) objlist + $(MAKE) DO=$@ DODIRS="$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do; \ + $(MULTICLEAN) multi-clean DO=$@ + rm -fr libE77 libE77.la -distclean: clean - -rm -f Makefile config.cache lib?77/Makefile config.status lib?77/config.status lib?77/config.cache lib?77/config.h f2c.h - -maintainer-clean: distclean - -rm -f $(srcdir)/configure $(srcdir)/libU77/configure +clean: mostlyclean + rm -f config.log + $(MAKE) DO=$@ DODIRS="$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do; \ + $(MULTICLEAN) multi-clean DO=$@ + rm -rf .libs -rebuilt: ${srcdir}/configure ${srcdir}/libU77/configure +distclean: clean + rm -f g2c.h libE77.la + $(MAKE) DO=$@ DODIRS="$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do; \ + $(MULTICLEAN) multi-clean DO=distclean + rm -f config.cache config.status Makefile + +maintainer-clean: + +rebuilt: configure + +.PHONY: rebuilt mostlyclean clean distclean maintainer-clean all \ + i77 f77 u77 check uninstall install-strip dist \ + installcheck installdirs all-unilib + +subdir_do: + @rootpre=`pwd`/; export rootpre; \ + srcrootpre=`cd $(srcdir); pwd`/; export srcrootpre; \ + for i in .. $(DODIRS); do \ + if [ x$$i != x.. ]; then \ + if [ -f ./$$i/Makefile ]; then \ + if (cd ./$$i; $(MAKE) $(FLAGS_TO_PASS) $(DO)); then \ + true; \ + else \ + exit 1; \ + fi; \ + else true; fi; \ + else true; fi; \ + done -.PHONY: rebuilt mostlyclean clean distclean maintainer-clean all +# multidoings may be added here by configure.