1#!/bin/sh
2
3PATH=/bin:/usr/bin:/usr/ccs/bin
4export PATH
5
6case "$1" in
7    --dirs )
8        shift
9        signature="$1"
10        shift
11        if test "$signature" = "workshop-Debug"; then
12            find "$@" -name SunWS_cache -prune -o \
13	        \( -type f -size +64 ! -name '*.o' -print \) | xargs rm -f
14        else
15            rm -rf "$@"
16        fi
17        ;;
18
19    --post-mortem )
20        shift
21        signature="$1"
22        shift
23        find "$@" -name 'make_*.log' | sed -e 's,/make_[^/]*\.log$,,' | \
24            while read d; do
25                for d2 in . `sort -u $d/.*.dirs 2>/dev/null`; do
26                    test -f $d/$d2/ls-Al  &&  continue
27                    listing=`ls -Al $d/$d2`
28                    test "$signature" = "workshop-Debug" || \
29                        symbols=`nm $d/$d2/*.o 2>/dev/null`
30                    for x in $d/$d2/*; do
31                        test -d "$x"  &&  continue
32                        case "$x" in
33                            *.o )
34                                test "$signature" = "workshop-Debug" || \
35                                    rm -f "$x"
36                                ;;
37                            *.[0-9] | *.*cgi | *.a | *.dylib | *.so )
38                                rm -f "$x"
39                                ;;
40                            $d/$d2/*.* | */Makefile | */ls-Al | */symbols )
41                                ;;
42                            * )
43                                rm -f "$x"
44                                ;;
45                        esac
46                    done
47                    echo "$listing" > $d/$d2/ls-Al
48                    test -z "$symbols"  || \
49                        echo "$symbols" | gzip > $d/$d2/symbols.gz
50                done
51            done
52        ;;
53
54    --bin )
55        top_srcdir=$2
56        bindir=$3
57        dbindir=$bindir/.DEATH-ROW
58        apps_to_drop=$top_srcdir/scripts/internal/projects/apps_to_drop
59
60        if [ -f "$apps_to_drop" ]; then
61            while read app; do
62	        test -f "$bindir/$app" || continue
63	        mkdir -p "$dbindir" && \
64	            echo "mv .../bin/$app .../bin/.DEATH-ROW" && \
65	            mv "$bindir/$app" "$dbindir"
66            done < "$apps_to_drop"
67        fi
68        ;;
69
70    --lib )
71        top_srcdir=$2
72        libdir=$3
73        status_dir=$4
74        dlibdir=$libdir/.DEATH-ROW
75        libs_to_drop=$top_srcdir/scripts/internal/projects/libs_to_drop
76        if [ -f "$libs_to_drop" ]; then
77            while read lib; do
78	        test -f "$status_dir/.$lib.dep" || continue
79	        mkdir -p "$dlibdir" && \
80	            echo "mv .../lib/lib$lib.* .../lib/.DEATH-ROW" && \
81	            mv "$libdir/lib$lib.*" "$dlibdir"
82	        test -f "$status_dir/.$lib-static.dep" || continue
83	        mv $libdir/lib$lib-static.* "$dlibdir"
84            done < "$libs_to_drop"
85        fi
86        ;;
87
88    * )
89        echo "$0: unknown mode $1"
90        exit 1
91        ;;
92esac
93