1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
#!/usr/bin/make
# Execute this script to extract the examples from the MINPACK
# documentation (/usr/share/doc/minpack-dev/minpack-documentation.txt)
# and compile and run them. You may compare the numerical results
# with those in the same file.
PGM=tchkder thybrd thybrd1 thybrj thybrj1 tlmder tlmder1 tlmdif \
tlmdif1 tlmstr tlmstr1
CPGM=tcchkder tchybrd tchybrd1 tchybrj tchybrj1 tclmder tclmder1 tclmdif \
tclmdif1 tclmstr tclmstr1
SRC=tchkder.f thybrd.f thybrd1.f thybrj.f thybrj1.f tlmder.f tlmder1.f \
tlmdif.f tlmdif1.f tlmstr.f tlmstr1.f
CSRC=tchkder.c thybrd.c thybrd1.c thybrj.c thybrj1.c tlmder.c tlmder1.c \
tlmdif.c tlmdif1.c tlmstr.c tlmstr1.c
all: ctest ftest
ctest: ${CPGM}
for x in ${CPGM}; do echo $$x; ./$$x; done
ftest: ${PGM}
for x in ${PGM}; do echo $$x; ./$$x; done
${SRC}: /usr/share/doc/minpack-dev/minpack-documentation.txt.gz
zcat $< | awk ' \
/DRIVER FOR [A-Z1]+ EXAMPLE/{ \
pgm=tolower($$4); \
oname="t" pgm ".f"; \
$$0 = substr($$0,3); \
print >oname; \
do { \
getline; $$0 = substr($$0,3); \
if (!/^ +Page$$/) print >>oname; \
} \
while (!/LAST CARD OF SUBROUTINE FCN/); \
getline; $$0 = substr($$0,3); print >>oname; \
getline; $$0 = substr($$0,3); print >>oname; \
}'
tchkder: tchkder.f
gfortran -o $@ $< -lminpack
thybrd: thybrd.f
gfortran -o $@ $< -lminpack
thybrd1: thybrd1.f
gfortran -o $@ $< -lminpack
thybrj: thybrj.f
gfortran -o $@ $< -lminpack
thybrj1: thybrj1.f
gfortran -o $@ $< -lminpack
tlmder: tlmder.f
gfortran -o $@ $< -lminpack
tlmder1: tlmder1.f
gfortran -o $@ $< -lminpack
tlmdif: tlmdif.f
gfortran -o $@ $< -lminpack
tlmdif1: tlmdif1.f
gfortran -o $@ $< -lminpack
tlmstr: tlmstr.f
gfortran -o $@ $< -lminpack
tlmstr1: tlmstr1.f
gfortran -o $@ $< -lminpack
tcchkder: tchkder.c
gfortran -o $@ $< -lminpack -lm
tchybrd: thybrd.c
gfortran -o $@ $< -lminpack -lm
tchybrd1: thybrd1.c
gfortran -o $@ $< -lminpack -lm
tchybrj: thybrj.c
gfortran -o $@ $< -lminpack -lm
tchybrj1: thybrj1.c
gfortran -o $@ $< -lminpack -lm
tclmder: tlmder.c
gfortran -o $@ $< -lminpack -lm
tclmder1: tlmder1.c
gfortran -o $@ $< -lminpack -lm
tclmdif: tlmdif.c
gfortran -o $@ $< -lminpack -lm
tclmdif1: tlmdif1.c
gfortran -o $@ $< -lminpack -lm
tclmstr: tlmstr.c
gfortran -o $@ $< -lminpack -lm
tclmstr1: tlmstr1.c
gfortran -o $@ $< -lminpack -lm
|