41 lines
1.0 KiB
Bash
41 lines
1.0 KiB
Bash
|
#!/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."
|