#!/usr/bin/env bash
source global/common.sh
check "prefix" "a directory to install to"
build="${build:-out}"
bindir="$prefix/bin"
libdir="$prefix/lib"
if [ "$prefix" = "/" ]; then
say "installing docs and headers into usr instad of /"
sharedir="$prefix/usr/share"
incdir="$prefix/usr/include"
else
incdir="$prefix/include"
sharedir="$prefix/share"
fi
# Libraries
# These may or may not exist, depending on what library build is done, so check
[ -e "$build/libk.a" ] && install -Dm644 -t "$libdir" "$build/libk.a"
[ -e "$build/libk.so" ] && install -Dm644 -t "$libdir" "$build/libk.so"
[ -e "$build/boot.o" ] && install -Dm644 -t "$libdir/libk" "$build/boot.o"
# Binaries
install -Dm755 -t "$bindir" "$build/kcore.testbin"
install -Dm755 -t "$bindir" "$build/kcli.testbin"
install -Dm755 -t "$bindir" "$build/kgraft.attach"
# Includes
for inc in "$build"/k/*; do
install -Dm644 -t "$incdir/k" "$inc"
done
# Documentation
for man in "$build"/doc/man/*; do
install -Dm644 -t "$sharedir/man" "$man"
done
for html in "$build"/doc/html/*; do
install -Dm644 -t "$sharedir/doc/libk/html" "$html"
done
for pdf in "$build"/doc/pdf/*; do
install -Dm644 -t "$sharedir/doc/libk/pdf" "$pdf"
done