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