#!/usr/bin/env bash

set -exuo pipefail

self=$(realpath $0)
path=$(realpath .)
libfyaml=$(git submodule foreach --quiet bash -c 'test $(basename $(git remote get-url origin)) = libfyaml && realpath .' | head -n1)

cd $libfyaml

I=$(find include src -type f -name '*.h' -print0 | xargs -0 dirname | sort | uniq | sed 's/^/-I/' | tr '\n' '\0' | xargs -0)

cat $(realpath -m $self/..)/c.list | grep . | grep -vE '^\s*#' | tr '\n' '\0' | \
	xargs -0 clang $I --shared -fPIC -o libfyaml.so

#realpath --relative-to $path libfyaml.so

test "$(realpath -m $path/libfyaml.so)" '=' "$(realpath -m libfyaml.so)" || mv libfyaml.so $path/.

cd $path && ls -l libfyaml.so 1>&2
echo 1>&2

echo -I $(realpath --relative-to . $libfyaml/include) -l:libfyaml.so
