aboutsummaryrefslogtreecommitdiff
path: root/lib.rc
diff options
context:
space:
mode:
Diffstat (limited to 'lib.rc')
-rw-r--r--lib.rc84
1 files changed, 0 insertions, 84 deletions
diff --git a/lib.rc b/lib.rc
deleted file mode 100644
index 3c713e2..0000000
--- a/lib.rc
+++ /dev/null
@@ -1,84 +0,0 @@
-# Various helper functions for redo
-# URL: https://github.com/cemkeylan/redo-lib
-# LICENSE: CC0 (Public Domain)
-
-# 'basename' is not used by the functions here, but it doesn't mean that it
-# cannot be used at all.
-# shellcheck disable=2034
-target=$1 basename=$2 dest=$3
-
-# Add dependency to these files as well.
-redo-ifchange lib.rc config.rc
-
-setv() {
- # Usage: setv [variable = [key...]]
- #
- # Variable setting function that somewhat imitates the Makefile syntax.
- # - Using == sets the variable.
- # - Using = sets the variable if it is unset.
- # - Using += increments to a variable.
- [ "$3" ] || {
- printf '%s\n' "Faulty variable syntax" >&2
- exit 1
- }
- var=$1 sym=$2; shift 2
- case "$sym" in
- ==) export "$var=$*" ;;
- =) eval "[ \"\$$var\" ]" || export "$var=$*" ;;
- +=) eval export "$var=\$$var $*"
- esac
-}
-
-targcheck() {
- # Usage: targcheck [target...]
- #
- # Check if current target is one of the given arguments of this function.
- # Returns 0 if target is one of the arguments, returns 1 if not.
- for arg; do
- [ "$arg" = "$target" ] && return 0
- done; return 1
-}
-
-PHONY() {
- # Usage: PHONY [target...]
- #
- # Function that resembles the .PHONY: target on the classic 'make' system.
- # You can either use it without an argument on a single target, or specify
- # multiple targets.
- if [ -z "$1" ] || targcheck "$@"; then
- # There is no guarantee that the value of dest will not be modified
- # during the operation, we want to evaluate the value of $dest as soon
- # as possible
- # shellcheck disable=2064
- trap "rm -f $dest" EXIT INT
- fi
-}
-
-expsuf() {
- # Usage: expsuf [suffix [item...]]
- #
- # Expand suffix for the given list.
- suffix=$1 buf=; shift
- for i; do buf="$buf $i$suffix "; done; printf %s "$buf"
-}
-
-repsuf() {
- # Usage: repsuf [old-suffix new-suffix [item...]]
- #
- # Replace old-suffix with new-suffix on list.
- oldsuffix=$1 newsuffix=$2 buf=; shift 2
- for i; do buf="$buf ${i%$oldsuffix}$newsuffix "; done; printf %s "$buf"
-}
-
-redo_clean() {
- # Clean function for various redo implementations
- [ -r .do_built ] && {
- while read -r file; do
- [ -d "$file" ] || rm -f "$file"
- done < .do_built
- }
- find . -type f \( -name '*.tmp' -o -name '*.did' -o -name '.dep*' -o -name '.target*' \) \
- -exec rm -f -- {} +
- [ "$DO_BUILT" ] || find . -name '.do_built*' -exec rm -rf -- {} +
- [ "$REDO_BASE" ] || rm -rf -- .redo
-}