summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorAmber Holly <halcyonsilver@gmail.com>2019-10-19 02:14:49 +0100
committerDrashna Jaelre <drashna@live.com>2019-10-18 18:14:49 -0700
commitb23f6011c34dcb471c312655f7af37c0a0f5f779 (patch)
tree4bacbf412e19469f4cda38d65f2943debed2f24a /util
parent1b1e0977e020b3b381f874144aed31d0664d88d2 (diff)
Remove build option firmware size impacts (#6947)
* Update rules.mk template to remove build option size impacts * Add rules.mk cleaning script * Update all rules.mk files to remove build option firmware size impact messages * Remove references to feature filesize in documentation * Revert "Update all rules.mk files to remove build option firmware size impact messages" This reverts commit 7cfe70976bcc223bf47c960b2e6af8596df80a32. * Fix regex in cleanup script and exclude keymaps/ directories * Update quantum/template/avr/rules.mk Fixed missing tabs/spaces. Co-Authored-By: fauxpark <fauxpark@gmail.com>
Diffstat (limited to 'util')
-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 0000000000..ac27c2b09b
--- /dev/null
+++ b/util/rules_cleaner.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+# This script finds all rules.mk files in keyboards/ subdirectories,
+# and deletes the build option filesize impacts from them.
+
+# Print an error message with the word "ERROR" in red.
+echo_error() {
+ echo -e "[\033[0;91mERROR\033[m]: $1"
+}
+
+# If we've been started from util/, we want to be in qmk_firmware/
+[[ "$PWD" == *util ]] && cd ..
+
+# The root qmk_firmware/ directory should have a subdirectory called quantum/
+if [ ! -d "quantum" ]; then
+ echo_error "Could not detect the QMK firmware directory!"
+ echo_error "Are you sure you're in the right place?"
+ exit 1
+fi
+
+# Set the inplace editing parameter for sed.
+# macOS/BSD sed expects a file extension immediately following -i.
+set_sed_i() {
+ sed_i=(-i)
+
+ case $(uname -a) in
+ *Darwin*) sed_i=(-i "")
+ esac
+}
+set_sed_i
+
+# Exclude keyamps/ directories
+files=$(find keyboards -type f -name 'rules.mk' -not \( -path '*/keymaps*' -prune \))
+
+# Edit rules.mk files
+for file in $files; do
+ sed "${sed_i[@]}" -e "s/(+[0-9].*)$//g" "$file"
+done
+
+echo "Cleaned up rules.mk files."