]>
Commit | Line | Data |
---|---|---|
81fea2b1 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 | SHELL = /bin/sh | |
23 | ||
24 | #### Start of system configuration section. #### | |
25 | ||
26 | srcdir = @srcdir@ | |
27 | prefix = @prefix@ | |
28 | exec_prefix = @exec_prefix@ | |
29 | ||
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 | |
37 | ||
38 | TO_TOPDIR = .. | |
39 | ||
40 | INSTALL = $(srcdir)/$(TO_TOPDIR)/install-sh -c | |
41 | INSTALL_PROGRAM = $(INSTALL) | |
42 | INSTALL_DATA = $(INSTALL) | |
43 | ||
44 | AR = `if test -f $(TO_TOPDIR)/binutils/ar; then \ | |
45 | echo $(TO_TOPDIR)/binutils/ar; else echo ar; fi` | |
46 | AR_FLAGS = rc | |
47 | ||
48 | RANLIB = `if test -f $(TO_TOPDIR)/binutils/ranlib; then \ | |
49 | echo $(TO_TOPDIR)/binutils/ranlib; else echo ranlib; fi` | |
50 | ||
51 | MAKEINFO = `if test -f $(TO_TOPDIR)/texinfo/C/makeinfo; then \ | |
52 | echo $(TO_TOPDIR)/texinfo/C/makeinfo; else echo makeinfo; fi` | |
53 | ||
54 | CC = gcc | |
55 | CFLAGS = -g | |
56 | LIBCFLAGS = $(CFLAGS) | |
57 | ||
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.' | |
61 | ||
62 | FLAGS_TO_PASS= \ | |
63 | "SHELL=$(SHELL)" \ | |
64 | "INSTALL=$(INSTALL)" \ | |
65 | "INSTALL_DATA=$(INSTALL_DATA)" \ | |
66 | "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ | |
67 | "prefix=$(prefix)" \ | |
68 | "exec_prefix=$(exec_prefix)" \ | |
69 | "tooldir=$(tooldir)" \ | |
70 | "AR=$(AR)" \ | |
71 | "AR_FLAGS=$(AR_FLAGS)" \ | |
72 | "CC=$(CC)" \ | |
73 | "CFLAGS=$(CFLAGS)" \ | |
74 | "RANLIB=$(RANLIB)" \ | |
75 | "LIBCFLAGS=$(LIBCFLAGS)" \ | |
76 | "PICFLAG=$(PICFLAG)" \ | |
77 | "RUNTESTFLAGS=$(RUNTESTFLAGS)" | |
78 | ||
79 | ||
80 | lib = libf2c.a | |
81 | ||
82 | MISC = libF77/F77_aloc.o libF77/VersionF.o libF77/main.o libF77/s_rnge.o \ | |
83 | libF77/abort_.o libF77/getarg_.o libF77/iargc_.o libF77/getenv_.o \ | |
84 | libF77/signal_.o libF77/s_stop.o libF77/s_paus.o libF77/system_.o \ | |
85 | libF77/cabs.o libF77/derf_.o libF77/derfc_.o libF77/erf_.o \ | |
5a276a25 CB |
86 | libF77/erfc_.o libF77/sig_die.o libF77/exit_.o \ |
87 | libF77/setarg.o libF77/setsig.o | |
81fea2b1 JL |
88 | POW = libF77/pow_ci.o libF77/pow_dd.o libF77/pow_di.o libF77/pow_hh.o \ |
89 | libF77/pow_ii.o libF77/pow_ri.o libF77/pow_zi.o libF77/pow_zz.o \ | |
90 | libF77/pow_qq.o | |
91 | CX = libF77/c_abs.o libF77/c_cos.o libF77/c_div.o libF77/c_exp.o \ | |
92 | libF77/c_log.o libF77/c_sin.o libF77/c_sqrt.o | |
93 | DCX = libF77/z_abs.o libF77/z_cos.o libF77/z_div.o libF77/z_exp.o \ | |
94 | libF77/z_log.o libF77/z_sin.o libF77/z_sqrt.o | |
95 | REAL = libF77/r_abs.o libF77/r_acos.o libF77/r_asin.o libF77/r_atan.o \ | |
96 | libF77/r_atn2.o libF77/r_cnjg.o libF77/r_cos.o libF77/r_cosh.o \ | |
97 | libF77/r_dim.o libF77/r_exp.o libF77/r_imag.o libF77/r_int.o \ | |
98 | libF77/r_lg10.o libF77/r_log.o libF77/r_mod.o libF77/r_nint.o \ | |
99 | libF77/r_sign.o libF77/r_sin.o libF77/r_sinh.o libF77/r_sqrt.o \ | |
100 | libF77/r_tan.o libF77/r_tanh.o | |
101 | DBL = libF77/d_abs.o libF77/d_acos.o libF77/d_asin.o libF77/d_atan.o \ | |
102 | libF77/d_atn2.o libF77/d_cnjg.o libF77/d_cos.o libF77/d_cosh.o \ | |
103 | libF77/d_dim.o libF77/d_exp.o libF77/d_imag.o libF77/d_int.o \ | |
104 | libF77/d_lg10.o libF77/d_log.o libF77/d_mod.o libF77/d_nint.o \ | |
105 | libF77/d_prod.o libF77/d_sign.o libF77/d_sin.o libF77/d_sinh.o \ | |
106 | libF77/d_sqrt.o libF77/d_tan.o libF77/d_tanh.o | |
107 | INT = libF77/i_abs.o libF77/i_dim.o libF77/i_dnnt.o libF77/i_indx.o \ | |
108 | libF77/i_len.o libF77/i_mod.o libF77/i_nint.o libF77/i_sign.o | |
109 | HALF = libF77/h_abs.o libF77/h_dim.o libF77/h_dnnt.o libF77/h_indx.o \ | |
110 | libF77/h_len.o libF77/h_mod.o libF77/h_nint.o libF77/h_sign.o | |
111 | CMP = libF77/l_ge.o libF77/l_gt.o libF77/l_le.o libF77/l_lt.o \ | |
112 | libF77/hl_ge.o libF77/hl_gt.o libF77/hl_le.o libF77/hl_lt.o | |
113 | EFL = libF77/ef1asc_.o libF77/ef1cmc_.o | |
114 | CHAR = libF77/s_cat.o libF77/s_cmp.o libF77/s_copy.o | |
115 | F90BIT = libF77/lbitbits.o libF77/lbitshft.o libF77/qbitbits.o \ | |
116 | libF77/qbitshft.o | |
117 | FOBJ = $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) $(HALF) $(CMP) \ | |
118 | $(EFL) $(CHAR) $(F90BIT) | |
119 | ||
120 | IOBJ = libI77/VersionI.o libI77/backspace.o libI77/close.o libI77/dfe.o \ | |
121 | libI77/dolio.o libI77/due.o libI77/endfile.o libI77/err.o \ | |
122 | libI77/fmt.o libI77/fmtlib.o libI77/iio.o libI77/ilnw.o \ | |
123 | libI77/inquire.o libI77/lread.o libI77/lwrite.o libI77/open.o \ | |
124 | libI77/rdfmt.o libI77/rewind.o libI77/rsfe.o libI77/rsli.o \ | |
125 | libI77/rsne.o libI77/sfe.o libI77/sue.o libI77/typesize.o \ | |
126 | libI77/uio.o libI77/util.o libI77/wref.o libI77/wrtfmt.o \ | |
127 | libI77/wsfe.o libI77/wsle.o libI77/wsne.o libI77/xwsne.o \ | |
128 | libI77/ftell_.o | |
129 | ||
130 | UOBJ = libU77/VersionU.o libU77/gerror_.o libU77/perror_.o libU77/ierrno_.o \ | |
131 | libU77/itime_.o libU77/time_.o libU77/unlink_.o libU77/fnum_.o \ | |
132 | libU77/getpid_.o libU77/getuid_.o libU77/getgid_.o libU77/kill_.o \ | |
133 | libU77/rand_.o libU77/srand_.o libU77/irand_.o libU77/sleep_.o \ | |
134 | libU77/idate_.o libU77/ctime_.o libU77/etime_.o libU77/dtime_.o \ | |
135 | libU77/isatty_.o libU77/ltime_.o libU77/fstat_.o libU77/stat_.o \ | |
136 | libU77/lstat_.o libU77/access_.o libU77/link_.o libU77/getlog_.o \ | |
137 | libU77/ttynam_.o libU77/getcwd_.o libU77/vxttime_.o \ | |
138 | libU77/vxtidate_.o libU77/gmtime_.o libU77/fdate_.o libU77/secnds_.o \ | |
139 | libU77/bes.o libU77/dbes.o libU77/chdir_.o libU77/chmod_.o \ | |
140 | libU77/lnblnk_.o libU77/hostnm_.o libU77/rename_.o libU77/fgetc_.o \ | |
141 | libU77/fputc_.o libU77/umask_.o libU77/sys_clock_.o libU77/date_.o \ | |
142 | libU77/second_.o libU77/flush1_.o libU77/alarm_.o libU77/mclock_.o \ | |
143 | libU77/symlnk_.o | |
144 | ||
145 | F2CEXT = abort derf derfc ef1asc ef1cmc erf erfc exit getarg getenv iargc \ | |
146 | signal system flush ftell fseek access besj0 besj1 besjn besy0 besy1 \ | |
147 | besyn chdir chmod ctime date dbesj0 dbesj1 dbesjn dbesy0 dbesy1 dbesyn \ | |
148 | dtime etime fdate fgetc fget flush1 fnum fputc fput fstat gerror \ | |
149 | getcwd getgid getlog getpid getuid gmtime hostnm idate ierrno irand \ | |
150 | isatty itime kill link lnblnk lstat ltime mclock perror rand rename \ | |
151 | secnds second sleep srand stat symlnk sclock time ttynam umask unlink \ | |
152 | vxtidt vxttim alarm | |
153 | ||
154 | all: f2c.h $(lib) | |
155 | ||
156 | $(lib): stamp-libf77 stamp-libi77 stamp-libu77 stamp-libe77 | |
157 | rm -f $(lib) | |
7bd52f25 MH |
158 | $(AR) $(AR_FLAGS) $(lib) $(FOBJ) |
159 | $(AR) $(AR_FLAGS) $(lib) $(IOBJ) | |
160 | $(AR) $(AR_FLAGS) $(lib) $(UOBJ) | |
2929d7a2 DL |
161 | objs=""; for i in $(F2CEXT); do objs="$$objs libE77/L$$i.o"; done; \ |
162 | $(AR) $(AR_FLAGS) $(lib) $$objs | |
81fea2b1 JL |
163 | $(RANLIB) $(lib) |
164 | ||
165 | stamp-libi77: libI77/Makefile | |
166 | rm -f stamp-libi77 | |
167 | cd libI77; $(MAKE) -f Makefile $(FLAGS_TO_PASS) all | |
168 | touch stamp-libi77 | |
169 | ||
170 | stamp-libf77: libF77/Makefile | |
171 | rm -f stamp-libf77 | |
172 | cd libF77; $(MAKE) -f Makefile $(FLAGS_TO_PASS) all | |
173 | touch stamp-libf77 | |
174 | ||
175 | stamp-libu77: libU77/Makefile | |
176 | rm -f stamp-libu77 | |
177 | cd libU77; $(MAKE) -f Makefile $(FLAGS_TO_PASS) all | |
178 | touch stamp-libu77 | |
179 | ||
180 | stamp-libe77: $(srcdir)/f2cext.c | |
181 | rm -fr libE77 | |
182 | mkdir libE77 | |
183 | for name in $(F2CEXT); \ | |
184 | do \ | |
185 | echo $${name}; \ | |
186 | $(CC) -c -I. -I$(srcdir) -I../../include $(CPPFLAGS) $(CFLAGS) \ | |
187 | $(CGFLAGS) -DL$${name} $(srcdir)/f2cext.c \ | |
188 | -o libE77/L$${name}.o; \ | |
189 | if [ $$? -eq 0 ] ; then true; else exit 1; fi; \ | |
190 | done | |
191 | touch stamp-libe77 | |
192 | ||
193 | ${srcdir}/configure: ${srcdir}/configure.in | |
194 | rm -f config.cache && cd ${srcdir} && autoconf && rm -f config.cache | |
195 | ${srcdir}/libU77/configure: ${srcdir}/libU77/configure.in | |
196 | rm -f libU77/config.cache && cd ${srcdir}/libU77 && autoconf && rm -f config.cache | |
9992b2e1 DL |
197 | f2c.h Makefile: $(srcdir)/Makefile.in config.status |
198 | $(SHELL) config.status | |
199 | config.status: $(srcdir)/configure | |
200 | $(SHELL) config.status --recheck | |
81fea2b1 JL |
201 | |
202 | f2c.h: $(srcdir)/f2c.h.in | |
203 | ||
9992b2e1 DL |
204 | info install-info clean-info dvi: |
205 | ||
206 | check: | |
207 | cd libU77; $(MAKE) G77DIR=../../../gcc/ check | |
12346e71 | 208 | |
81fea2b1 JL |
209 | install: |
210 | $(INSTALL_DATA) $(lib) $(libdir)/$(lib).n | |
211 | ( cd $(libdir) ; $(RANLIB) $(lib).n ) | |
212 | mv -f $(libdir)/$(lib).n $(libdir)/$(lib) | |
213 | $(INSTALL_DATA) f2c.h $(includedir)/f2c.h | |
214 | ||
215 | mostlyclean: | |
216 | -rm -f stamp-* | |
217 | for i in libI77 libF77 libU77; do \ | |
218 | if [ -f $$i/Makefile ]; then \ | |
219 | cd $$i; $(MAKE) -f Makefile mostlyclean; cd ..; \ | |
220 | fi; \ | |
221 | done | |
222 | rm -fr libE77 | |
223 | ||
224 | clean: | |
225 | -rm -f config.log stamp-* | |
226 | for i in libI77 libF77 libU77; do \ | |
227 | if [ -f $$i/Makefile ]; then \ | |
228 | cd $$i; $(MAKE) -f Makefile clean; cd ..; \ | |
229 | fi; \ | |
230 | done | |
231 | rm -fr libE77 | |
232 | ||
233 | distclean: clean | |
234 | -rm -f Makefile config.cache lib?77/Makefile config.status lib?77/config.status lib?77/config.cache lib?77/config.h f2c.h | |
235 | ||
236 | maintainer-clean: distclean | |
237 | -rm -f $(srcdir)/configure $(srcdir)/libU77/configure | |
238 | ||
239 | rebuilt: ${srcdir}/configure ${srcdir}/libU77/configure | |
240 | ||
5a276a25 | 241 | .PHONY: rebuilt mostlyclean clean distclean maintainer-clean all |