]>
Commit | Line | Data |
---|---|---|
5ff904cd JL |
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). | |
4 | # | |
5 | #This file is part of GNU Fortran. | |
6 | # | |
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) | |
10 | #any later version. | |
11 | # | |
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. | |
16 | # | |
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 | |
20 | #02111-1307, USA. | |
21 | ||
22 | #### Start of system configuration section. #### | |
23 | ||
24 | # $(srcdir) must be set to the g77 runtime source directory | |
25 | # (g77/f/runtime/). | |
26 | ||
27 | srcdir = @srcdir@ | |
28 | VPATH = @srcdir@ | |
29 | ||
30 | top_srcdir = @top_srcdir@ | |
31 | ||
32 | INSTALL = @INSTALL@ # installs aren't actually done from here | |
33 | INSTALL_PROGRAM = @INSTALL_PROGRAM@ | |
34 | INSTALL_DATA = @INSTALL_DATA@ | |
35 | RANLIB = @RANLIB@ | |
36 | RANLIB_TEST = @RANLIB_TEST@ | |
37 | ||
38 | CFLAGS = @CFLAGS@ | |
39 | CPPFLAGS = @CPPFLAGS@ @DEFS@ | |
40 | LDFLAGS = @LDFLAGS@ | |
41 | LIBS = @LIBS@ | |
7e9e3823 | 42 | CGFLAGS = #-g0 |
5ff904cd JL |
43 | |
44 | GCC_FOR_TARGET = @CC@ | |
45 | CC = $(GCC_FOR_TARGET) | |
46 | ||
47 | CROSS = @CROSS@ | |
48 | ||
49 | objext = .o | |
50 | ||
51 | transform=@program_transform_name@ | |
52 | ||
53 | prefix = @prefix@ | |
54 | exec_prefix = @exec_prefix@ | |
55 | ||
56 | AR = ar | |
57 | AR_FLAGS = rc | |
58 | ||
59 | # Directory in which to install scripts. | |
60 | bindir = $(exec_prefix)/bin | |
61 | ||
62 | # Directory in which to install library files. | |
63 | libdir = $(prefix)/lib | |
64 | ||
65 | # Directory in which to install documentation info files. | |
66 | infodir = $(prefix)/info | |
67 | ||
68 | #### End of system configuration section. #### | |
69 | ||
70 | SHELL = /bin/sh | |
71 | ||
72 | lib = ../../libf2c.a | |
73 | ||
74 | SUBDIRS = libI77 libF77 libU77 | |
75 | ||
76 | MISC = libF77/F77_aloc.o libF77/VersionF.o libF77/main.o libF77/s_rnge.o \ | |
77 | libF77/abort_.o libF77/getarg_.o libF77/iargc_.o libF77/getenv_.o \ | |
78 | libF77/signal_.o libF77/s_stop.o libF77/s_paus.o libF77/system_.o \ | |
79 | libF77/cabs.o libF77/derf_.o libF77/derfc_.o libF77/erf_.o \ | |
80 | libF77/erfc_.o libF77/sig_die.o libF77/exit_.o | |
81 | POW = libF77/pow_ci.o libF77/pow_dd.o libF77/pow_di.o libF77/pow_hh.o \ | |
82 | libF77/pow_ii.o libF77/pow_ri.o libF77/pow_zi.o libF77/pow_zz.o \ | |
83 | libF77/pow_qq.o | |
84 | CX = libF77/c_abs.o libF77/c_cos.o libF77/c_div.o libF77/c_exp.o \ | |
85 | libF77/c_log.o libF77/c_sin.o libF77/c_sqrt.o | |
86 | DCX = libF77/z_abs.o libF77/z_cos.o libF77/z_div.o libF77/z_exp.o \ | |
87 | libF77/z_log.o libF77/z_sin.o libF77/z_sqrt.o | |
88 | REAL = libF77/r_abs.o libF77/r_acos.o libF77/r_asin.o libF77/r_atan.o \ | |
89 | libF77/r_atn2.o libF77/r_cnjg.o libF77/r_cos.o libF77/r_cosh.o \ | |
90 | libF77/r_dim.o libF77/r_exp.o libF77/r_imag.o libF77/r_int.o \ | |
91 | libF77/r_lg10.o libF77/r_log.o libF77/r_mod.o libF77/r_nint.o \ | |
92 | libF77/r_sign.o libF77/r_sin.o libF77/r_sinh.o libF77/r_sqrt.o \ | |
93 | libF77/r_tan.o libF77/r_tanh.o | |
94 | DBL = libF77/d_abs.o libF77/d_acos.o libF77/d_asin.o libF77/d_atan.o \ | |
95 | libF77/d_atn2.o libF77/d_cnjg.o libF77/d_cos.o libF77/d_cosh.o \ | |
96 | libF77/d_dim.o libF77/d_exp.o libF77/d_imag.o libF77/d_int.o \ | |
97 | libF77/d_lg10.o libF77/d_log.o libF77/d_mod.o libF77/d_nint.o \ | |
98 | libF77/d_prod.o libF77/d_sign.o libF77/d_sin.o libF77/d_sinh.o \ | |
99 | libF77/d_sqrt.o libF77/d_tan.o libF77/d_tanh.o | |
100 | INT = libF77/i_abs.o libF77/i_dim.o libF77/i_dnnt.o libF77/i_indx.o \ | |
101 | libF77/i_len.o libF77/i_mod.o libF77/i_nint.o libF77/i_sign.o | |
102 | HALF = libF77/h_abs.o libF77/h_dim.o libF77/h_dnnt.o libF77/h_indx.o \ | |
103 | libF77/h_len.o libF77/h_mod.o libF77/h_nint.o libF77/h_sign.o | |
104 | CMP = libF77/l_ge.o libF77/l_gt.o libF77/l_le.o libF77/l_lt.o \ | |
105 | libF77/hl_ge.o libF77/hl_gt.o libF77/hl_le.o libF77/hl_lt.o | |
106 | EFL = libF77/ef1asc_.o libF77/ef1cmc_.o | |
107 | CHAR = libF77/s_cat.o libF77/s_cmp.o libF77/s_copy.o | |
108 | F90BIT = libF77/lbitbits.o libF77/lbitshft.o libF77/qbitbits.o \ | |
109 | libF77/qbitshft.o | |
110 | FOBJ = $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) $(HALF) $(CMP) \ | |
111 | $(EFL) $(CHAR) $(F90BIT) | |
112 | ||
113 | IOBJ = libI77/VersionI.o libI77/backspace.o libI77/close.o libI77/dfe.o \ | |
114 | libI77/dolio.o libI77/due.o libI77/endfile.o libI77/err.o \ | |
115 | libI77/fmt.o libI77/fmtlib.o libI77/iio.o libI77/ilnw.o \ | |
116 | libI77/inquire.o libI77/lread.o libI77/lwrite.o libI77/open.o \ | |
117 | libI77/rdfmt.o libI77/rewind.o libI77/rsfe.o libI77/rsli.o \ | |
118 | libI77/rsne.o libI77/sfe.o libI77/sue.o libI77/typesize.o \ | |
119 | libI77/uio.o libI77/util.o libI77/wref.o libI77/wrtfmt.o \ | |
120 | libI77/wsfe.o libI77/wsle.o libI77/wsne.o libI77/xwsne.o \ | |
121 | libI77/ftell_.o | |
122 | ||
123 | UOBJ = libU77/VersionU.o libU77/gerror_.o libU77/perror_.o libU77/ierrno_.o \ | |
124 | libU77/itime_.o libU77/time_.o libU77/unlink_.o libU77/fnum_.o \ | |
125 | libU77/getpid_.o libU77/getuid_.o libU77/getgid_.o libU77/kill_.o \ | |
126 | libU77/rand_.o libU77/srand_.o libU77/irand_.o libU77/sleep_.o \ | |
127 | libU77/idate_.o libU77/ctime_.o libU77/etime_.o libU77/dtime_.o \ | |
128 | libU77/isatty_.o libU77/ltime_.o libU77/fstat_.o libU77/stat_.o \ | |
129 | libU77/lstat_.o libU77/access_.o libU77/link_.o libU77/getlog_.o \ | |
130 | libU77/ttynam_.o libU77/getcwd_.o libU77/vxttime_.o \ | |
131 | libU77/vxtidate_.o libU77/gmtime_.o libU77/fdate_.o libU77/secnds_.o \ | |
132 | libU77/bes.o libU77/dbes.o libU77/chdir_.o libU77/chmod_.o \ | |
133 | libU77/lnblnk_.o libU77/hostnm_.o libU77/rename_.o libU77/fgetc_.o \ | |
56f21d6f | 134 | libU77/fputc_.o libU77/umask_.o libU77/sys_clock_.o libU77/date_.o \ |
795232f7 JL |
135 | libU77/second_.o libU77/flush1_.o libU77/alarm_.o libU77/mclock_.o \ |
136 | libU77/symlnk_.o | |
5ff904cd JL |
137 | |
138 | F2CEXT = abort derf derfc ef1asc ef1cmc erf erfc exit getarg getenv iargc \ | |
139 | signal system flush ftell fseek access besj0 besj1 besjn besy0 besy1 \ | |
140 | besyn chdir chmod ctime date dbesj0 dbesj1 dbesjn dbesy0 dbesy1 dbesyn \ | |
141 | dtime etime fdate fgetc fget flush1 fnum fputc fput fstat gerror \ | |
142 | getcwd getgid getlog getpid getuid gmtime hostnm idate ierrno irand \ | |
143 | isatty itime kill link lnblnk lstat ltime mclock perror rand rename \ | |
144 | secnds second sleep srand stat symlnk sclock time ttynam umask unlink \ | |
145 | vxtidt vxttim alarm | |
146 | ||
147 | # flags_to_pass to recursive makes & configure (hence the quoting style) | |
148 | FLAGS_TO_PASS = \ | |
149 | CROSS="$(CROSS)" \ | |
150 | AR_FLAGS="$(AR_FLAGS)" \ | |
151 | AR="$(AR)" \ | |
152 | GCCFLAGS="$(GCCFLAGS)" \ | |
153 | GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \ | |
154 | CC="$(GCC_FOR_TARGET)" \ | |
155 | LDFLAGS="$(LDFLAGS)" \ | |
156 | RANLIB="$(RANLIB)" \ | |
157 | RANLIB_TEST="$(RANLIB_TEST)" \ | |
158 | SHELL="$(SHELL)" | |
159 | ||
160 | CROSS_FLAGS_TO_PASS = \ | |
161 | CROSS="$(CROSS)" \ | |
162 | AR_FLAGS="$(AR_FLAGS)" \ | |
163 | AR="$(AR)" \ | |
164 | GCCFLAGS="$(GCCFLAGS)" \ | |
165 | GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \ | |
166 | CC="$(GCC_FOR_TARGET)" \ | |
167 | LDFLAGS="$(LDFLAGS)" \ | |
168 | RANLIB="$(RANLIB)" \ | |
169 | RANLIB_TEST="$(RANLIB_TEST)" \ | |
170 | SHELL="$(SHELL)" | |
171 | ||
10549cbd | 172 | all: ../../include/f2c.h $(lib) |
5ff904cd JL |
173 | |
174 | $(lib): stamp-lib ; @true | |
10549cbd | 175 | stamp-lib: stamp-libf77 stamp-libi77 stamp-libu77 |
5ff904cd | 176 | rm -f stamp-lib |
9ee29ed7 | 177 | $(AR) $(AR_FLAGS) $(lib) $(FOBJ) $(IOBJ) $(UOBJ) |
795232f7 JL |
178 | rm -fr libE77 |
179 | mkdir libE77 | |
5ff904cd JL |
180 | for name in $(F2CEXT); \ |
181 | do \ | |
182 | echo $${name}; \ | |
183 | $(GCC_FOR_TARGET) -c -I. -I$(srcdir) -I../../include $(CPPFLAGS) $(CFLAGS) $(CGFLAGS) \ | |
795232f7 | 184 | -DL$${name} $(srcdir)/f2cext.c -o libE77/L$${name}$(objext); \ |
5ff904cd | 185 | if [ $$? -eq 0 ] ; then true; else exit 1; fi; \ |
5ff904cd | 186 | done |
795232f7 JL |
187 | $(AR) $(AR_FLAGS) $(lib) libE77/*$(object) |
188 | rm -fr libE77 | |
5ff904cd JL |
189 | if $(RANLIB_TEST); then $(RANLIB) $(lib); \ |
190 | else true; fi | |
191 | touch stamp-lib | |
192 | ||
10549cbd JW |
193 | stamp-libi77: libI77/Makefile |
194 | rm -f stamp-libi77 | |
5ff904cd JL |
195 | if test "$(CROSS)"; then \ |
196 | cd libI77; $(MAKE) -f Makefile $(CROSS_FLAGS_TO_PASS) all ; \ | |
197 | else \ | |
198 | cd libI77; $(MAKE) -f Makefile $(FLAGS_TO_PASS) all ; \ | |
199 | fi | |
10549cbd | 200 | touch stamp-libi77 |
5ff904cd | 201 | |
10549cbd JW |
202 | stamp-libf77: libF77/Makefile |
203 | rm -f stamp-libf77 | |
5ff904cd JL |
204 | if test "$(CROSS)"; then \ |
205 | cd libF77; $(MAKE) -f Makefile $(CROSS_FLAGS_TO_PASS) all ; \ | |
206 | else \ | |
207 | cd libF77; $(MAKE) -f Makefile $(FLAGS_TO_PASS) all ; \ | |
208 | fi | |
10549cbd | 209 | touch stamp-libf77 |
5ff904cd | 210 | |
10549cbd JW |
211 | stamp-libu77: libU77/Makefile |
212 | rm -f stamp-libu77 | |
5ff904cd JL |
213 | if test "$(CROSS)"; then \ |
214 | cd libU77; $(MAKE) -f Makefile $(CROSS_FLAGS_TO_PASS) all ; \ | |
215 | else \ | |
216 | cd libU77; $(MAKE) -f Makefile $(FLAGS_TO_PASS) all ; \ | |
217 | fi | |
10549cbd | 218 | touch stamp-libu77 |
5ff904cd JL |
219 | |
220 | ${srcdir}/configure: ${srcdir}/configure.in | |
221 | rm -f config.cache && cd ${srcdir} && autoconf && rm -f config.cache | |
222 | ${srcdir}/libU77/configure: ${srcdir}/libU77/configure.in | |
223 | rm -f libU77/config.cache && cd ${srcdir}/libU77 && autoconf && rm -f config.cache | |
224 | #../include/f2c.h libI77/Makefile libF77/Makefile libU77/Makefile Makefile: ${srcdir}/Makefile.in \ | |
225 | # config.status libU77/config.status | |
226 | # $(FLAGS_TO_PASS) CONFIG_SITE=/dev/null $(SHELL) config.status | |
227 | # cd libU77; $(FLAGS_TO_PASS) CONFIG_SITE=/dev/null $(SHELL) config.status | |
228 | ||
229 | # Extra dependencies for the targets above: | |
230 | libI77/Makefile: $(srcdir)/libI77/Makefile.in | |
231 | libF77/Makefile: $(srcdir)/libF77/Makefile.in | |
232 | libU77/Makefile: $(srcdir)/libU77/Makefile.in | |
233 | ../../include/f2c.h: $(srcdir)/f2c.h.in | |
234 | ||
235 | #config.status: ${srcdir}/configure | |
236 | # $(FLAGS_TO_PASS) CONFIG_SITE=/dev/null $(SHELL) config.status --recheck | |
237 | #libU77/config.status: ${srcdir}/libU77/configure | |
238 | # cd libU77; $(FLAGS_TO_PASS) CONFIG_SITE=/dev/null $(SHELL) config.status --recheck | |
239 | ||
240 | mostlyclean: | |
10549cbd JW |
241 | -rm -f stamp-* |
242 | for i in libI77 libF77 libU77; do \ | |
243 | if [ -f $$i/Makefile ]; then \ | |
244 | cd $$i; $(MAKE) -f Makefile mostlyclean; cd ..; \ | |
245 | fi; \ | |
246 | done | |
5ff904cd JL |
247 | |
248 | clean: | |
af818dc8 | 249 | -rm -f config.log stamp-* |
10549cbd JW |
250 | for i in libI77 libF77 libU77; do \ |
251 | if [ -f $$i/Makefile ]; then \ | |
252 | cd $$i; $(MAKE) -f Makefile clean; cd ..; \ | |
253 | fi; \ | |
254 | done | |
5ff904cd JL |
255 | |
256 | distclean: clean | |
ba0cfe5b | 257 | -rm -f Makefile config.cache lib?77/Makefile config.status lib?77/config.status lib?77/config.cache lib?77/config.h ../../include/f2c.h |
5ff904cd JL |
258 | |
259 | maintainer-clean: distclean | |
260 | -rm -f $(srcdir)/configure $(srcdir)/libU77/configure | |
261 | ||
262 | uninstall: | |
263 | rm ../../include/f2c.h | |
264 | ||
265 | rebuilt: ${srcdir}/configure ${srcdir}/libU77/configure | |
266 | ||
267 | .PHONY: libf77 libi77 libu77 rebuilt mostlyclean clean distclean maintainer-clean \ | |
268 | uninstall all |