| 1 | .SUFFIXES: .c .o
|
|---|
| 2 | CC = cc
|
|---|
| 3 | SHELL = /bin/sh
|
|---|
| 4 | CFLAGS = -O
|
|---|
| 5 |
|
|---|
| 6 | # If your system lacks onexit() and you are not using an
|
|---|
| 7 | # ANSI C compiler, then you should add -DNO_ONEXIT to CFLAGS,
|
|---|
| 8 | # e.g., by changing the above "CFLAGS =" line to
|
|---|
| 9 | # CFLAGS = -O -DNO_ONEXIT
|
|---|
| 10 |
|
|---|
| 11 | # On at least some Sun systems, it is more appropriate to change the
|
|---|
| 12 | # "CFLAGS =" line to
|
|---|
| 13 | # CFLAGS = -O -Donexit=on_exit
|
|---|
| 14 |
|
|---|
| 15 | # compile, then strip unnecessary symbols
|
|---|
| 16 | .c.o:
|
|---|
| 17 | $(CC) -c -DSkip_f2c_Undefs $(CFLAGS) $*.c
|
|---|
| 18 | ld -r -x -o $*.xxx $*.o
|
|---|
| 19 | mv $*.xxx $*.o
|
|---|
| 20 | ## Under Solaris (and other systems that do not understand ld -x),
|
|---|
| 21 | ## omit -x in the ld line above.
|
|---|
| 22 | ## If your system does not have the ld command, comment out
|
|---|
| 23 | ## or remove both the ld and mv lines above.
|
|---|
| 24 |
|
|---|
| 25 | MISC = F77_aloc.o Version.o main.o s_rnge.o abort_.o getarg_.o iargc_.o \
|
|---|
| 26 | getenv_.o signal_.o s_stop.o s_paus.o system_.o cabs.o\
|
|---|
| 27 | derf_.o derfc_.o erf_.o erfc_.o sig_die.o exit_.o
|
|---|
| 28 | 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
|
|---|
| 29 | CX = c_abs.o c_cos.o c_div.o c_exp.o c_log.o c_sin.o c_sqrt.o
|
|---|
| 30 | DCX = z_abs.o z_cos.o z_div.o z_exp.o z_log.o z_sin.o z_sqrt.o
|
|---|
| 31 | REAL = r_abs.o r_acos.o r_asin.o r_atan.o r_atn2.o r_cnjg.o r_cos.o\
|
|---|
| 32 | r_cosh.o r_dim.o r_exp.o r_imag.o r_int.o\
|
|---|
| 33 | r_lg10.o r_log.o r_mod.o r_nint.o r_sign.o\
|
|---|
| 34 | r_sin.o r_sinh.o r_sqrt.o r_tan.o r_tanh.o
|
|---|
| 35 | DBL = d_abs.o d_acos.o d_asin.o d_atan.o d_atn2.o\
|
|---|
| 36 | d_cnjg.o d_cos.o d_cosh.o d_dim.o d_exp.o\
|
|---|
| 37 | d_imag.o d_int.o d_lg10.o d_log.o d_mod.o\
|
|---|
| 38 | d_nint.o d_prod.o d_sign.o d_sin.o d_sinh.o\
|
|---|
| 39 | d_sqrt.o d_tan.o d_tanh.o
|
|---|
| 40 | 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
|
|---|
| 41 | 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
|
|---|
| 42 | 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
|
|---|
| 43 | EFL = ef1asc_.o ef1cmc_.o
|
|---|
| 44 | CHAR = F77_aloc.o s_cat.o s_cmp.o s_copy.o
|
|---|
| 45 | F90BIT = lbitbits.o lbitshft.o
|
|---|
| 46 | QINT = pow_qq.o qbitbits.o qbitshft.o
|
|---|
| 47 | TIME = dtime_.o etime_.o
|
|---|
| 48 |
|
|---|
| 49 | all: signal1.h libF77.a
|
|---|
| 50 |
|
|---|
| 51 | # You may need to adjust signal1.h suitably for your system...
|
|---|
| 52 | signal1.h: signal1.h0
|
|---|
| 53 | cp signal1.h0 signal1.h
|
|---|
| 54 |
|
|---|
| 55 | # If you get an error compiling dtime_.c or etime_.c, try adding
|
|---|
| 56 | # -DUSE_CLOCK to the CFLAGS assignment above; if that does not work,
|
|---|
| 57 | # omit $(TIME) from the dependency list for libF77.a below.
|
|---|
| 58 |
|
|---|
| 59 | # For INTEGER*8 support (which requires system-dependent adjustments to
|
|---|
| 60 | # f2c.h), add $(QINT) to the libf2c.a dependency list below...
|
|---|
| 61 |
|
|---|
| 62 | libF77.a : $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) \
|
|---|
| 63 | $(HALF) $(CMP) $(EFL) $(CHAR) $(F90BIT) $(TIME)
|
|---|
| 64 | ar r libF77.a $?
|
|---|
| 65 | -ranlib libF77.a
|
|---|
| 66 |
|
|---|
| 67 | ### If your system lacks ranlib, you don't need it; see README.
|
|---|
| 68 |
|
|---|
| 69 | Version.o: Version.c
|
|---|
| 70 | $(CC) -c Version.c
|
|---|
| 71 |
|
|---|
| 72 | # To compile with C++, first "make f2c.h"
|
|---|
| 73 | f2c.h: f2ch.add
|
|---|
| 74 | cat /usr/include/f2c.h f2ch.add >f2c.h
|
|---|
| 75 |
|
|---|
| 76 | install: libF77.a
|
|---|
| 77 | mv libF77.a /usr/lib
|
|---|
| 78 | ranlib /usr/lib/libF77.a
|
|---|
| 79 |
|
|---|
| 80 | clean:
|
|---|
| 81 | rm -f libF77.a *.o
|
|---|
| 82 |
|
|---|
| 83 | check:
|
|---|
| 84 | xsum F77_aloc.c Notice README Version.c abort_.c c_abs.c c_cos.c \
|
|---|
| 85 | c_div.c c_exp.c c_log.c c_sin.c c_sqrt.c cabs.c d_abs.c d_acos.c \
|
|---|
| 86 | d_asin.c d_atan.c d_atn2.c d_cnjg.c d_cos.c d_cosh.c d_dim.c \
|
|---|
| 87 | d_exp.c d_imag.c d_int.c d_lg10.c d_log.c d_mod.c d_nint.c \
|
|---|
| 88 | d_prod.c d_sign.c d_sin.c d_sinh.c d_sqrt.c d_tan.c d_tanh.c \
|
|---|
| 89 | derf_.c derfc_.c dtime_.c \
|
|---|
| 90 | ef1asc_.c ef1cmc_.c erf_.c erfc_.c etime_.c exit_.c f2ch.add \
|
|---|
| 91 | getarg_.c getenv_.c h_abs.c h_dim.c h_dnnt.c h_indx.c h_len.c \
|
|---|
| 92 | h_mod.c h_nint.c h_sign.c hl_ge.c hl_gt.c hl_le.c hl_lt.c \
|
|---|
| 93 | i_abs.c i_dim.c i_dnnt.c i_indx.c i_len.c i_mod.c i_nint.c \
|
|---|
| 94 | i_sign.c iargc_.c l_ge.c l_gt.c l_le.c l_lt.c lbitbits.c lbitshft.c \
|
|---|
| 95 | main.c makefile pow_ci.c pow_dd.c pow_di.c pow_hh.c pow_ii.c \
|
|---|
| 96 | pow_qq.c pow_ri.c pow_zi.c pow_zz.c qbitbits.c qbitshft.c \
|
|---|
| 97 | r_abs.c r_acos.c r_asin.c r_atan.c r_atn2.c \
|
|---|
| 98 | r_cnjg.c r_cos.c r_cosh.c r_dim.c r_exp.c r_imag.c r_int.c r_lg10.c \
|
|---|
| 99 | r_log.c r_mod.c r_nint.c r_sign.c r_sin.c r_sinh.c r_sqrt.c \
|
|---|
| 100 | r_tan.c r_tanh.c s_cat.c s_cmp.c s_copy.c \
|
|---|
| 101 | s_paus.c s_rnge.c s_stop.c sig_die.c signal1.h0 signal_.c system_.c \
|
|---|
| 102 | z_abs.c z_cos.c z_div.c z_exp.c z_log.c z_sin.c z_sqrt.c >zap
|
|---|
| 103 | cmp zap libF77.xsum && rm zap || diff libF77.xsum zap
|
|---|