#!/bin/sh set -e this_script_path=$(readlink -f "$0") this_script_dir=$(dirname "$this_script_path") source_files=$(readlink -f $(find "$this_script_dir/src" -name "*.c")) if [ -z "$CC" ]; then CC=cc fi CFLAGS="" LIBS="" if [ ! -z "$SANITIZE_ADDRESS" ]; then CFLAGS+="-fsanitize=address " elif [ ! -z "$SANITIZE_THREAD" ]; then CFLAGS+="-fsanitize=thread " fi if [ ! -z "$PEDANTIC" ]; then CFLAGS+="-DAMAL_PEDANTIC -pedantic " fi CFLAGS+="-Wall -Wextra -Werror -g -O0 -DDEBUG -std=c89 -D_GNU_SOURCE" LIBS+="-pthread" BUILD_ARGS="$source_files $CFLAGS $LIBS -shared -fpic -o libamalgam.so" set -x time "$CC" $BUILD_ARGS if [ ! -z "$SCAN_BUILD" ]; then scan-build "$CC" $BUILD_ARGS fi set +x if [ -z "$NO_TEST" ]; then source_files_tests=$(readlink -f $(find "$this_script_dir/tests" -name "*.c")) set -x time "$CC" $source_files_tests $CFLAGS $LIBS -o test "$this_script_dir/libamalgam.so" fi