1
0
mirror of https://github.com/MarlinFirmware/Marlin.git synced 2024-11-24 04:29:34 +00:00
MarlinFirmware/buildroot/bin/opt_find
2021-10-04 19:11:39 -05:00

34 lines
871 B
Bash
Executable File

#!/usr/bin/env bash
#
# opt_find
# Find one or more Marlin options - Configuration lines starting with #define
#
MYNAME=$(basename $0)
[[ $# == 0 ]] && ONE="-h" || ONE=$1
COMM="(//\\s*)?" ; TYPE=""
case "$ONE" in
-d|--disabled )
shift ; COMM="(//\\s*)" ; TYPE="disabled " ;;
-e|--enabled )
shift ; COMM="" ; TYPE="enabled " ;;
-h|--help )
echo "$MYNAME [-d|--disabled|-e|--enabled] STRING ... Find matching Marlin configuration options."
echo ; shift ;;
-* )
echo "Unknown option $ONE" ; shift ;;
esac
while [[ $# > 0 ]]; do
DID=0
for FN in Configuration Configuration_adv; do
FOUND=$( grep -HEn "^\s*${COMM}#define\s+[A-Z0-9_]*${1}" "Marlin/$FN.h" 2>/dev/null )
[[ -n "$FOUND" ]] && { echo "$FOUND" ; DID=1 ; }
done
((DID)) || { echo "ERROR: ${MYNAME} - No ${TYPE}match for ${1}" ; exit 9; }
shift
echo
done