diff --git a/src/cleanall.sh b/src/cleanall.sh
index 45882f6c90c82408817f27b381a99d3339ecb4f2..5804314328126530834050d5cc3953699a194282 100755
--- a/src/cleanall.sh
+++ b/src/cleanall.sh
@@ -1,11 +1,12 @@
 #!/bin/sh
-make -C conio clean $@
-make -C sbbs3 clean $@
-make -C sbbs3/scfg clean $@
-make -C sbbs3/uedit clean $@
-make -C sbbs3/umonitor clean $@
-make -C smblib clean $@
-make -C uifc clean $@
-make -C xpdev clean $@
-make -C encode clean $@
-make -C hash clean $@
+DIR=$(dirname $0)
+make -C $DIR/conio clean $@
+make -C $DIR/sbbs3 clean $@
+make -C $DIR/sbbs3/scfg clean $@
+make -C $DIR/sbbs3/uedit clean $@
+make -C $DIR/sbbs3/umonitor clean $@
+make -C $DIR/smblib clean $@
+make -C $DIR/uifc clean $@
+make -C $DIR/xpdev clean $@
+make -C $DIR/encode clean $@
+make -C $DIR/hash clean $@