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
BIN_DIR?=/usr/local/bin
LIB_DIR?=/usr/local/lib
install: clean
install -m755 src/mylib.bash $(LIB_DIR)/mylib.bash
install -m755 src/myparse.bash $(LIB_DIR)/myparse.bash
install -m755 src/myminiparse.sh $(LIB_DIR)/myminiparse.sh
install -m755 src/unittest-color.awk $(LIB_DIR)/unittest-color.awk
install -m755 src/android-emulator $(BIN_DIR)/android-emulator
install -m755 src/check-x $(BIN_DIR)/check-x
install -m755 src/ctdir $(BIN_DIR)/ctdir
install -m755 src/debom $(BIN_DIR)/debom
install -m755 src/docker-clean $(BIN_DIR)/docker-clean
install -m755 src/docker-get-all $(BIN_DIR)/docker-get-all
install -m755 src/docker-get-exited $(BIN_DIR)/docker-get-exited
install -m755 src/docker-restart $(BIN_DIR)/docker-restart
install -m755 src/docker-up $(BIN_DIR)/docker-up
install -m755 src/epub $(BIN_DIR)/epub
install -m755 src/enumerate $(BIN_DIR)/enumerate
install -m755 src/fw-status $(BIN_DIR)/fw-status
install -m755 src/mkbak $(BIN_DIR)/mkbak
install -m755 src/mktar $(BIN_DIR)/mktar
install -m755 src/pactl-get-running-sink $(BIN_DIR)/pactl-get-running-sink
install -m755 src/pactl-mute $(BIN_DIR)/pactl-mute
install -m755 src/pactl-volume-down $(BIN_DIR)/pactl-volume-down
install -m755 src/pactl-volume-printf $(BIN_DIR)/pactl-volume-printf
install -m755 src/pactl-volume-up $(BIN_DIR)/pactl-volume-up
install -m755 src/rand $(BIN_DIR)/rand
install -m755 src/rebom $(BIN_DIR)/rebom
install -m755 src/rmtar $(BIN_DIR)/rmtar
install -m755 src/rmzip $(BIN_DIR)/rmzip
install -m755 src/tarcat $(BIN_DIR)/tarcat
install -m755 src/tarls $(BIN_DIR)/tarls
install -m755 src/unittest $(BIN_DIR)/unittest
install -m755 src/untar $(BIN_DIR)/untar
install -m755 src/vimsplit $(BIN_DIR)/vimsplit
install -m755 src/wg-off $(BIN_DIR)/wg-off
install -m755 src/wg-on $(BIN_DIR)/wg-on
install -m755 src/wg-status $(BIN_DIR)/wg-status
install -m755 src/whichcat $(BIN_DIR)/whichcat
install -m755 src/whiched $(BIN_DIR)/whiched
install -m755 src/whichhead $(BIN_DIR)/whichhead
install -m755 src/whichvi $(BIN_DIR)/whichvi
install -m755 src/whisper $(BIN_DIR)/whisper
install -m755 src/wttr $(BIN_DIR)/wttr
uninstall:
rm $(LIB_DIR)/mylib.bash
rm $(LIB_DIR)/myparse.bash
rm $(LIB_DIR)/myminiparse.sh
rm $(LIB_DIR)/unittest-color.awk
rm $(BIN_DIR)/android-emulator
rm $(BIN_DIR)/check-x
rm $(BIN_DIR)/ctdir
rm $(BIN_DIR)/debom
rm $(BIN_DIR)/docker-clean
rm $(BIN_DIR)/docker-get-all
rm $(BIN_DIR)/docker-get-exited
rm $(BIN_DIR)/docker-restart
rm $(BIN_DIR)/docker-up
rm $(BIN_DIR)/epub
rm $(BIN_DIR)/enumerate
rm $(BIN_DIR)/fw-status
rm $(BIN_DIR)/mkbak
rm $(BIN_DIR)/mktar
rm $(BIN_DIR)/pactl-get-running-sink
rm $(BIN_DIR)/pactl-mute
rm $(BIN_DIR)/pactl-volume-down
rm $(BIN_DIR)/pactl-volume-printf
rm $(BIN_DIR)/pactl-volume-up
rm $(BIN_DIR)/rand
rm $(BIN_DIR)/rebom
rm $(BIN_DIR)/rmtar
rm $(BIN_DIR)/rmzip
rm $(BIN_DIR)/tarcat
rm $(BIN_DIR)/tarls
rm $(BIN_DIR)/unittest
rm $(BIN_DIR)/untar
rm $(BIN_DIR)/vimsplit
rm $(BIN_DIR)/wg-off
rm $(BIN_DIR)/wg-on
rm $(BIN_DIR)/wg-status
rm $(BIN_DIR)/whichcat
rm $(BIN_DIR)/whiched
rm $(BIN_DIR)/whichhead
rm $(BIN_DIR)/whichvi
rm $(BIN_DIR)/whisper
rm $(BIN_DIR)/wttr
test: clean static-test-files
shellcheck src/*.bash src/*.sh $(LIB_DIR)/mylib.bash $(LIB_DIR)/myparse.bash $(LIB_DIR)/myminiparse.sh
sh tests/compression_test.sh
sh tests/ctdir_test.sh
sh tests/which_test.sh
sh tests/bom_test.sh
static-test-files:
printf "[1]\n[2]\n[3]\n\n[1]\n[2]\n[3]\n\n[1]\n[2]\n[3]\n\n[1]\n[2]\n[3]\n\n[1]\n[2]\n[3]\n\n" > tests/static/compression_result.txt
printf "[1]\n[2]\n[3]\n\n" > tests/static/compression_target.txt
printf "foo bar\n" > tests/static/debom_result.txt
printf "\xEF\xBB\xBFfoo bar\n" > tests/static/debom_target.txt
printf "(a)\n(b)\n(c)\n\n" > tests/static/decompression_result.txt
cp tests/static/decompression_result.txt tests/static/tar.txt
cp tests/static/decompression_result.txt tests/static/gzip.txt
cp tests/static/decompression_result.txt tests/static/xz.txt
cp tests/static/decompression_result.txt tests/static/zstd.txt
cp tests/static/decompression_result.txt tests/static/bzip2.txt
cd tests/static/; tar -cf decompression_target.tar tar.txt
cd tests/static/; tar -czf decompression_target.tar.gz gzip.txt
cd tests/static/; tar -cJf decompression_target.tar.xz xz.txt
cd tests/static/; tar --zstd -cf decompression_target.tar.zst zstd.txt
cd tests/static/; tar -cjf decompression_target.tar.bz2 bzip2.txt
rm tests/static/tar.txt tests/static/gzip.txt tests/static/xz.txt tests/static/zstd.txt tests/static/bzip2.txt
clean:
rm -rf tests/temp_compression
rm -rf tests/temp_bom