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