While convert_wav.sh does the job of converting all files, I wanted additional features for testing purpose (e.g. make check). Here is my suggested Makefile (which uses the QOA's Makefile) with the script that generates dependencies (gen_deps.sh):
for file_type in QOA,qoa,qoa WAV,qoa_wav,qoa.wav; do
PREFIX=$(echo $file_type | cut -d, -f1)
SUBDIR=$(echo $file_type | cut -d, -f2)
EXTENS=$(echo $file_type | cut -d, -f3)
# Create Makefile list of file names
echo "${PREFIX}_FILES= \\"
for directory in */; do
dir_only=$(echo "$directory" | sed 's-/*$--g')
for wav_orig in "$dir_only"/*.wav; do
name=$(basename "${wav_orig%.*}")
# Add file name to the Makefile list
echo -e "\t$dir_only/$SUBDIR/$name.$EXTENS \\"
done
done
echo # Empty line
done
QOACONV=../qoaconv
for directory in /; do
dir_only=$(echo "$directory" | sed 's-/$--g')
While
convert_wav.sh
does the job of converting all files, I wanted additional features for testing purpose (e.g.make check
). Here is my suggestedMakefile
(which uses the QOA's Makefile) with the script that generates dependencies (gen_deps.sh
):Makefile
:all: $(QOA_FILES) $(WAV_FILES)
../qoaconv: make -C .. conv
md5: qoa.md5 wav.md5
qoa.md5: md5sum /qoa/.qoa > $@
wav.md5: md5sum /qoa_wav/.qoa.wav > $@
check: rebuild_conv all md5sum --quiet -c qoa.md5 md5sum --quiet -c wav.md5
rebuild_conv: make -C .. conv
ifndef MAKE_RESTARTS deps.mk: .UPDATE_DEPS ./gen_deps.sh > $@
.PHONY: .UPDATE_DEPS .UPDATE_DEPS: endif
clean: rm -f $(QOA_FILES) $(WAV_FILES) make -C .. $@ rm -f deps.mk
!/bin/bash
for file_type in QOA,qoa,qoa WAV,qoa_wav,qoa.wav; do PREFIX=$(echo $file_type | cut -d, -f1) SUBDIR=$(echo $file_type | cut -d, -f2) EXTENS=$(echo $file_type | cut -d, -f3)
done
QOACONV=../qoaconv
for directory in /; do dir_only=$(echo "$directory" | sed 's-/$--g')
done