File: Makefile

package info (click to toggle)
htscodecs 1.6.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,640 kB
  • sloc: ansic: 15,651; javascript: 2,907; makefile: 330; sh: 184
file content (142 lines) | stat: -rw-r--r-- 5,655 bytes parent folder | download | duplicates (4)
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
all: test

CBIN=../build/tests
NODE=node
NODE_OPTS=--use-strict

TESTS=test_r4x8 test_r4x16 test_arith test_fqzcomp test_tok3
CORPUS=../tests

modules: node_modules/bzip2 node_modules/minimist

node_modules/bzip2:
	-mkdir node_modules
	npm install bzip2

node_modules/minimist:
	-mkdir node_modules
	npm install minimist

test check: modules ${TESTS}

test_r4x8:
	@echo
	@echo === Checking r4x8
	@if [ ! -e ${CBIN}/rans4x8 ]; then echo "Set CBIN if you wish to validate against C version"; fi
	@for i in ${CORPUS}/dat/r4x8/*; do \
            echo $$i;\
	    base=`echo $$i | sed 's/\.[0-9]*$$//;s#/q#/../q#'`; \
	    level=`echo $$i | sed 's/.*\.//'`;\
	    # Decode predefined data set\
	    a=`${NODE} ${NODE_OPTS} main_rans.js -d -r $$i 2>/dev/null | md5sum`; \
	    b=`cut -f 1 < $$base | tr -d '\012' | md5sum`; \
	    test "$$a" = "$$b" || echo $<: Mismatch for $$i; \
	    # Round trip. \
	    cut -f 1 < $$base | tr -d '\012' > _nonl; \
	    ${NODE} ${NODE_OPTS} main_rans.js -o $$level -r _nonl 2>/dev/null > _; \
	    a=`${NODE} ${NODE_OPTS} main_rans.js -d -r _ 2>/dev/null | md5sum`; \
	    test "$$a" = "$$b" || echo $<: Fail round-trip for $$base with level $$level; \
	    if [ -e ${CBIN}/rans4x8 ]; \
	    then \
	      a=`${CBIN}/rans4x8 -d -r < _ 2>/dev/null | tr '\000' '\012' | md5sum`; \
	      test "$$a" = "$$b" || echo $<: Fail JS to C round-trip for $$base; \
	    fi; \
	done

test_r4x16:
	@echo
	@echo === Checking r4x16
	@if [ ! -e ${CBIN}/rans4x16pr ]; then echo "Set CBIN if you wish to validate against C version"; fi
	@for i in ${CORPUS}/dat/r4x16/*; do \
            echo $$i;\
	    base=`echo $$i | sed 's/\.[0-9]*$$//;s#/q#/../q#'`; \
	    level=`echo $$i | sed 's/.*\.//'`;\
	    # Decode predefined data set\
	    a=`${NODE} ${NODE_OPTS} main_rans4x16.js -d -r $$i 2>/dev/null | md5sum`; \
	    b=`cut -f 1 < $$base | tr -d '\012' | md5sum`; \
	    test "$$a" = "$$b" || echo $<: Mismatch for $$i; \
	    # Round trip. \
	    cut -f 1 < $$base | tr -d '\012' > _nonl; \
	    ${NODE} ${NODE_OPTS} main_rans4x16.js -o $$level -r _nonl 2>/dev/null > _; \
	    a=`${NODE} ${NODE_OPTS} main_rans4x16.js -d -r _ 2>/dev/null | md5sum`; \
	    test "$$a" = "$$b" || echo $<: Fail round-trip for $$base with level $$level; \
	    if [ -e ${CBIN}/rans4x16pr ]; \
	    then \
	      a=`${CBIN}/rans4x16pr -d -r < _ 2>/dev/null | tr '\000' '\012' | md5sum`; \
	      test "$$a" = "$$b" || echo $<: Fail JS to C round-trip for $$base; \
	    fi; \
	done

test_arith:
	@echo
	@echo === Checking arith
	@if [ ! -e ${CBIN}/arith_dynamic ]; then echo "Set CBIN if you wish to validate against C version"; fi
	@for i in ${CORPUS}/dat/arith/*; do \
            echo $$i;\
	    base=`echo $$i | sed 's/\.[0-9]*$$//;s#/q#/../q#'`; \
	    level=`echo $$i | sed 's/.*\.//'`;\
	    # Decode predefined data set\
	    a=`${NODE} ${NODE_OPTS} main_arith_gen.js -d -r $$i 2>/dev/null | md5sum`; \
	    b=`cut -f 1 < $$base | tr -d '\012' | md5sum`; \
	    test "$$a" = "$$b" || echo $<: Mismatch for $$i; \
	    # Round trip. \
	    cut -f 1 < $$base | tr -d '\012' > _nonl; \
	    ${NODE} ${NODE_OPTS} main_arith_gen.js -o $$level -r _nonl 2>/dev/null > _; \
	    a=`${NODE} ${NODE_OPTS} main_arith_gen.js -d -r _ 2>/dev/null | md5sum`; \
	    test "$$a" = "$$b" || echo $<: Fail round-trip for $$base with level $$level; \
	    if [ -e ${CBIN}/arith_dynamic ]; \
	    then \
	      a=`${CBIN}/arith_dynamic -d -r < _ 2>/dev/null | tr '\000' '\012' | md5sum`; \
	      test "$$a" = "$$b" || echo $<: Fail JS to C round-trip for $$base; \
	    fi; \
	done

test_fqzcomp:
	@echo
	@echo === Checking fqzcomp
	@if [ ! -e ${CBIN}/fqzcomp_qual ]; then echo "Set CBIN if you wish to validate against C version"; fi
	@for i in ${CORPUS}/dat/fqzcomp/q*; do \
            echo $$i;\
	    base=`echo $$i | sed 's/\.[0-9]*$$//;s#/q#/../q#'`; \
	    level=`echo $$i | sed 's/.*\.//'`;\
	    # Decode predefined data set\
	    a=`${NODE} ${NODE_OPTS} main_fqzcomp.js -d -r $$i 2>/dev/null | md5sum`; \
	    b=`awk '{print $$1}' $$base | md5sum`; \
	    test "$$a" = "$$b" || echo $<: Mismatch for $$i; \
	    # Round trip. \
	    ${NODE} ${NODE_OPTS} main_fqzcomp.js -s $$level -r $$base 2>/dev/null > _; \
	    a=`${NODE} ${NODE_OPTS} main_fqzcomp -d -r _ 2>/dev/null | md5sum`; \
	    test "$$a" = "$$b" || echo $<: Fail round-trip for $$base with level $$level; \
	    if [ -e ${CBIN}/fqzcomp_qual ]; \
	    then \
	      a=`${CBIN}/fqzcomp_qual -d -r < _ 2>/dev/null | tr '\000' '\012' | md5sum`; \
	      test "$$a" = "$$b" || echo $<: Fail JS to C round-trip for $$base; \
	    fi; \
	done

test_tok3:
	@echo
	@echo === Checking tok3
	@if [ ! -e ${CBIN}/tokenise_name3 ]; then echo "Set CBIN if you wish to validate against C version"; fi
	@for base in ${CORPUS}/names/*.names; do \
	    echo -n "$$base  	";\
	    ${NODE} ${NODE_OPTS} main_tok3.js -a -r $$base 2>/dev/null > _; \
	    a=`${NODE} ${NODE_OPTS} main_tok3 -d -r _ 2>/dev/null | md5sum`; \
	    cat _ | wc -c;\
	    b=`cat $$base | md5sum`; \
	    test "$$a" = "$$b" || echo $<: Fail round-trip for $$base; \
	    if [ -e ${CBIN}/tokenise_name3 ]; \
	    then \
	      a=`${CBIN}/tokenise_name3 -d -r < _ | tr '\000' '\012' | md5sum`; \
	      test "$$a" = "$$b" || echo $<: Fail JS to C round-trip for $$base; \
	    fi; \
	done;
	@for i in ${CORPUS}/names/tok3/*; do \
	   echo $$i;\
	    base=`echo $$i | sed 's/\.[0-9]*$$//;s#/tok3##'`; \
	    level=`echo $$i | sed 's/.*\.//'`;\
	    # Decode predefined data set\
	    a=`${NODE} ${NODE_OPTS} main_tok3 -d -r $$i 2>/dev/null | md5sum`; \
	    b=`cat $$base | md5sum`; \
	    test "$$a" = "$$b" || echo $<: Mismatch for $$i; \
	done;