iBoot/tools/pickfiles.sh

46 lines
1.2 KiB
Bash

#!/bin/sh
#
# Find .d files that are produced by compilation and produce a list of all the files they represent
#
# Find source and headers that were built
rm -f built.list built.tmp
for dfile in `find build -name "*.d"`; do
echo "parsing $dfile"
cat $dfile | tr : \\n | tail +2 | tr -d \\ | tr ' ' \\n | grep \^\[a-z\] >> built.tmp
done
cat built.tmp | sort | uniq > built.list
# Find all sources
echo "finding base sources"
rm -f all.list
find . -name "*.[chS]" | cut -c 3-1000 > all.list
# Make a list of what's not used
rm -f delete.list
for file in `cat all.list`; do
/bin/echo -n "checking for $file ... "
if grep -q $file built.list; then
echo "found, keeping"
else
# handle exceptions
case $file in
platform/defaults/template.c ) echo "protected" ;;
platform/generic/template.c ) echo "protected" ;;
tools/bhc.c ) echo "protected" ;;
* )
echo "not found, deleting"
echo $file >> delete.list
;;
esac
fi
done
# Delete unwanted files
for file in `cat delete.list`; do
rm $file
done
rm -f built.list built.tmp all.list delete.list