diff --git a/doit.lsp b/doit.lsp
index b50e4c307a324b0dd66e92f8a7b1d0a1e815cd70..c3be0b96f5643a87caf624de47166b1d58019762 100644
--- a/doit.lsp
+++ b/doit.lsp
@@ -10,7 +10,13 @@
 (let* ((fn (compile-file-pathname "doit.lsp"))
        (type (pathname-type fn))
        (dir-pathname (make-pathname :name :wild :type type))
-       (files (directory dir-pathname)))
+       (subdir-pathname (make-pathname :directory '(:relative :wild)
+                                       :name :wild :type type))
+       (format-pathname (make-pathname :directory '(:relative "printer/format")
+                                       :name :wild :type type))
+       (files (append (directory dir-pathname)
+                      (directory subdir-pathname)
+                      (directory format-pathname))))
   (assert type)
   (assert (not (string-equal type "lsp")))
   (mapc #'delete-file files))
diff --git a/makefile b/makefile
index a10b20e333a48093dc152dbaa5bc522a2557a485..99cb36ff2c5811bcd389a05f88606d7dd10f022e 100644
--- a/makefile
+++ b/makefile
@@ -136,8 +136,8 @@ rt_1000_8:
 
 
 clean:
-	@rm -f auxiliary/*.{out,fas,cls,fasl,o,so,~,fn,x86f,ufsl,abcl,lib}
-	@rm -f sandbox/*.{out,fas,cls,fasl,o,so,~,fn,x86f,ufsl,abcl,lib}
+	@rm -f */*.{out,fas,cls,fasl,o,so,~,fn,x86f,ufsl,abcl,lib}
+	@rm -f */*/*.{out,fas,cls,fasl,o,so,~,fn,x86f,ufsl,abcl,lib}
 	@rm -f test*.out *.cls *.fasl *.o *.so *~ *.fn *.x86f *.fasl *.ufsl *.abcl *.fas *.lib \#*\#
 	@rm -f *.dfsl *.d64fsl
 	@(cd beyond-ansi; $(MAKE) clean)