Initial commit.

This commit is contained in:
Sergey Fedosov
2016-09-03 22:35:07 +03:00
commit 9177854a27
12 changed files with 1057 additions and 0 deletions

106
make.sh Executable file
View File

@@ -0,0 +1,106 @@
#!/bin/sh
set -e
# Functions
set_vars() {
printf 'Setting vars...\n' >&2
sed -r \
-e "s%@VERSION@%${VERSION}%" \
-e "s%@CFGDIR_USER@%${CFGDIR_USER}%" \
-e "s%@RUNDIR_USER@%${RUNDIR_USER}%" \
-e "s%@LOGDIR_USER@%${LOGDIR_USER}%" \
-e "s%@CFGDIR@%${CFGDIR}%" \
-e "s%@RUNDIR@%${RUNDIR}%" \
-e "s%@LOGDIR@%${LOGDIR}%" \
-e "s%@INITDIRS@%${INITDIRS}%" \
-e "s%@BASH_PATH@%${BASH_PATH}%"
}
do_tell() {
printf 'Executing: %s\n' "$*"
"$@"
}
# Targets
target_watchman() {
target='watchman'
printf '%s\n' "Building watchman..."
set_vars < "$target".bash > "$target"
do_tell chmod 755 "$target"
ls -l "$target"
}
target_tools() {
if [ "$TOOLS" ]; then
do_tell mkdir -p tools
for i in $TOOLS; do
printf '%s\n' "Building ${i}..."
set_vars < "watchman-${i}.bash" > "tools/watchman-$i"
do_tell chmod 755 "tools/watchman-$i"
done
ls -l tools/*
fi
}
target_clean() {
do_tell rm -f tools/* watchman build
if [ -d tools ]; then
do_tell rmdir tools
fi
}
target_install() {
mkdir -p "$BINDIR"
do_tell cp watchman "${BINDIR}/watchman"
do_tell chmod 755 "${BINDIR}/watchman"
for i in $TOOLS; do
do_tell cp "tools/watchman-$i" "$BINDIR/watchman-$i"
do_tell chmod 755 "$BINDIR/watchman-$i"
done
}
target_all() {
target_watchman
target_tools
}
gitver() {
if last_tag=$( git describe --long --tags 2>/dev/null ); then
printf '%s\n' "$last_tag" | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
else
printf "git-r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
fi
}
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"
if [ -d .git ]; then
VERSION=$(gitver)
printf '%s\n' "Building from git, overriding version: $VERSION"
fi
"target_$target"
}
main "$@"