mirror of
https://github.com/meshtastic/firmware.git
synced 2025-09-08 04:28:47 +00:00
Separate build & source files into $WORK & $SRC
This commit is contained in:
parent
31706ae15e
commit
005166d956
@ -43,5 +43,11 @@ COPY ./.clusterfuzzlite/build.sh $SRC/
|
|||||||
WORKDIR $SRC/firmware
|
WORKDIR $SRC/firmware
|
||||||
COPY . $SRC/firmware/
|
COPY . $SRC/firmware/
|
||||||
|
|
||||||
ENV PIO_ENV=buildroot
|
# https://docs.platformio.org/en/latest/envvars.html
|
||||||
|
ENV PLATFORMIO_WORKSPACE_DIR=$WORK/pio \
|
||||||
|
PLATFORMIO_CORE_DIR=$SRC/pio/core \
|
||||||
|
PLATFORMIO_LIBDEPS_DIR=$SRC/pio/libdeps \
|
||||||
|
PLATFORMIO_PACKAGES_DIR=$SRC/pio/packages \
|
||||||
|
PLATFORMIO_SETTING_ENABLE_CACHE=No \
|
||||||
|
PIO_ENV=buildroot
|
||||||
RUN platformio pkg install --environment $PIO_ENV
|
RUN platformio pkg install --environment $PIO_ENV
|
||||||
|
@ -8,25 +8,25 @@ env
|
|||||||
cd "$SRC"
|
cd "$SRC"
|
||||||
NPROC=$(nproc || echo 1)
|
NPROC=$(nproc || echo 1)
|
||||||
|
|
||||||
LDFLAGS=-lpthread cmake -S "$SRC/yaml-cpp" -B "$SRC/yaml-cpp/build" \
|
LDFLAGS=-lpthread cmake -S "$SRC/yaml-cpp" -B "$WORK/yaml-cpp" \
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
-DBUILD_SHARED_LIBS=OFF
|
||||||
cmake --build "$SRC/yaml-cpp/build" -j "$NPROC"
|
cmake --build "$WORK/yaml-cpp" -j "$NPROC"
|
||||||
cmake --install "$SRC/yaml-cpp/build" --prefix /usr
|
cmake --install "$WORK/yaml-cpp" --prefix /usr
|
||||||
|
|
||||||
cmake -S "$SRC/orcania" -B "$SRC/orcania/build" \
|
cmake -S "$SRC/orcania" -B "$WORK/orcania" \
|
||||||
-DBUILD_STATIC=ON
|
-DBUILD_STATIC=ON
|
||||||
cmake --build "$SRC/orcania/build" -j "$NPROC"
|
cmake --build "$WORK/orcania" -j "$NPROC"
|
||||||
cmake --install "$SRC/orcania/build" --prefix /usr
|
cmake --install "$WORK/orcania" --prefix /usr
|
||||||
|
|
||||||
cmake -S "$SRC/yder" -B "$SRC/yder/build" \
|
cmake -S "$SRC/yder" -B "$WORK/yder" \
|
||||||
-DBUILD_STATIC=ON -DWITH_JOURNALD=OFF
|
-DBUILD_STATIC=ON -DWITH_JOURNALD=OFF
|
||||||
cmake --build "$SRC/yder/build" -j "$NPROC"
|
cmake --build "$WORK/yder" -j "$NPROC"
|
||||||
cmake --install "$SRC/yder/build" --prefix /usr
|
cmake --install "$WORK/yder" --prefix /usr
|
||||||
|
|
||||||
cmake -S "$SRC/ulfius" -B "$SRC/ulfius/build" \
|
cmake -S "$SRC/ulfius" -B "$WORK/ulfius" \
|
||||||
-DBUILD_STATIC=ON -DWITH_JANSSON=OFF -DWITH_CURL=OFF -DWITH_WEBSOCKET=OFF
|
-DBUILD_STATIC=ON -DWITH_JANSSON=OFF -DWITH_CURL=OFF -DWITH_WEBSOCKET=OFF
|
||||||
cmake --build "$SRC/ulfius/build" -j "$NPROC"
|
cmake --build "$WORK/ulfius" -j "$NPROC"
|
||||||
cmake --install "$SRC/ulfius/build" --prefix /usr
|
cmake --install "$WORK/ulfius" --prefix /usr
|
||||||
|
|
||||||
cd "$SRC/firmware"
|
cd "$SRC/firmware"
|
||||||
|
|
||||||
@ -50,10 +50,11 @@ for f in .clusterfuzzlite/*_fuzzer.cpp; do
|
|||||||
fuzzer=$(basename "$f" .cpp)
|
fuzzer=$(basename "$f" .cpp)
|
||||||
cp -f "$f" src/fuzzer.cpp
|
cp -f "$f" src/fuzzer.cpp
|
||||||
pio run -vvv --environment "$PIO_ENV"
|
pio run -vvv --environment "$PIO_ENV"
|
||||||
cp ".pio/build/$PIO_ENV/program" "$OUT/$fuzzer"
|
program="$PLATFORMIO_WORKSPACE_DIR/build/$PIO_ENV/program"
|
||||||
|
cp "$program" "$OUT/$fuzzer"
|
||||||
|
|
||||||
# Copy shared libraries used by the fuzzer.
|
# Copy shared libraries used by the fuzzer.
|
||||||
read -ra shared_libs < <(ldd ".pio/build/$PIO_ENV/program" | sed -n 's/[^=]\+=> \([^ ]\+\).*/\1/p')
|
read -ra shared_libs < <(ldd "$program" | sed -n 's/[^=]\+=> \([^ ]\+\).*/\1/p')
|
||||||
cp -f "${shared_libs[@]}" "$OUT/lib/"
|
cp -f "${shared_libs[@]}" "$OUT/lib/"
|
||||||
|
|
||||||
# Build the initial fuzzer seed corpus.
|
# Build the initial fuzzer seed corpus.
|
||||||
|
@ -20,7 +20,7 @@ extra_scripts = bin/platformio-custom.py
|
|||||||
build_flags = -Wno-missing-field-initializers
|
build_flags = -Wno-missing-field-initializers
|
||||||
|
|
||||||
-Wno-format
|
-Wno-format
|
||||||
-Isrc -Isrc/mesh -Isrc/mesh/generated -Isrc/gps -Isrc/buzz -Wl,-Map,.pio/build/output.map
|
-Isrc -Isrc/mesh -Isrc/mesh/generated -Isrc/gps -Isrc/buzz -Wl,-Map,${platformio.build_dir}/output.map
|
||||||
-DUSE_THREAD_NAMES
|
-DUSE_THREAD_NAMES
|
||||||
-DTINYGPS_OPTION_NO_CUSTOM_FIELDS
|
-DTINYGPS_OPTION_NO_CUSTOM_FIELDS
|
||||||
-DPB_ENABLE_MALLOC=1
|
-DPB_ENABLE_MALLOC=1
|
||||||
|
Loading…
Reference in New Issue
Block a user