diff options
Diffstat (limited to 'platformio/common/make_static.sh')
-rwxr-xr-x | platformio/common/make_static.sh | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/platformio/common/make_static.sh b/platformio/common/make_static.sh deleted file mode 100755 index d207e57..0000000 --- a/platformio/common/make_static.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/bash - -#set -x -#set -e - -COMMON_DIR="$(cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd)" -PROJECT_DIR="$(pwd)" - -fw_version="$(cat "$PROJECT_DIR/src/config.def.h" | grep "^#define FW_VERSION" | awk '{print $3}')" -header="$PROJECT_DIR/src/static.h" -source="$PROJECT_DIR/src/static.cpp" - -[ -f "$header" ] && rm "$header" -[ -f "$source" ] && rm "$source" - -is_minifyable() { - local ext="$1" - [ "$ext" = "html" ] || [ "$ext" = "css" ] || [ "$ext" = "js" ] -} - -minify() { - local ext="$1" - local bin="$(realpath "$COMMON_DIR"/../../tools/minify.js)" - "$bin" --type "$ext" -} - -# .h header -cat <<EOF >> "$header" -/** - * This file is autogenerated with make_static.sh script - */ - -#pragma once - -#include <stdlib.h> - -namespace homekit::files { - -typedef struct { - size_t size; - const uint8_t* content; -} StaticFile; - -EOF - -cat <<EOF >> "$source" -/** - * This file is autogenerated with make_static.sh script - */ - -#include "static.h" - -namespace homekit::files { - -EOF - -# loop over files -for ext in html js css ico; do - for f in "$COMMON_DIR"/static/*.$ext; do - filename="$(basename "$f")" - echo "processing ${filename}..." - filename="${filename/./_}" - - # write .h - echo "extern const StaticFile $filename;" >> "$header" - - # write .c - { - echo "static const uint8_t ${filename}_content[] PROGMEM = {" - - cat "$f" | - ( [ "$ext" = "html" ] && sed "s/{version}/$fw_version/" || cat ) | - ( is_minifyable "$ext" && minify "$ext" || cat ) | - gzip | - xxd -ps -c 16 | - sed 's/.\{2\}/0x&, /g' | - sed 's/^/ /' | - sed 's/[ \t]*$//' - - echo "};" - echo "const StaticFile $filename PROGMEM = {(sizeof(${filename}_content)/sizeof(${filename}_content[0])), ${filename}_content};" - echo "" - } >> "$source" - done -done - -# end of homekit::files -( echo ""; echo "}" ) >> "$header" -echo "}" >> "$source" |