Skip to content
Snippets Groups Projects
Select Git revision
  • max86150
  • ch3/splashscreen
  • genofire/ble-rewrite
  • ln/max68150
  • master default protected
  • koalo/bhi160-works-but-dirty
  • m
  • rahix/simple_menu
  • ios-workarounds
  • koalo/wip/i2c-for-python
  • renze/safe_mode
  • renze/hatchery_apps
  • schneider/fundamental-test
  • koalo/factory-reset
  • msgctl/gfx_rle
  • msgctl/faultscreen
  • msgctl/textbuffer_api
  • schneider/bonding
  • schneider/bootloader-update-9a0d158
  • schneider/bsec
  • v1.2
  • v1.1
  • v1.0
  • release-1
  • bootloader-v1
  • v0.0
26 results

gen-qstr.sh

Blame
  • Forked from card10 / firmware
    1721 commits behind the upstream repository.
    gen-qstr.sh 1.30 KiB
    #!/bin/bash
    set -e
    
    PYTHON="$1"
    SOURCE_DIR="$2"
    PROJECT_SRC="$3"
    OUTPUT="$4"
    CUSTOM_QSTR="$5"
    
    shift 5
    
    OUTPUT_DIR="$(dirname "$OUTPUT")"
    
    mkdir -p "$OUTPUT_DIR/genhdr"
    ln -sfr "$OUTPUT" "$OUTPUT_DIR/genhdr/$(basename "$OUTPUT")"
    
    # call gcc -E to generate qstr.i.last
    gcc -E -DNO_QSTR -I"$SOURCE_DIR/micropython" -I"$PROJECT_SRC" -I"$OUTPUT_DIR" "$@" >"$OUTPUT_DIR/qstr.i.last"
    
    # Remove previous artifacts
    rm -rf "$OUTPUT_DIR/qstr"
    
    # Generate qstr.split
    "$PYTHON" "$SOURCE_DIR/micropython/py/makeqstrdefs.py" split \
        "$OUTPUT_DIR/qstr.i.last" "$OUTPUT_DIR/qstr" "$OUTPUT_DIR/qstrdefs.collected.h" >/dev/null
    
    # Generate qstr.collected.h
    "$PYTHON" "$SOURCE_DIR/micropython/py/makeqstrdefs.py" cat \
        "$OUTPUT_DIR/qstr.i.last" "$OUTPUT_DIR/qstr" "$OUTPUT_DIR/qstrdefs.collected.h" >/dev/null
    
    # Preprocess Header ... I did not come up with this, this is code copied from
    #    the official make file.  Seriously.
    cat "$SOURCE_DIR/micropython/py/qstrdefs.h" "$CUSTOM_QSTR" "$OUTPUT_DIR/qstrdefs.collected.h" \
        | sed 's/^Q(.*)/"&"/' \
        | gcc -E -DNO_QSTR -I"$SOURCE_DIR/micropython" -I"$PROJECT_SRC" -I"$OUTPUT_DIR" - \
        | sed 's/^\"\(Q(.*)\)\"/\1/' \
        >"$OUTPUT_DIR/qstrdefs.preprocessed.h"
    
    # Call makeqstrdata
    "$PYTHON" "$SOURCE_DIR/micropython/py/makeqstrdata.py" "$OUTPUT_DIR/qstrdefs.preprocessed.h" >"$OUTPUT"