xref: /original-bsd/usr.bin/f77/libF77/makefile (revision 2301fdfb)
1# Makefile for the f77 math & startup lib - libF77.a
2
3#	@(#)makefile	1.21	05/11/83
4
5DESTDIR =
6LIB = libF77.a
7LIB_P = libF77_p.a
8LPR = lpr
9CFLAGS = -O
10
11# for the CFO 11's
12#LIBDIR = ${DESTDIR}/usr/ucb/lib
13#OLDDIR = ${DESTDIR}/usr/old/lib
14#TAPE = /dev/nrmt1
15#OPTIONS =
16
17# for the VAX
18LIBDIR = ${DESTDIR}/usr/lib
19OLDDIR = ${DESTDIR}/usr/old/lib
20TAPE = /dev/rnmt0
21OPTIONS = -DUCBVAX
22
23MISC =	main.o s_rnge.o abort_.o exit_.o long_.o short_.o \
24	s_stop.o s_paus.o rand_.o range.o traper_.o trapov_.o \
25	dbesj0_.o dbesj1_.o dbesjn_.o dbesy0_.o dbesy1_.o dbesyn_.o \
26	besj0_.o besj1_.o besjn_.o besy0_.o besy1_.o besyn_.o
27POW =	pow_ci.o pow_dd.o pow_di.o pow_hh.o pow_ii.o  pow_ri.o pow_zi.o pow_zz.o
28CX =	c_abs.o c_cos.o c_div.o c_exp.o c_log.o c_sin.o c_sqrt.o
29DCX =	z_abs.o z_cos.o z_div.o z_exp.o z_log.o z_sin.o z_sqrt.o
30REAL =	r_abs.o r_acos.o r_asin.o r_atan.o r_atn2.o r_cnjg.o r_cos.o\
31	r_cosh.o r_dim.o r_exp.o r_imag.o r_int.o\
32	r_lg10.o r_log.o r_mod.o r_nint.o r_sign.o\
33	r_sin.o r_sinh.o r_sqrt.o r_tan.o r_tanh.o
34DBL =	d_abs.o d_acos.o d_asin.o d_atan.o d_atn2.o\
35	d_cnjg.o d_cos.o d_cosh.o d_dim.o d_exp.o\
36	d_imag.o d_int.o d_lg10.o d_log.o d_mod.o\
37	d_nint.o d_prod.o d_sign.o d_sin.o d_sinh.o\
38	d_sqrt.o d_tan.o d_tanh.o
39INT =	i_abs.o i_dim.o i_dnnt.o i_indx.o i_len.o i_mod.o i_nint.o i_sign.o
40HALF =	h_abs.o h_dim.o h_dnnt.o h_indx.o h_len.o h_mod.o  h_nint.o h_sign.o
41CMP =	l_ge.o l_gt.o l_le.o l_lt.o hl_ge.o hl_gt.o hl_le.o hl_lt.o
42EFL =	ef1asc_.o ef1cmc_.o
43CHAR =	s_cat.o rindex_.o s_cmp.o s_copy.o lnblnk_.o
44
45ALL =	$(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) $(HALF) \
46	$(CMP) $(EFL) $(CHAR)
47
48all:	$(LIB) $(LIB_P)
49
50$(LIB):	$(ALL) Version
51	ar ru $(LIB) $?
52	ranlib $(LIB)
53	chmod 644 $(LIB)
54	@ls -l $(LIB)
55
56$(LIB_P):	$(ALL) Version
57	cd profiled; ar ru ../$(LIB_P) $?
58	ranlib $(LIB_P)
59	chmod 644 $(LIB_P)
60	@ls -l $(LIB_P)
61
62c_abs.o c_cos.o c_div.o c_div.o c_exp.o c_log.o c_sin.o c_sqrt.o d_cnjg.o d_imag.o pow_ci.o pow_zi.o pow_zz.o r_cnjg.o r_imag.o z_abs.o z_cos.o z_div.o z_div.o z_exp.o z_log.o z_sin.o z_sqrt.o:	complex
63
64trapov_.o: trapov_.c
65	-cd profiled; \
66		cc -S ${OPTIONS} ../trapov_.c; \
67		(echo "g/.set	L[0-9][0-9]*,0x0$$/s/0x0/0xf10/"; echo "x") \
68			| ex - trapov_.s; \
69		as trapov_.s -o trapov_.o; \
70		rm trapov_.s
71	cc -S ${OPTIONS} trapov_.c
72	(echo "g/.set	L[0-9][0-9]*,0x0$$/s/0x0/0xf10/"; echo "x") \
73		| ex - trapov_.s
74	as trapov_.s -o trapov_.o
75	rm trapov_.s
76
77# compile, then strip unnecessary symbols
78.c.o :
79	-cd profiled; \
80		cc -c -p ${CFLAGS} ${OPTIONS} ../$*.c; \
81		ld -r -x $*.o; \
82		mv a.out $*.o
83	cc -c ${CFLAGS} ${OPTIONS} $*.c
84	-ld -r -x $*.o
85	mv a.out $*.o
86
87install:	$(LIBDIR)/$(LIB) $(LIBDIR)/$(LIB_P)
88
89$(LIBDIR)/$(LIB):	$(LIB)
90	@-mv $(LIBDIR)/$(LIB) $(OLDDIR)/$(LIB)
91	tar cf - $(LIB) | (cd $(LIBDIR); tar xvf - )
92
93$(LIBDIR)/$(LIB_P):	$(LIB_P)
94	@-mv $(LIBDIR)/$(LIB_P) $(OLDDIR)/$(LIB_P)
95	tar cf - $(LIB_P) | (cd $(LIBDIR); tar xvf - )
96
97clean:
98	rm -f $(ALL) Version $(LIB) $(LIB_P) profiled/*
99
100SOURCES = main.c s_rnge.c abort_.c exit_.c opcodes.h long_.c short_.c \
101	s_stop.c s_paus.c rand_.c bit.c range.c traper_.c trapov_.c \
102	dbesj0_.c dbesj1_.c dbesjn_.c dbesy0_.c dbesy1_.c dbesyn_.c \
103	besj0_.c besj1_.c besjn_.c besy0_.c besy1_.c besyn_.c \
104	pow_ci.c pow_dd.c pow_di.c pow_hh.c pow_ii.c  pow_ri.c pow_zi.c \
105	pow_zz.c \
106	c_abs.c c_cos.c c_div.c c_exp.c c_log.c c_sin.c c_sqrt.c \
107	z_abs.c z_cos.c z_div.c z_exp.c z_log.c z_sin.c z_sqrt.c \
108	r_abs.c r_acos.c r_asin.c r_atan.c r_atn2.c r_cnjg.c r_cos.c \
109	r_cosh.c r_dim.c r_exp.c r_imag.c r_int.c \
110	r_lg10.c r_log.c r_mod.c r_nint.c r_sign.c \
111	r_sin.c r_sinh.c r_sqrt.c r_tan.c r_tanh.c \
112	d_abs.c d_acos.c d_asin.c d_atan.c d_atn2.c \
113	d_cnjg.c d_cos.c d_cosh.c d_dim.c d_exp.c \
114	d_imag.c d_int.c d_lg10.c d_log.c d_mod.c \
115	d_nint.c d_prod.c d_sign.c d_sin.c d_sinh.c \
116	d_sqrt.c d_tan.c d_tanh.c \
117	i_abs.c i_dim.c i_dnnt.c i_indx.c i_len.c i_mod.c i_nint.c i_sign.c \
118	h_abs.c h_dim.c h_dnnt.c h_indx.c h_len.c h_mod.c  h_nint.c h_sign.c \
119	l_ge.c l_gt.c l_le.c l_lt.c hl_ge.c hl_gt.c hl_le.c hl_lt.c \
120	ef1asc_.c ef1cmc_.c \
121	s_cat.c s_cmp.c s_copy.c lnblnk_.c rindex_.c
122
123Version:	$(SOURCES) mkvers
124	@rm -f Version.c
125	./mkvers $(LIB) $(SOURCES) > Version.c
126	cc -c Version.c
127	mv Version.o Version
128	@rm -f profiled/Version
129	ln Version profiled/Version
130
131mkvers:	mkvers.c
132	@cc mkvers.c -o mkvers
133
134print:	index
135	@pr index Makefile `ls $(SOURCES)` | $(LPR)
136
137index:	$(SOURCES) mkindx
138	@./mkindx "libF77 Sources " Makefile $(SOURCES)
139
140mkindx:	mkindx.c
141	@cc mkindx.c -o mkindx
142
143# End of Makefile
144# Below this line normally is not distributed ...
145
146Makefile:	makefile
147	@sed -n -e "1,/End of Makefile/p" makefile > Makefile
148
149tape:	Makefile
150	-tar cbf 20 $(TAPE) READ_ME Makefile complex $(SOURCES) \
151		mkindx.c subout.c
152
153# below here is SCCS stuff ...
154
155main.c:	SCCS/s.main.c
156	@rm -f main.c
157	get SCCS/s.main.c
158
159lnblnk_.c:	SCCS/s.lnblnk_.c
160	@rm -f lnblnk_.c
161	get SCCS/s.lnblnk_.c
162
163range.c:	SCCS/s.range.c
164	@rm -f range.c
165	get SCCS/s.range.c
166
167rindex_.c:	SCCS/s.rindex_.c
168	@rm -f rindex_.c
169	get SCCS/s.rindex_.c
170
171traper_.c:	SCCS/s.traper_.c
172	@rm -f traper_.c
173	get SCCS/s.traper_.c
174
175trapov_.c:	SCCS/s.trapov_.c
176	@rm -f trapov_.c
177	get SCCS/s.trapov_.c
178