88 lines
2.3 KiB
Bash
Executable File
88 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
#set -x
|
|
verbmsg()
|
|
{
|
|
true
|
|
# echo $1
|
|
}
|
|
|
|
if test ! -d simulat0r/firmware -o ! -d firmware
|
|
then
|
|
echo ERROR:
|
|
echo This script must be run from toplevel r0ket directory
|
|
exit
|
|
fi
|
|
|
|
echo "Updating directories"
|
|
for i in `find firmware -type d `
|
|
do
|
|
if test -d simulat0r/$i
|
|
then verbmsg "OK Directory already exists: $i"
|
|
else mkdir -v simulat0r/$i
|
|
fi
|
|
done
|
|
|
|
echo "Updating bridge files for C source"
|
|
for i in `find firmware \! -path firmware/lcd/allfonts.h \! -path firmware/l0dable/usetable.h -type f -iname \*.[ch]`
|
|
do
|
|
if test -f simulat0r/$i;
|
|
then
|
|
verbmsg "OK File already exists: $i"
|
|
else
|
|
echo Writing bridge file simulat0r/$i
|
|
(printf "/* AUTOGENERATED SOURCE FILE */\n"; echo \#include \"`dirname $i | sed "s#[^/]*#..#g" `/../$i\") >simulat0r/$i
|
|
fi
|
|
done
|
|
|
|
echo "Looking for dangling bridge files (i.e. the original file no longer exists)"
|
|
for i in `find simulat0r/firmware \! -path simulat0r/firmware/libc-unc0llide.h -type f -iname \*.[ch] | sed "s#simulat0r/##"`
|
|
do
|
|
if test -f $i;
|
|
then
|
|
verbmsg "OK File still exists: $i"
|
|
else
|
|
# echo Introspecting dangling bridge file simulat0r/$i
|
|
if cmp -s simulat0r/$i <(printf "/* AUTOGENERATED SOURCE FILE */\n"; echo \#include \"`dirname $i | sed "s#[^/]*#..#g" `/../$i\") ;
|
|
then
|
|
echo Dangling unchanged bridge file simulat0r/$i
|
|
SUGGESTDEL="$SUGGESTDEL simulat0r/$i"
|
|
else
|
|
echo Dangling modified bridge file simulat0r/$i
|
|
fi
|
|
fi
|
|
done
|
|
if test "$SUGGESTDEL";
|
|
then
|
|
echo You might want to delete unneeded unmodified bridge files:
|
|
echo
|
|
echo rm $SUGGESTDEL
|
|
echo git rm $SUGGESTDEL
|
|
echo
|
|
fi
|
|
|
|
|
|
echo "Updating bridge files for Makefiles"
|
|
for i in `find firmware -type f -iname Makefile`
|
|
do
|
|
if test -f simulat0r/$i;
|
|
then
|
|
verbmsg "OK File already exists: $i"
|
|
else
|
|
echo Writing bridge file simulat0r/$i
|
|
(printf "# GENERATED INCLUDE BRIDGE/\n"; echo include `dirname $i | sed "s#[^/]*#..#g" `/../$i) >simulat0r/$i
|
|
fi
|
|
done
|
|
|
|
|
|
for i in `find firmware -type f -name .gitignore`; do
|
|
if cmp $i simulat0r/$i
|
|
then
|
|
echo OK $i and simulat0r/$i are the same
|
|
else
|
|
echo WARNING: $i mismatches simulat0r/$i
|
|
echo " give this command a try if the following diff looks reasonable:"
|
|
echo " cp $i simulat0r/$i"
|
|
diff -y $i simulat0r/$i || true
|
|
fi
|
|
done
|