1OBJ = backspace.o close.o dfe.o dolio.o due.o endfile.o err.o \ 2 fmt.o fmtlib.o ftell_.o iio.o ilnw.o inquire.o lread.o lwrite.o \ 3 open.o rdfmt.o rewind.o rsfe.o rsli.o rsne.o sfe.o sue.o typesize.o \ 4 uio.o util.o wref.o wrtfmt.o wsfe.o wsle.o wsne.o xwsne.o 5MISC = F77_aloc.o main.o s_rnge.o abort_.o getarg_.o iargc_.o \ 6 getenv_.o signal_.o s_stop.o s_paus.o system_.o cabs.o\ 7 derf_.o derfc_.o erf_.o erfc_.o sig_die.o exit.o 8POW = pow_ci.o pow_dd.o pow_di.o pow_hh.o pow_ii.o pow_ri.o pow_zi.o pow_zz.o 9CX = c_abs.o c_cos.o c_div.o c_exp.o c_log.o c_sin.o c_sqrt.o 10DCX = z_abs.o z_cos.o z_div.o z_exp.o z_log.o z_sin.o z_sqrt.o 11REAL = r_abs.o r_acos.o r_asin.o r_atan.o r_atn2.o r_cnjg.o r_cos.o\ 12 r_cosh.o r_dim.o r_exp.o r_imag.o r_int.o\ 13 r_lg10.o r_log.o r_mod.o r_nint.o r_sign.o\ 14 r_sin.o r_sinh.o r_sqrt.o r_tan.o r_tanh.o 15DBL = d_abs.o d_acos.o d_asin.o d_atan.o d_atn2.o\ 16 d_cnjg.o d_cos.o d_cosh.o d_dim.o d_exp.o\ 17 d_imag.o d_int.o d_lg10.o d_log.o d_mod.o\ 18 d_nint.o d_prod.o d_sign.o d_sin.o d_sinh.o\ 19 d_sqrt.o d_tan.o d_tanh.o 20INT = i_abs.o i_dim.o i_dnnt.o i_indx.o i_len.o i_mod.o i_nint.o i_sign.o 21HALF = h_abs.o h_dim.o h_dnnt.o h_indx.o h_len.o h_mod.o h_nint.o h_sign.o 22CMP = l_ge.o l_gt.o l_le.o l_lt.o hl_ge.o hl_gt.o hl_le.o hl_lt.o 23EFL = ef1asc_.o ef1cmc_.o 24CHAR = s_cat.o s_cmp.o s_copy.o 25F90BIT = lbitbits.o lbitshft.o 26 27ALLOBJ = $(OBJ) $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) \ 28 $(HALF) $(CMP) $(EFL) $(CHAR) $(F90BIT) 29 30.c.o: 31 $(RM) $@ 32 $(CC) -c $*.c $(IFLAGS) 33 34libf2c.a:$(ALLOBJ) 35 $(AR) q libf2c.a $(ALLOBJ) 36 $(RANLIB) libf2c.a 37 38libf2c.so:$(ALLOBJ) 39 $(CC) -shared -fPIC -o libf2c.so $(ALLOBJ) 40 41###################################################################### 42 43OBJECTS = Fmain.o init.o gram.o lex.o proc.o equiv.o data.o format.o \ 44 expr.o exec.o intr.o io.o misc.o error.o mem.o names.o \ 45 output.o p1output.o pread.o put.o putpcc.o vax.o formatdata.o \ 46 parse_args.o niceprintf.o cds.o sysdep.o version.o 47 48f2c:$(OBJECTS) 49 $(CC) $(LDFLAGS) $(OBJECTS) -o f2c 50 51gram.c:gram.head gram.dcl gram.expr gram.exec gram.io defs.h tokdefs.h 52 ( sed <tokdefs.h "s/#define/%token/" ;\ 53 cat gram.head gram.dcl gram.expr gram.exec gram.io ) >gram.in 54 $(YACC) $(YFLAGS) gram.in 55 echo "(expect 4 shift/reduce)" 56 sed 's/^# line.*/\/* & *\//' y.tab.c >gram.c 57 rm -f gram.in y.tab.c 58 59tokdefs.h:tokens 60 grep -n . <tokens | sed "s/\([^:]*\):\(.*\)/#define \2 \1/" >tokdefs.h 61 62clean: 63 $(RM) *.o 64