diff --git a/dlls/wineandroid.drv/Makefile.in b/dlls/wineandroid.drv/Makefile.in
index e35f85ac89548cba421f0ee8a15e16d7561f6ccd..fcc988b211fb3188d0dd226e2355cceb1a35be08 100644
--- a/dlls/wineandroid.drv/Makefile.in
+++ b/dlls/wineandroid.drv/Makefile.in
@@ -18,8 +18,6 @@ SVG_SRCS = \
 
 EXTRA_TARGETS = wine-debug.apk
 
-all: wine-debug.apk
-
 wine-debug.apk: build.gradle $(srcdir)/AndroidManifest.xml $(srcdir)/WineActivity.java $(srcdir)/wine.svg
 	gradle -q assembleDebug
 	mv build/outputs/apk/wine-debug.apk $@
diff --git a/tools/makedep.c b/tools/makedep.c
index 96f7100a0e21bc9806757ece0ad8b4f9b940c635..4775a60334f3cc2459c58a2a241989c7d2e58754 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -3931,6 +3931,12 @@ static void output_sources( struct makefile *make )
         add_install_rule( make, make->scripts.str[i], make->scripts.str[i],
                           strmake( "S$(bindir)/%s", make->scripts.str[i] ));
 
+    for (i = 0; i < make->extra_targets.count; i++)
+        if (strarray_exists( &make->dependencies, obj_dir_path( make, make->extra_targets.str[i] )))
+            strarray_add( &make->clean_files, make->extra_targets.str[i] );
+        else
+            strarray_add( &make->all_targets, make->extra_targets.str[i] );
+
     if (!make->src_dir) strarray_add( &make->distclean_files, ".gitignore" );
     strarray_add( &make->distclean_files, "Makefile" );
     if (make->testdll) strarray_add( &make->distclean_files, "testlist.c" );
@@ -3969,7 +3975,6 @@ static void output_sources( struct makefile *make )
     strarray_addall( &make->clean_files, make->pot_files );
     strarray_addall( &make->clean_files, make->debug_files );
     strarray_addall( &make->clean_files, make->all_targets );
-    strarray_addall( &make->clean_files, make->extra_targets );
 
     if (make->clean_files.count)
     {