56 lines
1.2 KiB
Bash
Executable File
56 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# $1 scripts folder
|
|
# $2 file to generate OUTPUTH C
|
|
# $3 file to generate OUTPUTH H
|
|
# $4 prefix
|
|
|
|
generate() {
|
|
local LUAFILES="$1/*"
|
|
local OUTPUTH="$2"
|
|
local OUTPUTC="$3"
|
|
local PREFIX="$4"
|
|
|
|
local outname="$(basename "$OUTPUTH")"
|
|
outname="${outname%.*}"
|
|
|
|
local guard=$(echo "$outname" | tr '[:lower:]' '[:upper:]')
|
|
guard="$guard""_H"
|
|
|
|
|
|
|
|
for file in $LUAFILES
|
|
do
|
|
filename="$(basename "$file")"
|
|
if [ -d "$file" ]
|
|
then
|
|
echo "Enter directory $file"
|
|
generate $file $2 $3 ${PREFIX}${filename}_
|
|
else
|
|
filename="${filename%.*}"
|
|
echo "Generate $PREFIX$filename"
|
|
echo "extern char $PREFIX$filename[];" >> "$OUTPUTH"
|
|
|
|
|
|
echo "char $PREFIX$filename[] = {" >> "$OUTPUTC"
|
|
echo " " $(xxd -i < "$file") ",0x00" >> "$OUTPUTC"
|
|
echo "};" >> "$OUTPUTC"
|
|
fi
|
|
done
|
|
}
|
|
|
|
OUTPUTH="$2"
|
|
|
|
outname="$(basename "$OUTPUTH")"
|
|
outname="${outname%.*}"
|
|
guard=$(echo "$outname" | tr '[:lower:]' '[:upper:]')
|
|
guard="$guard""_H"
|
|
|
|
printf "#ifndef %s\n" "$guard" >> "$OUTPUTH"
|
|
printf "#define %s\n" "$guard" >> "$OUTPUTH"
|
|
|
|
generate "$1" "$2" "$3" "$4"
|
|
|
|
echo "#endif" >> "$OUTPUTH"
|
|
exit 0
|
|
|