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