| 1 | # Makefile for the f77 math & startup lib - libF77.a |
| 2 | |
| 3 | # @(#)makefile 1.21 %G% |
| 4 | |
| 5 | DESTDIR = |
| 6 | LIB = libF77.a |
| 7 | LIB_P = libF77_p.a |
| 8 | LPR = lpr |
| 9 | CFLAGS = -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 |
| 18 | LIBDIR = ${DESTDIR}/usr/lib |
| 19 | OLDDIR = ${DESTDIR}/usr/old/lib |
| 20 | TAPE = /dev/rnmt0 |
| 21 | OPTIONS = -DUCBVAX |
| 22 | |
| 23 | MISC = 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 |
| 27 | POW = pow_ci.o pow_dd.o pow_di.o pow_hh.o pow_ii.o pow_ri.o pow_zi.o pow_zz.o |
| 28 | CX = c_abs.o c_cos.o c_div.o c_exp.o c_log.o c_sin.o c_sqrt.o |
| 29 | DCX = z_abs.o z_cos.o z_div.o z_exp.o z_log.o z_sin.o z_sqrt.o |
| 30 | REAL = 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 |
| 34 | DBL = 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 |
| 39 | INT = i_abs.o i_dim.o i_dnnt.o i_indx.o i_len.o i_mod.o i_nint.o i_sign.o |
| 40 | HALF = h_abs.o h_dim.o h_dnnt.o h_indx.o h_len.o h_mod.o h_nint.o h_sign.o |
| 41 | CMP = l_ge.o l_gt.o l_le.o l_lt.o hl_ge.o hl_gt.o hl_le.o hl_lt.o |
| 42 | EFL = ef1asc_.o ef1cmc_.o |
| 43 | CHAR = s_cat.o rindex_.o s_cmp.o s_copy.o lnblnk_.o |
| 44 | |
| 45 | ALL = $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) $(HALF) \ |
| 46 | $(CMP) $(EFL) $(CHAR) |
| 47 | |
| 48 | all: $(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 | |
| 62 | c_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 | |
| 64 | trapov_.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 | |
| 87 | install: $(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 | |
| 97 | clean: |
| 98 | rm -f $(ALL) Version $(LIB) $(LIB_P) profiled/* |
| 99 | |
| 100 | SOURCES = 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 | |
| 123 | Version: $(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 | |
| 131 | mkvers: mkvers.c |
| 132 | @cc mkvers.c -o mkvers |
| 133 | |
| 134 | print: index |
| 135 | @pr index Makefile `ls $(SOURCES)` | $(LPR) |
| 136 | |
| 137 | index: $(SOURCES) mkindx |
| 138 | @./mkindx "libF77 Sources " Makefile $(SOURCES) |
| 139 | |
| 140 | mkindx: mkindx.c |
| 141 | @cc mkindx.c -o mkindx |
| 142 | |
| 143 | # End of Makefile |
| 144 | # Below this line normally is not distributed ... |
| 145 | |
| 146 | Makefile: makefile |
| 147 | @sed -n -e "1,/End of Makefile/p" makefile > Makefile |
| 148 | |
| 149 | tape: Makefile |
| 150 | -tar cbf 20 $(TAPE) READ_ME Makefile complex $(SOURCES) \ |
| 151 | mkindx.c subout.c |
| 152 | |
| 153 | # below here is SCCS stuff ... |
| 154 | |
| 155 | main.c: SCCS/s.main.c |
| 156 | @rm -f main.c |
| 157 | get SCCS/s.main.c |
| 158 | |
| 159 | lnblnk_.c: SCCS/s.lnblnk_.c |
| 160 | @rm -f lnblnk_.c |
| 161 | get SCCS/s.lnblnk_.c |
| 162 | |
| 163 | range.c: SCCS/s.range.c |
| 164 | @rm -f range.c |
| 165 | get SCCS/s.range.c |
| 166 | |
| 167 | rindex_.c: SCCS/s.rindex_.c |
| 168 | @rm -f rindex_.c |
| 169 | get SCCS/s.rindex_.c |
| 170 | |
| 171 | traper_.c: SCCS/s.traper_.c |
| 172 | @rm -f traper_.c |
| 173 | get SCCS/s.traper_.c |
| 174 | |
| 175 | trapov_.c: SCCS/s.trapov_.c |
| 176 | @rm -f trapov_.c |
| 177 | get SCCS/s.trapov_.c |