30 lines
1.1 KiB
Bash
Executable file
30 lines
1.1 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# USED BY MAKEFILE, DO NOT MOVE OR RENAME
|
|
|
|
ASSETS_FULL_DIR=$1
|
|
shift
|
|
ASSET_FILES=$@
|
|
|
|
> __embeddedassets.c echo '// File created by rule __embeddedassets.o'
|
|
>> __embeddedassets.c echo '#include <string.h>'
|
|
>> __embeddedassets.c echo '#include "mlx3ds.h"'
|
|
>> __embeddedassets.c echo 'const t_embeddedasset *mlx3ds_assets_get(const char *name)'
|
|
>> __embeddedassets.c echo '{'
|
|
>> __embeddedassets.c echo ' const static t_embeddedasset assets[] = {'
|
|
for file in $ASSET_FILES
|
|
do
|
|
if [ ! -f $file ]
|
|
then
|
|
continue
|
|
fi
|
|
>> __embeddedassets.c echo -n "{\"$(echo $file | sed -e "s/^${ASSETS_FULL_DIR//\//\\\/}//")\", "
|
|
>> __embeddedassets.c echo -n "$(stat --printf=%s $file)"', '
|
|
>> __embeddedassets.c echo "\"$(< $file xxd -i | sed -e 's/[, ] 0x/\\x/g')\"},"
|
|
done
|
|
>> __embeddedassets.c echo ' {NULL, 0, NULL}};'
|
|
>> __embeddedassets.c echo ' for (int i = 0; assets[i].name; i++)'
|
|
>> __embeddedassets.c echo ' if (!strcmp(assets[i].name, name))'
|
|
>> __embeddedassets.c echo ' return &assets[i];'
|
|
>> __embeddedassets.c echo ' return NULL;'
|
|
>> __embeddedassets.c echo '}'
|