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