xref: /original-bsd/usr.bin/f77/libI77/makefile (revision 92d3de31)
1# Makefile for the f77 I/O library
2#	@(#)makefile	1.19	05/06/83
3# Originally written by P. Weinberger, Bell Labs, Murray Hill, N.J.
4# Modified by D. Wasley, Univ of California, Berkeley, Calif.
5
6DESTDIR =
7LIB = libI77.a
8LIB_P = libI77_p.a
9CFLAGS = -O
10LPR = lpr
11
12# for CFO 11's
13#ENV = ucb
14#LIBDIR = ${DESTDIR}/usr/$(ENV)/lib
15#TAPE = /dev/nrmt1
16
17# for Vax
18LIBDIR = ${DESTDIR}/usr/lib
19TAPE = /dev/rnmt0.1600
20
21SOURCES = backspace.c close.c dfe.c due.c endfile.c err.c fmt.c \
22	fmtlib.c iio.c inquire.c lwrite.c lread.c dolio.c open.c \
23	rdfmt.c rewind.c sfe.c sue.c douio.c util.c wrtfmt.c \
24	dofio.c f_errlist.c \
25	f_errno.h fiodefs.h fio.h format.h lio.h ioinit.f
26
27OBJECTS = dfe.o due.o iio.o sue.o sfe.o lread.o lwrite.o \
28	dofio.o douio.o dolio.o \
29	rdfmt.o wrtfmt.o fmt.o fmtlib.o \
30	backspace.o rewind.o open.o close.o endfile.o inquire.o \
31	ioinit.o err.o util.o f_errlist.o
32
33all:	$(LIB) $(LIB_P)
34
35$(LIB):	$(OBJECTS) Version
36	ar ru $(LIB) $?
37	ranlib $(LIB)
38	@chmod 644 $(LIB)
39
40$(LIB_P):	$(OBJECTS) Version
41	cd profiled; ar ru ../$(LIB_P) $?
42	ranlib $(LIB_P)
43	@chmod 644 $(LIB_P)
44
45install:	$(LIBDIR)/$(LIB) $(LIBDIR)/$(LIB_P) $(LIBDIR)/libI66.a
46
47$(LIBDIR)/$(LIB):	$(LIB)
48	@-mv $(LIBDIR)/$(LIB) $(LIBDIR)/$(LIB).old
49	tar cf - $(LIB) | (cd $(LIBDIR); tar xvf - )
50
51$(LIBDIR)/$(LIB_P):	$(LIB_P)
52	@-mv $(LIBDIR)/$(LIB_P) $(LIBDIR)/$(LIB_P).old
53	tar cf - $(LIB_P) | (cd $(LIBDIR); tar xvf - )
54
55$(LIBDIR)/libI66.a:	libI66.o
56	cp libI66.o $(LIBDIR)/libI66.a
57	@chmod 644 $(LIBDIR)/libI66.a
58
59backspace.o:	fio.h backspace.c
60dfe.o:		fio.h dfe.c
61due.o:		fio.h due.c
62iio.o:		fio.h lio.h iio.c
63inquire.o:	fio.h inquire.c
64rewind.o:	fio.h rewind.c
65rdfmt.o:	fio.h format.h rdfmt.c
66sue.o:		fio.h sue.c
67douio.o:	fio.h douio.c
68sfe.o:		fio.h sfe.c
69fmt.o:		fio.h format.h fmt.c
70dofio.o:	fio.h format.h dofio.c
71lwrite.o:	fio.h lio.h lwrite.c
72lread.o:	fio.h lio.h lread.c
73dolio.o:	fio.h lio.h dolio.c
74open.o:		fio.h open.c
75close.o:	fio.h close.c
76util.o:		fio.h util.c
77endfile.o:	fio.h endfile.c
78wrtfmt.o:	fio.h format.h wrtfmt.c
79err.o:		fiodefs.h err.c
80fmtlib.o:	fio.h fmtlib.c
81#fio.h:		fiodefs.h
82#fiodefs.h:	f_errno.h
83
84# compile, then strip unnecessary symbols
85.c.o:
86	-cd profiled; \
87		cc $(CFLAGS) -p -c ../$*.c; \
88		ld -r -x $*.o; \
89		mv a.out $*.o
90	cc $(CFLAGS) -c $*.c
91	-ld -r -x $*.o
92	mv a.out $*.o
93
94ioinit.o:	ioinit.f
95	-cd profiled; \
96		f77 -O -p -c ../ioinit.f; \
97		ld -r -x ioinit.o; \
98		mv a.out ioinit.o
99	f77 -O -c ioinit.f
100	-ld -r -x ioinit.o
101	mv a.out ioinit.o
102
103f_errlist.o:	f_errlist.c
104	cc $(CFLAGS) -c f_errlist.c
105	@rm -f profiled/f_errlist.o
106	ln f_errlist.o profiled/f_errlist.o
107
108Version:	$(SOURCES) mkvers
109	@rm -f Version.c
110	./mkvers $(LIB) $(SOURCES) > Version.c
111	cc -c Version.c
112	mv Version.o Version
113	@rm -f profiled/Version
114	ln Version profiled/Version
115
116mkvers:	mkvers.c
117	@cc mkvers.c -o mkvers
118
119clean:
120	rm -f $(OBJECTS) Version $(LIB) $(LIB_P) libI66.o profiled/*
121
122index:	$(SOURCES) mkindx
123	@./mkindx "f77 libI77.a Source Listing " Makefile $(SOURCES)
124
125print:	index
126	@pr index Makefile `ls $(SOURCES)` | $(LPR)
127
128mkindx:	mkindx.c
129	@cc mkindx.c -o mkindx
130
131Intro:	Intro.tx
132	@-rm Intro
133	nroff -ms Intro.tx > Intro
134
135wup:	Intro.tx
136	nroff -ms Intro.tx | ul | more
137
138order:
139	@rm -f order
140	lorder $(OBJECTS) | tsort > order
141
142tags:	$(SOURCES)
143	ctags $(SOURCES)
144
145
146# End of Makefile
147# Below this line normally is not distributed ...
148
149Makefile:	makefile
150	@sed -n -e "1,/End of Makefile/p" makefile > Makefile
151
152tape:	Makefile
153	@tar cbf 20 $(TAPE) mkvers.c mkindx.c \
154	Makefile READ_ME NEWS Intro.tx Intro $(SOURCES)
155
156
157# below here is SCCS stuff ...
158
159backspace.c:	SCCS/s.backspace.c
160	@rm -f backspace.c
161	get SCCS/s.backspace.c
162
163close.c:	SCCS/s.close.c
164	@rm -f close.c
165	get SCCS/s.close.c
166
167dfe.c:	SCCS/s.dfe.c
168	@rm -f dfe.c
169	get SCCS/s.dfe.c
170
171due.c:	SCCS/s.due.c
172	@rm -f due.c
173	get SCCS/s.due.c
174
175endfile.c:	SCCS/s.endfile.c
176	@rm -f endfile.c
177	get SCCS/s.endfile.c
178
179err.c:	SCCS/s.err.c
180	@rm -f err.c
181	get SCCS/s.err.c
182
183fmt.c:	SCCS/s.fmt.c
184	@rm -f fmt.c
185	get SCCS/s.fmt.c
186
187fmtlib.c:	SCCS/s.fmtlib.c
188	@rm -f fmtlib.c
189	get SCCS/s.fmtlib.c
190
191iio.c:	SCCS/s.iio.c
192	@rm -f iio.c
193	get SCCS/s.iio.c
194
195inquire.c:	SCCS/s.inquire.c
196	@rm -f inquire.c
197	get SCCS/s.inquire.c
198
199lwrite.c:	SCCS/s.lwrite.c
200	@rm -f lwrite.c
201	get SCCS/s.lwrite.c
202
203lread.c:	SCCS/s.lread.c
204	@rm -f lread.c
205	get SCCS/s.lread.c
206
207dolio.c:	SCCS/s.dolio.c
208	@rm -f dolio.c
209	get SCCS/s.dolio.c
210
211open.c:	SCCS/s.open.c
212	@rm -f open.c
213	get SCCS/s.open.c
214
215rdfmt.c:	SCCS/s.rdfmt.c
216	@rm -f rdfmt.c
217	get SCCS/s.rdfmt.c
218
219rewind.c:	SCCS/s.rewind.c
220	@rm -f rewind.c
221	get SCCS/s.rewind.c
222
223sfe.c:	SCCS/s.sfe.c
224	@rm -f sfe.c
225	get SCCS/s.sfe.c
226
227sue.c:	SCCS/s.sue.c
228	@rm -f sue.c
229	get SCCS/s.sue.c
230
231douio.c:	SCCS/s.douio.c
232	@rm -f douio.c
233	get SCCS/s.douio.c
234
235util.c:	SCCS/s.util.c
236	@rm -f util.c
237	get SCCS/s.util.c
238
239wrtfmt.c:	SCCS/s.wrtfmt.c
240	@rm -f wrtfmt.c
241	get SCCS/s.wrtfmt.c
242
243dofio.c:	SCCS/s.dofio.c
244	@rm -f dofio.c
245	get SCCS/s.dofio.c
246
247f_errlist.c:	SCCS/s.f_errlist.c
248	@rm -f f_errlist.c
249	get SCCS/s.f_errlist.c
250
251f_errno.h:	SCCS/s.f_errno.h
252	@rm -f f_errno.h
253	get SCCS/s.f_errno.h
254
255fiodefs.h:	SCCS/s.fiodefs.h
256	@rm -f fiodefs.h
257	get SCCS/s.fiodefs.h
258
259fio.h:	SCCS/s.fio.h
260	@rm -f fio.h
261	get SCCS/s.fio.h
262
263format.h:	SCCS/s.format.h
264	@rm -f format.h
265	get SCCS/s.format.h
266
267lio.h:	SCCS/s.lio.h
268	@rm -f lio.h
269	get SCCS/s.lio.h
270
271ioinit.f:	SCCS/s.ioinit.f
272	@rm -f ioinit.f
273	get SCCS/s.ioinit.f
274