libk  install.sh at [6346f60bb6]

File install.sh artifact ca0001a46e part of check-in 6346f60bb6


#!/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