|
|
1.1 root 1: #
2: # Copyright (c) 1980 Regents of the University of California.
3: # All rights reserved. The Berkeley software License Agreement
4: # specifies the terms and conditions for redistribution.
5: #
6: # @(#)Makefile 5.4 (Berkeley) 8/9/85
7: #
8: # Makefile for f77 math & startup lib, libF77.a
9:
10: CFLAGS = -O
11:
12: DEST = $(DESTDIR)/usr/lib
13:
14: DESTDIR =
15:
16: EXTHDRS =
17:
18: FFLAGS = -O
19:
20: HDRS = opcodes.h
21:
22: LIBRARY = libF77.a
23:
24: LIBRARY_P = libF77_p.a
25:
26: MAKEFILE = Makefile
27:
28: OBJS = abort_.o \
29: besj0_.o \
30: besj1_.o \
31: besjn_.o \
32: besy0_.o \
33: besy1_.o \
34: besyn_.o \
35: c_abs.o \
36: c_cos.o \
37: c_div.o \
38: c_exp.o \
39: c_log.o \
40: c_sin.o \
41: c_sqrt.o \
42: d_abs.o \
43: d_acos.o \
44: d_asin.o \
45: d_atan.o \
46: d_atn2.o \
47: d_cnjg.o \
48: d_cos.o \
49: d_cosh.o \
50: d_dim.o \
51: d_dprod.o \
52: d_exp.o \
53: d_imag.o \
54: d_int.o \
55: d_lg10.o \
56: d_log.o \
57: d_mod.o \
58: d_nint.o \
59: d_prod.o \
60: d_sign.o \
61: d_sin.o \
62: d_sinh.o \
63: d_tan.o \
64: d_tanh.o \
65: dbesj0_.o \
66: dbesj1_.o \
67: dbesjn_.o \
68: dbesy0_.o \
69: dbesy1_.o \
70: dbesyn_.o \
71: derf_.o \
72: derfc_.o \
73: ef1asc_.o \
74: ef1cmc_.o \
75: erf_.o \
76: erfc_.o \
77: exit_.o \
78: h_abs.o \
79: h_dim.o \
80: h_dnnt.o \
81: h_indx.o \
82: h_len.o \
83: h_mod.o \
84: h_nint.o \
85: h_sign.o \
86: hl_ge.o \
87: hl_gt.o \
88: hl_le.o \
89: hl_lt.o \
90: i_abs.o \
91: i_dim.o \
92: i_dnnt.o \
93: i_indx.o \
94: i_len.o \
95: i_mod.o \
96: i_nint.o \
97: i_sign.o \
98: l_ge.o \
99: l_gt.o \
100: l_le.o \
101: l_lt.o \
102: lnblnk_.o \
103: long_.o \
104: main.o \
105: pow_ci.o \
106: pow_dd.o \
107: pow_di.o \
108: pow_hh.o \
109: pow_ii.o \
110: pow_ri.o \
111: pow_zi.o \
112: pow_zz.o \
113: r_abs.o \
114: r_acos.o \
115: r_asin.o \
116: r_atan.o \
117: r_atn2.o \
118: r_cnjg.o \
119: r_cos.o \
120: r_cosh.o \
121: r_dim.o \
122: r_exp.o \
123: r_imag.o \
124: r_int.o \
125: r_lg10.o \
126: r_log.o \
127: r_mod.o \
128: r_nint.o \
129: r_sign.o \
130: r_sin.o \
131: r_sinh.o \
132: r_sqrt.o \
133: r_tan.o \
134: r_tanh.o \
135: rand_.o \
136: random_.o \
137: range.o \
138: rindex_.o \
139: s_cat.o \
140: s_cmp.o \
141: s_copy.o \
142: s_paus.o \
143: s_rnge.o \
144: s_stop.o \
145: short_.o \
146: signal_.o \
147: subout.o \
148: traper_.o \
149: trapov_.o \
150: trpfpe_.o \
151: z_cos.o \
152: z_div.o \
153: z_exp.o \
154: z_log.o \
155: z_sin.o \
156: z_sqrt.o
157:
158: OLDDIR = $(DESTDIR)/usr/old/lib
159:
160: OPTIONS = -DUCBVAX
161:
162: PRINT = pr
163:
164: SRCS = abort_.c \
165: besj0_.c \
166: besj1_.c \
167: besjn_.c \
168: besy0_.c \
169: besy1_.c \
170: besyn_.c \
171: c_abs.c \
172: c_cos.c \
173: c_div.c \
174: c_exp.c \
175: c_log.c \
176: c_sin.c \
177: c_sqrt.c \
178: d_abs.c \
179: d_acos.c \
180: d_asin.c \
181: d_atan.c \
182: d_atn2.c \
183: d_cnjg.c \
184: d_cos.c \
185: d_cosh.c \
186: d_dim.c \
187: d_dprod.c \
188: d_exp.c \
189: d_imag.c \
190: d_int.c \
191: d_lg10.c \
192: d_log.c \
193: d_mod.c \
194: d_nint.c \
195: d_prod.c \
196: d_sign.c \
197: d_sin.c \
198: d_sinh.c \
199: d_tan.c \
200: d_tanh.c \
201: dbesj0_.c \
202: dbesj1_.c \
203: dbesjn_.c \
204: dbesy0_.c \
205: dbesy1_.c \
206: dbesyn_.c \
207: derf_.c \
208: derfc_.c \
209: ef1asc_.c \
210: ef1cmc_.c \
211: erf_.c \
212: erfc_.c \
213: exit_.c \
214: h_abs.c \
215: h_dim.c \
216: h_dnnt.c \
217: h_indx.c \
218: h_len.c \
219: h_mod.c \
220: h_nint.c \
221: h_sign.c \
222: hl_ge.c \
223: hl_gt.c \
224: hl_le.c \
225: hl_lt.c \
226: i_abs.c \
227: i_dim.c \
228: i_dnnt.c \
229: i_indx.c \
230: i_len.c \
231: i_mod.c \
232: i_nint.c \
233: i_sign.c \
234: l_ge.c \
235: l_gt.c \
236: l_le.c \
237: l_lt.c \
238: lnblnk_.c \
239: long_.c \
240: main.c \
241: pow_ci.c \
242: pow_dd.c \
243: pow_di.c \
244: pow_hh.c \
245: pow_ii.c \
246: pow_ri.c \
247: pow_zi.c \
248: pow_zz.c \
249: r_abs.c \
250: r_acos.c \
251: r_asin.c \
252: r_atan.c \
253: r_atn2.c \
254: r_cnjg.c \
255: r_cos.c \
256: r_cosh.c \
257: r_dim.c \
258: r_exp.c \
259: r_imag.c \
260: r_int.c \
261: r_lg10.c \
262: r_log.c \
263: r_mod.c \
264: r_nint.c \
265: r_sign.c \
266: r_sin.c \
267: r_sinh.c \
268: r_sqrt.c \
269: r_tan.c \
270: r_tanh.c \
271: rand_.c \
272: random_.c \
273: range.c \
274: rindex_.c \
275: s_cat.c \
276: s_cmp.c \
277: s_copy.c \
278: s_paus.c \
279: s_rnge.c \
280: s_stop.c \
281: short_.c \
282: signal_.c \
283: subout.c \
284: traper_.c \
285: trapov_.c \
286: trpfpe_.c \
287: z_cos.c \
288: z_div.c \
289: z_exp.c \
290: z_log.c \
291: z_sin.c \
292: z_sqrt.c
293:
294: all: $(LIBRARY) $(LIBRARY_P)
295:
296: $(LIBRARY): $(OBJS) Version
297: @echo -n "Loading $(LIBRARY) ... "
298: @ar cru $(LIBRARY) $(OBJS) Version
299: @ranlib $(LIBRARY)
300: @echo "done"
301:
302: $(LIBRARY_P): $(OBJS) Version
303: @echo -n "Loading $(LIBRARY_P) ... "
304: @cd profiled; ar cru ../$(LIBRARY_P) $(OBJS) Version
305: @ranlib $(LIBRARY_P)
306: @echo "done"
307:
308: Version: $(SRCS) mkvers
309: @rm -f Version.c
310: ./mkvers $(LIBRARY) $(SRCS) > Version.c
311: $(CC) -c Version.c
312: mv Version.o Version
313: @rm -f profiled/Version
314: ln Version profiled/Version
315:
316: mkvers: mkvers.c
317: @$(CC) mkvers.c -o mkvers
318:
319: clean:; @rm -f $(OBJS) profiled/*.o $(LIBRARY) $(LIBRARY_P)
320:
321: depend:; @echo Construct dependencies manually
322:
323: extract:; @ar xo $(DEST)/$(LIBRARY); rm -f __.SYMDEF
324: @cd profiled; -ar xo $(DEST)/$(LIBRARY_P); rm -f __.SYMDEF
325:
326: index:; @ctags -wx $(HDRS) $(SRCS)
327:
328: install: $(LIBRARY) $(LIBRARY_P)
329: @-mv $(DEST)/$(LIBRARY) $(OLDDIR)/$(LIBRARY)
330: install -m 644 $(LIBRARY) $(DEST)/$(LIBRARY)
331: ranlib $(DEST)/$(LIBRARY)
332: @-mv $(DEST)/$(LIBRARY_P) $(OLDDIR)/$(LIBRARY_P)
333: install -m 644 $(LIBRARY_P) $(DEST)/$(LIBRARY_P)
334: ranlib $(DEST)/$(LIBRARY_P)
335:
336: library: $(LIBRARY) $(LIBRARY_P)
337:
338: print:; @$(PRINT) $(HDRS) $(SRCS)
339:
340: tags: $(HDRS) $(SRCS); @ctags $(HDRS) $(SRCS)
341:
342: update: $(DEST)/$(LIBRARY)
343:
344: $(DEST)/$(LIBRARY): $(SRCS) $(HDRS) $(EXTHDRS)
345: @-ar xo $(DEST)/$(LIBRARY)
346: @cd profiled; -ar xo $(DEST)/$(LIBRARY_P)
347: @make -f $(MAKEFILE) DEST=$(DEST) install clean
348:
349: trapov_.o: trapov_.c
350: cc -S $(OPTIONS) trapov_.c;
351: (echo "g/.set L[0-9][0-9]*,0x0$$/s/0x0/0xf10/"; echo "x") \
352: | ex - trapov_.s;
353: as trapov_.s -o trapov_.o;
354: mv trapov_.o profiled/trapov_.o
355: rm trapov_.s
356: cc -S $(OPTIONS) trapov_.c
357: (echo "g/.set L[0-9][0-9]*,0x0$$/s/0x0/0xf10/"; echo "x") \
358: | ex - trapov_.s
359: as trapov_.s -o trapov_.o
360: rm trapov_.s
361:
362: # 'Usef' is part of a kuldge to get around a bug in the C compiler.
363: # C (sec. 9.10 of C ref manual) should round the return value of
364: # functions of type float from double to float. It doesn't, so f77
365: # truncates it losing a half bit of accuracy. See file Test_float
366: # for a test. When it is fixed, get rid of Usef & the extraneous stores
367: # in pow_ri, r_dim, r_mod, r_nint .
368:
369: $(OBJS): Usef
370:
371: Usef: Usef.c
372: cc -O Usef.c -o Usef
373:
374: .c.o:
375: $(CC) -p `Usef $*` $(CFLAGS) -c $*.c
376: -ld -x -r $*.o
377: mv a.out profiled/$*.o
378: $(CC) `Usef $*` $(CFLAGS) -c $*.c
379: -ld -x -r $*.o
380: mv a.out $*.o
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.