64 lines
852 B
Bash
64 lines
852 B
Bash
|
#!/bin/sh
|
||
|
set -e
|
||
|
|
||
|
# Functions
|
||
|
set_vars() {
|
||
|
printf 'Setting vars...\n' >&2
|
||
|
|
||
|
sed -r \
|
||
|
-e "s%@CONFIG@%${CONFIG}%" \
|
||
|
-r "s%@LOGDIR@%${LOGDIR}%"
|
||
|
}
|
||
|
|
||
|
do_tell() {
|
||
|
printf 'Executing: %s\n' "$*"
|
||
|
"$@"
|
||
|
}
|
||
|
|
||
|
# Targets
|
||
|
target_userrc() {
|
||
|
declare target='userrc'
|
||
|
|
||
|
printf '%s\n' "Building $target..."
|
||
|
set_vars < "$target".in > "$target"
|
||
|
do_tell chmod 755 "$target"
|
||
|
ls -l "$target"
|
||
|
}
|
||
|
|
||
|
target_clean() {
|
||
|
do_tell rm -f userrc
|
||
|
}
|
||
|
|
||
|
target_install() {
|
||
|
mkdir -p "$BINDIR"
|
||
|
|
||
|
do_tell cp userrc "${BINDIR}/userrc"
|
||
|
do_tell chmod 755 "${BINDIR}/userrc"
|
||
|
}
|
||
|
|
||
|
target_all() {
|
||
|
target_userrc
|
||
|
}
|
||
|
|
||
|
main() {
|
||
|
while [ -n "$1" ]; do
|
||
|
case "$1" in
|
||
|
*=*) export "${1%%=*}=${1#*=}";;
|
||
|
--) shift; break;;
|
||
|
*) break;;
|
||
|
esac
|
||
|
shift
|
||
|
done
|
||
|
|
||
|
target="${1:-all}"
|
||
|
|
||
|
# Build configuration
|
||
|
. './config.mk.sh'
|
||
|
|
||
|
printf '%s\n' "Building target: $target"
|
||
|
|
||
|
"target_$target"
|
||
|
}
|
||
|
|
||
|
main "$@"
|