+
+# deleting things here lets us not worry about interaction with stale
+# fasls. This is not good, but is better than :FORCE on each asdf
+# operation, because that causes multiple builds of base systems such
+# as SB-RT and SB-GROVEL, but FIXME: there's probably a better
+# solution. -- CSR, 2003-05-30
+
+find contrib/ \( -name '*.fasl' -o \
+ -name '*.FASL' -o \
+ -name 'foo.c' -o \
+ -name 'FOO.C' -o \
+ -name 'a.out' -o \
+ -name 'A.OUT' -o \
+ -name 'alien.so' -o \
+ -name 'ALIEN.SO' -o \
+ -name '*.o' -o \
+ -name '*.O' \) \
+ -print | xargs rm -f
+
+find output -name 'building-contrib.*' -print | xargs rm -f
+
+# Ignore all source registries.
+CL_SOURCE_REGISTRY='(:source-registry :ignore-inherited-configuration)'
+export CL_SOURCE_REGISTRY
+
+if [ -z "$*" ]; then
+ contribs_to_build=contrib/*
+else
+ for name in $*; do
+ contribs_to_build="contrib/$name $contribs_to_build"
+ done
+fi
+
+for i in $contribs_to_build; do
+ test -d $i && test -f $i/Makefile || continue;