1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
#!/usr/bin/env bash
set -x
set -e
SrcDir=$1
DestDir=$2
SrcDir=$(echo $SrcDir | sed -e 's#//#/#' -e 's#/$##')/
DestDir=$(echo $DestDir | sed -e 's#//#/#' -e 's#/$##')/
if [ "x$SrcDir" = "x" ]; then
echo "Usage: $0 <fpc_source_directory> <fpc_destination_directory>"
exit
fi
if [ "x$DestDir" = "x" ]; then
echo "Usage: $0 <fpc_source_directory> <fpc_destination_directory>"
exit
fi
if [ "x$DestDir" = "x/" ]; then
echo "Usage: $0 <fpc_source_directory> <fpc_destination_directory>"
exit
fi
if [ ! -d $SrcDir/compiler ]; then
echo "The directory does not look like a fpc source directory (lazarus/)"
exit
fi
echo "copy $SrcDir to $DestDir ..."
if [ `which rsync` ]; then
rsync -va --exclude="CVS" --exclude=".cvsignore" \
--exclude="*.ppu" --exclude="*.ppw" --exclude="*.ppl" \
--exclude="*.o" --exclude="*.ow" --exclude="*.rst" \
--exclude=".#*" --exclude="*.~*" --exclude="*.bak" \
--exclude="*.orig" --exclude="*.rej" --exclude="*.bak" \
--exclude=".xvpics" --exclude="*.compiled" --exclude="killme*" \
--exclude=".gdb_hist*" \
$SrcDir $DestDir
else
cp -a $SrcDir $DestDir
fi
echo "cleaning up (svn, ppu, o) ..."
cd $DestDir
make distclean
for Ext in ppu ppw ppl o ow rst cvsignore bak orig rej xvpics; do
find . -name "*.$Ext" -exec rm -f {} \;
done
find . -name "*.~*" -exec rm -f {} \;
find . -name "*.#*" -exec rm -f {} \;
# delete all CVS directories
find . -name "CVS" -exec rm -rf {} \;
# delete all .svn directories
find . -name ".svn" -exec rm -rf {} \;
# delete all executables
find . -perm /a+x -type f -exec rm -f {} \;
cd -
# end.
|