aboutsummaryrefslogtreecommitdiff
path: root/util/rules_cleaner.sh
diff options
context:
space:
mode:
Diffstat (limited to 'util/rules_cleaner.sh')
-rwxr-xr-xutil/rules_cleaner.sh40
1 files changed, 40 insertions, 0 deletions
diff --git a/util/rules_cleaner.sh b/util/rules_cleaner.sh
new file mode 100755
index 000000000..ac27c2b09
--- /dev/null
+++ b/util/rules_cleaner.sh
@@ -0,0 +1,40 @@
1#!/bin/bash
2
3# This script finds all rules.mk files in keyboards/ subdirectories,
4# and deletes the build option filesize impacts from them.
5
6# Print an error message with the word "ERROR" in red.
7echo_error() {
8 echo -e "[\033[0;91mERROR\033[m]: $1"
9}
10
11# If we've been started from util/, we want to be in qmk_firmware/
12[[ "$PWD" == *util ]] && cd ..
13
14# The root qmk_firmware/ directory should have a subdirectory called quantum/
15if [ ! -d "quantum" ]; then
16 echo_error "Could not detect the QMK firmware directory!"
17 echo_error "Are you sure you're in the right place?"
18 exit 1
19fi
20
21# Set the inplace editing parameter for sed.
22# macOS/BSD sed expects a file extension immediately following -i.
23set_sed_i() {
24 sed_i=(-i)
25
26 case $(uname -a) in
27 *Darwin*) sed_i=(-i "")
28 esac
29}
30set_sed_i
31
32# Exclude keyamps/ directories
33files=$(find keyboards -type f -name 'rules.mk' -not \( -path '*/keymaps*' -prune \))
34
35# Edit rules.mk files
36for file in $files; do
37 sed "${sed_i[@]}" -e "s/(+[0-9].*)$//g" "$file"
38done
39
40echo "Cleaned up rules.mk files."