diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-05-25 19:12:04 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-05-25 19:12:04 -0400 |
commit | 7f0b76b0e5075d43533f8d8aead768f8addf1a48 (patch) | |
tree | 79396e4d3661826555b7c47f68f06e65c3603e51 /move.sh | |
parent | 566cac15ed36506e2bb766313a5d4e0825bc6499 (diff) |
Split up Makefile.am
Diffstat (limited to 'move.sh')
-rwxr-xr-x | move.sh | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/move.sh b/move.sh new file mode 100755 index 0000000000..0312b2d36f --- /dev/null +++ b/move.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +in_array() { + local needle=$1; shift + local item + for item in "$@"; do + [[ $item = $needle ]] && return 0 # Found + done + return 1 # Not Found +} + +( + set -e + find . \( -name Makefile -o -name '*.mk' \) -delete + + touch .tmp.move.all + files=(.tmp.move.all) + file=/dev/null + IFS='' + while read -r line; do + if [[ $line = '#@'* ]]; then + file="${line#'#@'}" + file="${file%% *}" + elif [[ $file = all ]]; then + printf '%s\n' "$line" | tee -a "${files[@]}" >/dev/null + else + if ! in_array "$file" "${files[@]}"; then + cat .tmp.move.all > "$file" + files+=("$file") + fi + printf '%s\n' "$line" >> "$file" + fi + done < Makefile.am + rm .tmp.move.all +) |