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
|
---|