#!/bin/csh -f
#
# Create a whole tree symlinked on a given tree.
#
# Usage: "make-symlink-tree full-path-src full-path-dest",
#   creates a destination tree that is a duplicate of src, using symbolic
# links.
#
#			 			Gershon Elber, Jan 1993.
#

onintr quit
if ( $#argv != 2 ) then
	echo "Usage: make-symlink-tree full-path-src full-path-dest"
	exit 1
endif

set src = $1
set dest = $2

if ( ! -e $src ) then
	echo "Source directory does not exists"
	exit 1
endif

echo mkdir $dest
mkdir $dest

cat > /tmp/mksymlinrec.$$ << EOF
#!/bin/csh -f
#

foreach f ( \$argv )
	if ( \$f == "." ) then
		# ignore
	else
		if ( -d $src/\$f ) then
			echo Processing Directory $dest/\$f
			mkdir $dest/\$f
			set all_files = \`echo \$f/\*\`
			/tmp/mksymlinrec.$$ \$all_files
		else
			echo \$f
			ln -s $src/\$f $dest/\$f
		endif
	endif
end
EOF

chmod 755 /tmp/mksymlinrec.$$

# Go do it:
pushd . > /dev/null
cd $src
/tmp/mksymlinrec.$$ *
popd > /dev/null

quit:

onintr -
rm /tmp/mksymlinrec.$$
