#!/bin/bash

set -e

if [ -z "$1" ]; then
    echo "Usage: $0 target_os"
    if [ -d ./platform ]; then
        echo "Options:"
        find platform/crossbuild -type d -maxdepth 1 -mindepth 1 | awk -F'/' '{print $NF}' | sort
    fi
    exit 1
fi

if [ ! -d "platform/crossbuild/$1" ]; then
    echo "Could not find platform/crossbuild/$1"
    exit 1
fi

TARGET_DIR="./target/$1"

echo "Recreating then building to ${TARGET_DIR}"
rm -rf "${TARGET_DIR}"
mkdir -p "${TARGET_DIR}"

CROSS_CONFIG="platform/crossbuild/${1}/Cross.toml" \
    cross build --target aarch64-unknown-linux-gnu \
        --bin kanidm_unixd \
        --bin kanidm_unixd_tasks \
        --bin kanidm_ssh_authorizedkeys \
        --bin kanidm-unix \
        --release
CROSS_CONFIG="platform/crossbuild/${1}/Cross.toml" \
    cross build --target aarch64-unknown-linux-gnu \
        -p pam_kanidm \
        -p nss_kanidm \
        --release

find "./target/aarch64-unknown-linux-gnu/release/" -maxdepth 1 \
    -type f -not -name '*.d' \
    -name 'kanidm*' \
    -exec mv "{}" "${TARGET_DIR}/" \;

find "./target/aarch64-unknown-linux-gnu/release/" -maxdepth 1 \
    -name '*kanidm*.so' \
    -exec mv "{}" "${TARGET_DIR}/" \;
# find "${TARGET_DIR}" -name '*.d' -delete

echo "Contents of ${TARGET_DIR}"
find "${TARGET_DIR}" -type f