aboutsummaryrefslogtreecommitdiffstats
path: root/tools/updater/update_chconf_rt.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/updater/update_chconf_rt.sh')
-rw-r--r--tools/updater/update_chconf_rt.sh19
1 files changed, 13 insertions, 6 deletions
diff --git a/tools/updater/update_chconf_rt.sh b/tools/updater/update_chconf_rt.sh
index 0be538b0a..ce5b786ac 100644
--- a/tools/updater/update_chconf_rt.sh
+++ b/tools/updater/update_chconf_rt.sh
@@ -1,13 +1,19 @@
#!/bin/bash
-if [ $# -eq 0 ]
-then
- find ../.. -name "chconf.h" -exec bash update_chconf_rt.sh "{}" \;
+if [ $# -eq 2 ]
+ then
+ if [ $1 = "rootpath" ]
+ then
+ find $2 -name "chconf.h" -exec bash update_chconf_rt.sh "{}" \;
+ else
+ echo "Usage: update_chconf_rt.sh [rootpath <root path>]"
+ fi
elif [ $# -eq 1 ]
then
- if egrep -q "_CHIBIOS_RT_CONF_" $1
+ declare conffile=$(<$1)
+ if egrep -q "_CHIBIOS_RT_CONF_" <<< "$conffile"
then
echo Processing: $1
- cat $1 | egrep -e "\#define\s+[a-zA-Z0-9_]*\s+[a-zA-Z0-9_]" | cut --bytes=9- - | sed 's/ */=/g' > ./values.txt
+ egrep -e "\#define\s+[a-zA-Z0-9_]*\s+[a-zA-Z0-9_]" <<< "$conffile" | sed 's/\#define //g; s/ */=/g' > ./values.txt
if ! fmpp -q -C chconf_rt.fmpp
then
echo
@@ -18,5 +24,6 @@ then
rm ./chconf.h ./values.txt
fi
else
- echo "illegal number of arguments"
+ echo "Usage: update_chconf_rt.sh [rootpath <root path>]"
+ echo " update_chconf_rt.sh <configuration file>]"
fi