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