diff --git a/common.mak b/common.mak
index 12f91066b667f8120979cf1d319d398c0754605c..a7d41048ae319baef9b1d346faa5d9ae34ab7f55 100644
--- a/common.mak
+++ b/common.mak
@@ -76,7 +76,8 @@ $(SUBDIR)%-test$(EXESUF): $(SUBDIR)%.c $(LIBNAME)
 	$(CC) $(CFLAGS) $(FFLDFLAGS) -DTEST -o $$@ $$^ $(FFEXTRALIBS)
 
 clean::
-	rm -f $(TESTS) $(addprefix $(SUBDIR),$(CLEANFILES) $(CLEANSUFFIXES) $(LIBSUFFIXES))
+	rm -f $(TESTS) $(addprefix $(SUBDIR),$(CLEANFILES) $(CLEANSUFFIXES) $(LIBSUFFIXES)) \
+	    $(addprefix $(SUBDIR), $(foreach suffix,$(CLEANSUFFIXES),$(addsuffix /$(suffix),$(DIRS))))
 
 distclean:: clean
 	rm -f $(DEPS)
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 9bde81bf5b6b7266cdc600d270ffe600de08d470..a9858d79aaf8c3c03f106525ac1fb9c94b3c2609 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -467,11 +467,9 @@ ASM_OBJS-$(ARCH_BFIN)                  += bfin/pixels_bfin.o \
 TESTS = $(addsuffix -test$(EXESUF), cabac dct eval fft h264 imgresample rangecoder snow)
 TESTS-$(ARCH_X86) += cpuid-test$(EXESUF) motion-test$(EXESUF)
 
+CLEANFILES = apiexample$(EXESUF)
 DIRS = alpha armv4l bfin i386 mlib ppc ps2 sh4 sparc
 
-CLEANFILES = $(addsuffix /*.o,$(DIRS)) $(addsuffix /*.ho,$(DIRS)) \
-    $(addsuffix /*~,$(DIRS)) apiexample$(EXESUF)
-
 include $(SUBDIR)../subdir.mak
 
 $(SUBDIR)cpuid-test$(EXESUF): $(SUBDIR)i386/cputest.c