Skip to content
Snippets Groups Projects
Select Git revision
  • fc6222fd60b2a0a612d5f8ec79e5ea6c0739cce1
  • master default protected
  • add-joust
  • blinkisync-as-preload
  • genofire/rockets-state
  • genofire/leds_rgb_get_state
  • genofire/ble-follow-py
  • genofire/haule-ble-fs-deactive
  • hauke/ble-cleanups
  • plaetzchen/ios-workaround
  • schneider/max30001-pycardium
  • schneider/max30001-epicaridum
  • schneider/max30001
  • schneider/stream-locks
  • ios-workarounds
  • schneider/fundamental-test
  • schneider/ble-buffers
  • schneider/maxim-sdk-update
  • rahix/simple_menu
  • ch3/splashscreen
  • koalo/bhi160-works-but-dirty
  • v1.7
  • v1.6
  • v1.5
  • v1.4
  • v1.3
  • v1.2
  • v1.1
  • v1.0
  • release-1
  • bootloader-v1
  • v0.0
32 results

gen-qstr.sh

Blame
  • Forked from card10 / firmware
    1787 commits behind the upstream repository.
    gen-qstr.sh 1.22 KiB
    #!/bin/bash
    set -e
    
    PYTHON="$1"
    SOURCE_DIR="$2"
    PROJECT_SRC="$3"
    OUTPUT="$4"
    # IGNORE="$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"
    
    # 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" "$OUTPUT_DIR/qstrdefs.collected.h" \
        | sed 's/^Q(.*)/"&"/' \
        | gcc -E -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"