Tweaks to build process for embedded scripts

- Force a rebuild if a script in applets_sh is changed.

- Move the dummy usage messages for custom applets to usage.h and
  change the name from 'dummy' to 'scripted'.

- Hide an error from gen_build_files.sh if an embed directory exists
  but is empty.

- Tidy up embedded_scripts script.

v2: Remove a couple of unnecessary tests in embedded_scripts, as
    pointed out by Xabier Oneca.
    Drop the stripping of comments.

Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Ron Yorston 2018-11-21 10:11:01 +00:00 committed by Denys Vlasenko
parent dffc8ff6a6
commit 7b42f8fc76
5 changed files with 14 additions and 23 deletions

View file

@ -81,21 +81,15 @@ exec >"$target.$$"
if [ $n -ne 0 ]
then
printf '#ifdef DEFINE_SCRIPT_DATA\n'
if [ $n -ne 0 ]
then
printf 'const uint16_t applet_numbers[] = {\n'
for i in $custom_scripts $applet_scripts
do
# TODO support applets with names including invalid characters
printf '\tAPPLET_NO_%s,\n' $i
done
printf '};\n'
fi
printf 'const uint16_t applet_numbers[] = {\n'
for i in $custom_scripts $applet_scripts
do
# TODO support applets with names including invalid characters
printf '\tAPPLET_NO_%s,\n' $i
done
printf '};\n'
printf '#else\n'
if [ $n -ne 0 ]
then
printf 'extern const uint16_t applet_numbers[];\n'
fi
printf 'extern const uint16_t applet_numbers[];\n'
printf '#endif\n'
fi

View file

@ -23,9 +23,9 @@ custom_scripts()
custom_loc="$1"
if [ -d "$custom_loc" ]
then
for i in $(cd "$custom_loc"; ls *)
for i in $(cd "$custom_loc"; ls * 2>/dev/null)
do
printf "APPLET_SCRIPTED(%s, scripted, BB_DIR_USR_BIN, BB_SUID_DROP, dummy)\n" $i;
printf "APPLET_SCRIPTED(%s, scripted, BB_DIR_USR_BIN, BB_SUID_DROP, scripted)\n" $i;
done
fi
}