mirror of
https://github.com/falcosecurity/falco.git
synced 2025-10-22 12:27:10 +00:00
Co-Authored-By: Lorenzo Fontana <fontanalorenz@gmail.com> Signed-off-by: Leonardo Grasso <me@leonardograsso.com>
61 lines
1.4 KiB
Bash
Executable File
61 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -eu -o pipefail
|
|
|
|
SOURCE_DIR=/source
|
|
BUILD_DIR=/build
|
|
CMD=${1:-usage}
|
|
shift
|
|
|
|
# Build type can be "debug" or "release", fallbacks to "release" by default
|
|
BUILD_TYPE=$(echo "$BUILD_TYPE" | tr "[:upper:]" "[:lower:]")
|
|
DRAIOS_DEBUG_FLAGS=
|
|
case "$BUILD_TYPE" in
|
|
"debug")
|
|
DRAIOS_DEBUG_FLAGS="-D_DEBUG -DNDEBUG"
|
|
;;
|
|
*)
|
|
BUILD_TYPE="release"
|
|
;;
|
|
esac
|
|
|
|
case "$CMD" in
|
|
"cmake")
|
|
# Check that source directory contains Falco
|
|
if [ ! -d "$SOURCE_DIR/falco" ]; then
|
|
echo "Missing falco source." >&2
|
|
exit 1
|
|
fi
|
|
# Prepare build directory
|
|
mkdir -p "$BUILD_DIR/$BUILD_TYPE"
|
|
cd "$BUILD_DIR/$BUILD_TYPE"
|
|
|
|
cmake \
|
|
-DCMAKE_BUILD_TYPE="$BUILD_TYPE" \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DBUILD_DRIVER="$BUILD_DRIVER" \
|
|
-DMINIMAL_BUILD="$MINIMAL_BUILD" \
|
|
-DBUILD_BPF="$BUILD_BPF" \
|
|
-DBUILD_WARNINGS_AS_ERRORS="$BUILD_WARNINGS_AS_ERRORS" \
|
|
-DFALCO_VERSION="$FALCO_VERSION" \
|
|
-DDRAIOS_DEBUG_FLAGS="$DRAIOS_DEBUG_FLAGS" \
|
|
-DUSE_BUNDLED_DEPS=ON \
|
|
"$SOURCE_DIR/falco"
|
|
exit "$(printf '%d\n' $?)"
|
|
;;
|
|
"bash")
|
|
CMD=/bin/bash
|
|
;& # fallthrough
|
|
"usage")
|
|
exec "$CMD" "$@"
|
|
;;
|
|
*)
|
|
if [ ! -d "$BUILD_DIR/$BUILD_TYPE" ]; then
|
|
echo "Missing $BUILD_DIR/$BUILD_TYPE directory: run cmake."
|
|
exit 1
|
|
fi
|
|
cd "$BUILD_DIR/$BUILD_TYPE"
|
|
make -j"$MAKE_JOBS" "$CMD"
|
|
;;
|
|
esac
|