1 # Makefile for GNU F77 compiler runtime.
2 # Copyright (C) 1995-1997 Free Software Foundation, Inc.
3 # Contributed by Dave Love (d.love@dl.ac.uk).
5 #This file is part of GNU Fortran.
7 #GNU Fortran is free software; you can redistribute it and/or modify
8 #it under the terms of the GNU General Public License as published by
9 #the Free Software Foundation; either version 2, or (at your option)
12 #GNU Fortran is distributed in the hope that it will be useful,
13 #but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 #GNU General Public License for more details.
17 #You should have received a copy of the GNU General Public License
18 #along with GNU Fortran; see the file COPYING. If not, write to
19 #the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
24 #### Start of system configuration section. ####
28 exec_prefix = @
exec_prefix@
30 bindir = $(exec_prefix)/bin
31 libdir = $(exec_prefix)/lib
32 datadir = $(prefix)/lib
33 mandir = $(prefix)/man
34 infodir = $(prefix)/info
35 includedir = $(prefix)/include
36 docdir
= $(datadir)/doc
40 INSTALL
= $(srcdir)/$(TO_TOPDIR
)/install-sh
-c
41 INSTALL_PROGRAM
= $(INSTALL
)
42 INSTALL_DATA
= $(INSTALL
)
44 AR
= `if test -f $(TO_TOPDIR)/binutils/ar; then \
45 echo $(TO_TOPDIR)/binutils/ar; else echo ar; fi`
48 RANLIB
= `if test -f $(TO_TOPDIR)/binutils/ranlib; then \
49 echo $(TO_TOPDIR)/binutils/ranlib; else echo ranlib; fi`
51 MAKEINFO
= `if test -f $(TO_TOPDIR)/texinfo/C/makeinfo; then \
52 echo $(TO_TOPDIR)/texinfo/C/makeinfo; else echo makeinfo; fi`
58 # List of variables to pass to sub-makes. This should not be needed'
59 # by GNU make or Sun make (both of which pass command-line variable'
60 # overrides thouh $(MAKE)) but may be needed by older versions.'
65 "F2C_H_DIR=$(s)/libf2c" \
66 "G2C_H_DIR=$(r)/libraries/libf2c" \
67 "GCC_H_DIR=$(s)/include" \
68 "LIBCFLAGS=$(LIBCFLAGS)" \
69 "PICFLAG=$(PICFLAG)" \
70 "RUNTESTFLAGS=$(RUNTESTFLAGS)"
74 MISC
= libF77
/F77_aloc.o libF77
/VersionF.o libF77
/main.o libF77
/s_rnge.o \
75 libF77
/abort_.o libF77
/getarg_.o libF77
/iargc_.o libF77
/getenv_.o \
76 libF77
/signal_.o libF77
/s_stop.o libF77
/s_paus.o libF77
/system_.o \
77 libF77
/cabs.o libF77
/derf_.o libF77
/derfc_.o libF77
/erf_.o \
78 libF77
/erfc_.o libF77
/sig_die.o libF77
/exit_.o \
79 libF77
/setarg.o libF77
/setsig.o
80 POW
= libF77
/pow_ci.o libF77
/pow_dd.o libF77
/pow_di.o libF77
/pow_hh.o \
81 libF77
/pow_ii.o libF77
/pow_ri.o libF77
/pow_zi.o libF77
/pow_zz.o \
83 CX
= libF77
/c_abs.o libF77
/c_cos.o libF77
/c_div.o libF77
/c_exp.o \
84 libF77
/c_log.o libF77
/c_sin.o libF77
/c_sqrt.o
85 DCX
= libF77
/z_abs.o libF77
/z_cos.o libF77
/z_div.o libF77
/z_exp.o \
86 libF77
/z_log.o libF77
/z_sin.o libF77
/z_sqrt.o
87 REAL
= libF77
/r_abs.o libF77
/r_acos.o libF77
/r_asin.o libF77
/r_atan.o \
88 libF77
/r_atn2.o libF77
/r_cnjg.o libF77
/r_cos.o libF77
/r_cosh.o \
89 libF77
/r_dim.o libF77
/r_exp.o libF77
/r_imag.o libF77
/r_int.o \
90 libF77
/r_lg10.o libF77
/r_log.o libF77
/r_mod.o libF77
/r_nint.o \
91 libF77
/r_sign.o libF77
/r_sin.o libF77
/r_sinh.o libF77
/r_sqrt.o \
92 libF77
/r_tan.o libF77
/r_tanh.o
93 DBL
= libF77
/d_abs.o libF77
/d_acos.o libF77
/d_asin.o libF77
/d_atan.o \
94 libF77
/d_atn2.o libF77
/d_cnjg.o libF77
/d_cos.o libF77
/d_cosh.o \
95 libF77
/d_dim.o libF77
/d_exp.o libF77
/d_imag.o libF77
/d_int.o \
96 libF77
/d_lg10.o libF77
/d_log.o libF77
/d_mod.o libF77
/d_nint.o \
97 libF77
/d_prod.o libF77
/d_sign.o libF77
/d_sin.o libF77
/d_sinh.o \
98 libF77
/d_sqrt.o libF77
/d_tan.o libF77
/d_tanh.o
99 INT
= libF77
/i_abs.o libF77
/i_dim.o libF77
/i_dnnt.o libF77
/i_indx.o \
100 libF77
/i_len.o libF77
/i_mod.o libF77
/i_nint.o libF77
/i_sign.o
101 HALF
= libF77
/h_abs.o libF77
/h_dim.o libF77
/h_dnnt.o libF77
/h_indx.o \
102 libF77
/h_len.o libF77
/h_mod.o libF77
/h_nint.o libF77
/h_sign.o
103 CMP
= libF77
/l_ge.o libF77
/l_gt.o libF77
/l_le.o libF77
/l_lt.o \
104 libF77
/hl_ge.o libF77
/hl_gt.o libF77
/hl_le.o libF77
/hl_lt.o
105 EFL
= libF77
/ef1asc_.o libF77
/ef1cmc_.o
106 CHAR
= libF77
/s_cat.o libF77
/s_cmp.o libF77
/s_copy.o
107 F90BIT
= libF77
/lbitbits.o libF77
/lbitshft.o libF77
/qbitbits.o \
109 FOBJ
= $(MISC
) $(POW
) $(CX
) $(DCX
) $(REAL
) $(DBL
) $(INT
) $(HALF
) $(CMP
) \
110 $(EFL
) $(CHAR
) $(F90BIT
)
112 IOBJ
= libI77
/VersionI.o libI77
/backspace.o libI77
/close.o libI77
/dfe.o \
113 libI77
/dolio.o libI77
/due.o libI77
/endfile.o libI77
/err.o \
114 libI77
/fmt.o libI77
/fmtlib.o libI77
/iio.o libI77
/ilnw.o \
115 libI77
/inquire.o libI77
/lread.o libI77
/lwrite.o libI77
/open.o \
116 libI77
/rdfmt.o libI77
/rewind.o libI77
/rsfe.o libI77
/rsli.o \
117 libI77
/rsne.o libI77
/sfe.o libI77
/sue.o libI77
/typesize.o \
118 libI77
/uio.o libI77
/util.o libI77
/wref.o libI77
/wrtfmt.o \
119 libI77
/wsfe.o libI77
/wsle.o libI77
/wsne.o libI77
/xwsne.o \
122 UOBJ
= libU77
/VersionU.o libU77
/gerror_.o libU77
/perror_.o libU77
/ierrno_.o \
123 libU77
/itime_.o libU77
/time_.o libU77
/unlink_.o libU77
/fnum_.o \
124 libU77
/getpid_.o libU77
/getuid_.o libU77
/getgid_.o libU77
/kill_.o \
125 libU77
/rand_.o libU77
/srand_.o libU77
/irand_.o libU77
/sleep_.o \
126 libU77
/idate_.o libU77
/ctime_.o libU77
/etime_.o libU77
/dtime_.o \
127 libU77
/isatty_.o libU77
/ltime_.o libU77
/fstat_.o libU77
/stat_.o \
128 libU77
/lstat_.o libU77
/access_.o libU77
/link_.o libU77
/getlog_.o \
129 libU77
/ttynam_.o libU77
/getcwd_.o libU77
/vxttime_.o \
130 libU77
/vxtidate_.o libU77
/gmtime_.o libU77
/fdate_.o libU77
/secnds_.o \
131 libU77
/bes.o libU77
/dbes.o libU77
/chdir_.o libU77
/chmod_.o \
132 libU77
/lnblnk_.o libU77
/hostnm_.o libU77
/rename_.o libU77
/fgetc_.o \
133 libU77
/fputc_.o libU77
/umask_.o libU77
/sys_clock_.o libU77
/date_.o \
134 libU77
/second_.o libU77
/flush1_.o libU77
/alarm_.o libU77
/mclock_.o \
137 F2CEXT
= abort derf derfc ef1asc ef1cmc erf erfc exit getarg getenv iargc \
138 signal system flush ftell fseek access besj0 besj1 besjn besy0 besy1 \
139 besyn chdir chmod ctime date dbesj0 dbesj1 dbesjn dbesy0 dbesy1 dbesyn \
140 dtime etime fdate fgetc fget flush1 fnum fputc fput fstat gerror \
141 getcwd getgid getlog getpid getuid gmtime hostnm idate ierrno irand \
142 isatty itime kill link lnblnk lstat ltime mclock perror rand rename \
143 secnds second sleep srand stat symlnk sclock time ttynam umask unlink \
148 $(LIBG2C
): stamp-libf77 stamp-libi77 stamp-libu77 stamp-libe77
150 $(AR
) $(AR_FLAGS
) $(LIBG2C
) $(FOBJ
)
151 $(AR
) $(AR_FLAGS
) $(LIBG2C
) $(IOBJ
)
152 $(AR
) $(AR_FLAGS
) $(LIBG2C
) $(UOBJ
)
153 objs
=""; for i in
$(F2CEXT
); do objs
="$$objs libE77/L$$i.o"; done
; \
154 $(AR
) $(AR_FLAGS
) $(LIBG2C
) $$objs
157 stamp-libi77
: libI77
/Makefile
159 cd libI77
; $(MAKE
) $(FLAGS_TO_PASS
) all
162 stamp-libf77
: libF77
/Makefile
164 cd libF77
; $(MAKE
) $(FLAGS_TO_PASS
) all
167 stamp-libu77
: libU77
/Makefile
169 cd libU77
; $(MAKE
) $(FLAGS_TO_PASS
) all
172 stamp-libe77
: $(srcdir)/f2cext.c
174 if
[ -d libE77
]; then
rm -f libE77
/*.o
; else mkdir libE77
; fi
175 for name in
$(F2CEXT
); \
178 $(CC
) -c
-I.
-I
$(srcdir) -I..
/..
/include $(CPPFLAGS
) $(CFLAGS
) \
179 -DL
$${name} $(srcdir)/f2cext.c \
180 -o libE77
/L
$${name}.o
; \
181 if
[ $$?
-eq
0 ] ; then true
; else exit
1; fi
; \
185 ${srcdir}/configure
: ${srcdir}/configure.in
186 rm -f config.cache Makefile g2c.h \
187 && cd
$(srcdir) && autoconf
&& rm -f config.cache
188 ${srcdir}/libU77
/configure
: ${srcdir}/libU77
/configure.in
189 rm -f libU77
/config.cache libU77
/Makefile
&& \
190 cd
$(srcdir)/libU77
&& autoconf
&& rm -f config.cache
191 g2c.h Makefile
: $(srcdir)/g2c.h.in
$(srcdir)/Makefile.in config.status
192 $(SHELL
) config.status
193 config.status
: $(srcdir)/configure
194 $(SHELL
) config.status
--recheck
196 info install-info clean-info
dvi:
199 cd libU77
; $(MAKE
) G77DIR
=..
/..
/..
/gcc
/ check
202 @if
[ x
$(libsubdir
) = x
]; then \
204 echo
'libf2c error: libsubdir environment variable is not'; \
205 echo
' exported by top-level Makefile. libg2c.a and g2c.h'; \
206 echo
' are installed in the directory tree identified named'; \
207 echo
' by that variable, the same tree in which the gcc-'; \
208 echo
' specific executables, libraries, and so on are installed.'; \
209 echo
' Rather than try to extract the name of this tree via'; \
210 echo
' a kludge, libf2c/Makefile.in simply assumes it is passed'; \
211 echo
' in as an environment variable. Someone needs to make'; \
212 echo
' the appropriate changes to the top-level Makefile.in for'; \
213 echo
' this to happen.'; \
215 echo
' In the meantime, you can try setting libsubdir explicitly'; \
216 echo
' in the make command line via libsubdir=/foo/lib/gcc-lib/...,'; \
217 echo
' where foo and ... indicate wherever the cc1 and f771'; \
218 echo
' executables were installed as part of this overall'; \
219 echo
' installation process.'; \
223 $(INSTALL_DATA
) $(LIBG2C
) $(libsubdir
)/$(LIBG2C
).n
224 ( cd
$(libsubdir
) ; $(RANLIB
) $(LIBG2C
).n
)
225 mv
-f
$(libsubdir
)/$(LIBG2C
).n
$(libsubdir
)/$(LIBG2C
)
226 $(INSTALL_DATA
) g2c.h
$(libsubdir
)/include/g2c.h
227 @if
[ -f f2c-install-ok
-o
-f
$(srcdir)/f2c-install-ok
]; then \
229 echo
'Warning: g77 no longer installs libf2c.a or f2c.h.'; \
230 echo
' You must do so yourself. For more information,'; \
231 echo
' read "Distributing Binaries" in the g77 docs.'; \
232 echo
' (To turn off this warning, delete the file'; \
233 echo
' f2c-install-ok in the source or build directory.)'; \
238 rm -f stamp-
* $(LIBG2C
)
246 rm -f libF77
/Makefile
247 rm -f libI77
/Makefile
248 rm -f libU77
/Makefile libU77
/config.log libU77
/a.out
251 rm -f Makefile config.cache config.status g2c.h
252 rm -f lib?
77/Makefile lib?
77/config.status
253 rm -f lib?
77/config.cache lib?
77/config.h
256 rm -f
$(srcdir)/configure
$(srcdir)/libU77
/configure
258 rebuilt
: ${srcdir}/configure
${srcdir}/libU77
/configure
260 .PHONY
: rebuilt
mostlyclean clean distclean maintainer-clean
all