|
| 1 | +SHELL=/bin/bash |
| 2 | + |
| 3 | +.PHONY: test unzip |
| 4 | + |
| 5 | +.INTERMEDIATE: skdef1.test skdef2.test skdef3.test sktp1.test sktp2.test sktd1.test sktd2.test skodd1.test skodd2.test qcgett.test qcgetp.test |
| 6 | + |
| 7 | +all: supcrt92 dprons92.dat |
| 8 | + |
| 9 | +cprons92: cprons92.for |
| 10 | + gfortran $^ -o $@ |
| 11 | + |
| 12 | +dprons92.dat: sprons92.dat cprons92 |
| 13 | + rm -f $@ |
| 14 | + echo -e '$<\n$@' | ./cprons92 >/dev/null |
| 15 | + |
| 16 | +supcrt92: sup92d.f rep92d.f reac92d.f h2o92d.for |
| 17 | + gfortran $^ -o $@ |
| 18 | + |
| 19 | +unzip: supcrt92.zip |
| 20 | + unzip $^ |
| 21 | + ls | grep -v Makefile | while read -r f; do mv "$$f" "$$(echo "$$f" | tr '[:upper:]' '[:lower:]')"; done |
| 22 | + |
| 23 | +supcrt92.zip: |
| 24 | + curl 'https://pages.uoregon.edu/palandri/data/Supcrt92.zip' > $@ |
| 25 | + |
| 26 | +test: all skdef1.test skdef2.test skdef3.test sktp1.test sktp2.test sktd1.test sktd2.test skodd1.test skodd2.test qcgett.test qcgetp.test |
| 27 | + # the header is different between the files, so skip it |
| 28 | + diff --ignore-space-change \ |
| 29 | + <(sed -n '/ REACTION 1 /,$$ p' skdef1.tab) \ |
| 30 | + <(sed -n '/ REACTION 1 /,$$ p' skdef1.test) |
| 31 | + diff --ignore-space-change \ |
| 32 | + <(sed -n '/ REACTION 1 /,$$ p' skdef2.tab) \ |
| 33 | + <(sed -n '/ REACTION 1 /,$$ p' skdef2.test) |
| 34 | + diff --ignore-space-change \ |
| 35 | + <(sed -n '/ REACTION 1 /,$$ p' skdef3.tab) \ |
| 36 | + <(sed -n '/ REACTION 1 /,$$ p' skdef3.test) |
| 37 | + diff --ignore-space-change \ |
| 38 | + <(sed -n '/ REACTION 1 /,$$ p' sktp1.tab) \ |
| 39 | + <(sed -n '/ REACTION 1 /,$$ p' sktp1.test) |
| 40 | + diff --ignore-space-change \ |
| 41 | + <(sed -n '/ REACTION 1 /,$$ p' sktp2.tab) \ |
| 42 | + <(sed -n '/ REACTION 1 /,$$ p' sktp2.test) |
| 43 | + diff --ignore-space-change \ |
| 44 | + <(sed -n '/ REACTION 1 /,$$ p' sktd1.tab) \ |
| 45 | + <(sed -n '/ REACTION 1 /,$$ p' sktd1.test) |
| 46 | + diff --ignore-space-change \ |
| 47 | + <(sed -n '/ REACTION 1 /,$$ p' sktd2.tab) \ |
| 48 | + <(sed -n '/ REACTION 1 /,$$ p' sktd2.test) |
| 49 | + diff --ignore-space-change \ |
| 50 | + <(sed -n '/ REACTION 1 /,$$ p' skodd1.tab) \ |
| 51 | + <(sed -n '/ REACTION 1 /,$$ p' skodd1.test) |
| 52 | + diff --ignore-space-change \ |
| 53 | + <(sed -n '/ REACTION 1 /,$$ p' skodd2.tab) \ |
| 54 | + <(sed -n '/ REACTION 1 /,$$ p' skodd2.test) |
| 55 | + # the remaining two tests have slight differences in output (what was |
| 56 | + # simply 0.0 can become -0.0). We use some regex magic to convert negative |
| 57 | + # zeros to normal zeros. |
| 58 | + diff --ignore-space-change \ |
| 59 | + <(sed -n '/ REACTION 1 /,$$ p' qcgett.tab) \ |
| 60 | + <(sed -n 's/ -0\.\(0*\) / 0.\1 /g; / REACTION 1 /,$$ p;' qcgett.test) |
| 61 | + diff --ignore-space-change \ |
| 62 | + <(sed -n '/ REACTION 1 /,$$ p' qcgetp.tab) \ |
| 63 | + <(sed -n 's/ -0\.\(0*\) / 0.\1 /g; / REACTION 1 /,$$ p;' qcgetp.test) |
| 64 | + |
| 65 | +skdef1.test: skarn.rxn supcrt92 dprons92.dat |
| 66 | + echo -e 'y\n1\n1\n1\nskarn.rxn\n$@\n1' | ./supcrt92 >/dev/null |
| 67 | + |
| 68 | +skdef2.test: skarn.rxn supcrt92 dprons92.dat |
| 69 | + echo -e 'y\n1\n2\n1\nskarn.rxn\n$@\n1' | ./supcrt92 >/dev/null |
| 70 | + |
| 71 | +skdef3.test: skarn.rxn supcrt92 dprons92.dat |
| 72 | + echo -e 'y\n1\n3\n1\nskarn.rxn\n$@\n1' | ./supcrt92 >/dev/null |
| 73 | + |
| 74 | +sktp1.test: skarn.rxn supcrt92 dprons92.dat |
| 75 | + echo -e 'y\n2\nsktp1.con\n1\n$<\n$@\n1' | ./supcrt92 >/dev/null |
| 76 | + |
| 77 | +sktp2.test: skarn.rxn supcrt92 dprons92.dat |
| 78 | + echo -e 'y\n2\nsktp2.con\n1\n$<\n$@\n1' | ./supcrt92 >/dev/null |
| 79 | + |
| 80 | +sktd1.test: skarn.rxn supcrt92 dprons92.dat |
| 81 | + echo -e 'y\n2\nsktd1.con\n1\n$<\n$@\n1' | ./supcrt92 >/dev/null |
| 82 | + |
| 83 | +sktd2.test: skarn.rxn supcrt92 dprons92.dat |
| 84 | + echo -e 'y\n2\nsktd2.con\n1\n$<\n$@\n1' | ./supcrt92 >/dev/null |
| 85 | + |
| 86 | +skodd1.test: skarn.rxn supcrt92 dprons92.dat |
| 87 | + echo -e 'y\n2\nskodd1.con\n1\n$<\n$@\n1' | ./supcrt92 >/dev/null |
| 88 | + |
| 89 | +skodd2.test: skarn.rxn supcrt92 dprons92.dat |
| 90 | + echo -e 'y\n2\nskodd2.con\n1\n$<\n$@\n1' | ./supcrt92 >/dev/null |
| 91 | + |
| 92 | +qcgett.test: qc.rxn supcrt92 dprons92.dat |
| 93 | + echo -e 'y\n2\nqcgett.con\n1\n$<\n$@\n1' | ./supcrt92 >/dev/null |
| 94 | + |
| 95 | +qcgetp.test: qc.rxn supcrt92 dprons92.dat |
| 96 | + echo -e 'y\n2\nqcgetp.con\n1\n$<\n$@\n1' | ./supcrt92 >/dev/null |
| 97 | + |
| 98 | +clean: |
| 99 | + rm -f cprons92 dprons92.dat supcrt92 skdef1.test skdef2.test skdef3.test sktp1.test sktp2.test sktd1.test sktd2.test skodd1.test skodd2.test qcgett.test qcgetp.test |
0 commit comments