init
This commit is contained in:
63
make.sh
Executable file
63
make.sh
Executable file
@@ -0,0 +1,63 @@
|
||||
#!/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 "$@"
|
Reference in New Issue
Block a user