From 456c8f435a39b2f1e2323f01628e5b1627ab30b7 Mon Sep 17 00:00:00 2001
From: Alexandre Julliard <julliard@winehq.org>
Date: Sat, 9 Nov 2013 20:41:49 +0100
Subject: [PATCH] makefiles: Remove the no longer needed EXTRASUBDIRS
 variables.

---
 Make.rules.in               |  8 ++-----
 Makefile.in                 |  7 ------
 aclocal.m4                  |  9 ++++----
 configure                   | 44 ++++++++++++++-----------------------
 configure.ac                | 13 ++++++-----
 dlls/gdi32/Makefile.in      |  5 -----
 dlls/kernel32/Makefile.in   |  2 --
 dlls/user32/Makefile.in     |  2 --
 dlls/wineps.drv/Makefile.in |  2 --
 include/Makefile.in         |  6 -----
 tools/Makefile.in           |  2 --
 tools/make_makefiles        | 20 ++---------------
 12 files changed, 33 insertions(+), 87 deletions(-)

diff --git a/Make.rules.in b/Make.rules.in
index 10b5e8362a4..ffa6cc39ab8 100644
--- a/Make.rules.in
+++ b/Make.rules.in
@@ -7,7 +7,6 @@
 # EXTRA_OBJS   : extra object files
 # IMPORTS      : dlls to import
 # DELAYIMPORTS : dlls to import in delayed mode
-# EXTRASUBDIRS : subdirectories that do not contain a Makefile
 # MODCFLAGS    : extra CFLAGS for this module
 
 # First some useful definitions
@@ -154,13 +153,10 @@ xmlpages:: $(C_SRCS) dummy
 
 # Rules for cleaning
 
-$(EXTRASUBDIRS:%=%/clean): dummy
-	-cd `dirname $@` && $(RM) $(CLEAN_FILES)
-
-clean:: $(EXTRASUBDIRS:%=%/clean)
+clean::
 	$(RM) $(CLEAN_FILES) $(CLEAN_TARGETS) $(PROGRAMS) $(MANPAGES)
 
-.PHONY: clean $(EXTRASUBDIRS:%=%/clean)
+.PHONY: clean
 
 # Rules for installing
 
diff --git a/Makefile.in b/Makefile.in
index 342dc9f97e9..d54fc21189f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -18,13 +18,6 @@
 # sgmlpages:       compile sgml source for the Wine API Guide
 # xmlpages:        compile xml source for the Wine API Guide
 
-# Sub-directories that don't have a makefile
-EXTRASUBDIRS = \
-	dlls \
-	libs \
-	po \
-	programs
-
 # Destination directories for make install
 INSTALLDIRS = \
 	$(DESTDIR)$(bindir) \
diff --git a/aclocal.m4 b/aclocal.m4
index 5ded93b088f..b1315b707e6 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -491,7 +491,9 @@ clean::
                 wine_fn_append_rule \
 "__builddeps__: dlls/lib$ac_implib.cross.a
 dlls/lib$ac_implib.cross.a: $ac_file.cross.a
-	\$(RM) \$[@] && \$(LN_S) $ac_name/lib$ac_implib.cross.a \$[@]"
+	\$(RM) \$[@] && \$(LN_S) $ac_name/lib$ac_implib.cross.a \$[@]
+clean::
+	\$(RM) dlls/lib$ac_implib.cross.a"
             fi
         fi
     fi
@@ -671,10 +673,7 @@ dnl
 dnl Usage: WINE_CONFIG_EXTRA_DIR(dirname)
 dnl
 AC_DEFUN([WINE_CONFIG_EXTRA_DIR],
-[AC_CONFIG_COMMANDS([$1],[test -d "$1" || { AC_MSG_NOTICE([creating $1]); AS_MKDIR_P("$1"); }])dnl
-wine_fn_append_rule \
-"clean::
-	\$(RM) \$(CLEAN_FILES:%=[$1]/%)"])
+[AC_CONFIG_COMMANDS([$1],[test -d "$1" || { AC_MSG_NOTICE([creating $1]); AS_MKDIR_P("$1"); }])])
 
 dnl **** Create symlinks from config.status ****
 dnl
diff --git a/configure b/configure
index 8830b9b2990..5dd4a593c4d 100755
--- a/configure
+++ b/configure
@@ -16410,7 +16410,9 @@ clean::
                 wine_fn_append_rule \
 "__builddeps__: dlls/lib$ac_implib.cross.a
 dlls/lib$ac_implib.cross.a: $ac_file.cross.a
-	\$(RM) \$@ && \$(LN_S) $ac_name/lib$ac_implib.cross.a \$@"
+	\$(RM) \$@ && \$(LN_S) $ac_name/lib$ac_implib.cross.a \$@
+clean::
+	\$(RM) dlls/lib$ac_implib.cross.a"
             fi
         fi
     fi
@@ -16608,33 +16610,19 @@ wine_fn_config_symlink wine64
 fi
 
 ac_config_commands="$ac_config_commands dlls/gdi32/dibdrv"
-wine_fn_append_rule \
-"clean::
-	\$(RM) \$(CLEAN_FILES:%=dlls/gdi32/dibdrv/%)"
+
 ac_config_commands="$ac_config_commands dlls/gdi32/enhmfdrv"
-wine_fn_append_rule \
-"clean::
-	\$(RM) \$(CLEAN_FILES:%=dlls/gdi32/enhmfdrv/%)"
+
 ac_config_commands="$ac_config_commands dlls/gdi32/mfdrv"
-wine_fn_append_rule \
-"clean::
-	\$(RM) \$(CLEAN_FILES:%=dlls/gdi32/mfdrv/%)"
+
 ac_config_commands="$ac_config_commands dlls/kernel32/nls"
-wine_fn_append_rule \
-"clean::
-	\$(RM) \$(CLEAN_FILES:%=dlls/kernel32/nls/%)"
+
 ac_config_commands="$ac_config_commands dlls/user32/resources"
-wine_fn_append_rule \
-"clean::
-	\$(RM) \$(CLEAN_FILES:%=dlls/user32/resources/%)"
+
 ac_config_commands="$ac_config_commands dlls/wineps.drv/data"
-wine_fn_append_rule \
-"clean::
-	\$(RM) \$(CLEAN_FILES:%=dlls/wineps.drv/data/%)"
+
 ac_config_commands="$ac_config_commands include/wine"
-wine_fn_append_rule \
-"clean::
-	\$(RM) \$(CLEAN_FILES:%=include/wine/%)"
+
 
 wine_fn_config_makerules Make.rules
 MAKE_RULES=Make.rules
@@ -16850,7 +16838,7 @@ wine_fn_config_dll fwpuclnt enable_fwpuclnt
 wine_fn_config_dll gameux enable_gameux clean
 wine_fn_config_test dlls/gameux/tests gameux_test
 wine_fn_config_dll gdi.exe16 enable_win16
-wine_fn_config_dll gdi32 enable_gdi32 implib,po
+wine_fn_config_dll gdi32 enable_gdi32 clean,implib,po
 wine_fn_config_test dlls/gdi32/tests gdi32_test
 wine_fn_config_dll gdiplus enable_gdiplus implib
 wine_fn_config_test dlls/gdiplus/tests gdiplus_test
@@ -16893,7 +16881,7 @@ wine_fn_config_test dlls/itss/tests itss_test
 wine_fn_config_dll joy.cpl enable_joy_cpl po
 wine_fn_config_dll jscript enable_jscript clean,po
 wine_fn_config_test dlls/jscript/tests jscript_test
-wine_fn_config_dll kernel32 enable_kernel32 implib,mc
+wine_fn_config_dll kernel32 enable_kernel32 clean,implib,mc
 wine_fn_config_test dlls/kernel32/tests kernel32_test
 wine_fn_config_dll keyboard.drv16 enable_win16
 wine_fn_config_dll krnl386.exe16 enable_win16 implib kernel
@@ -17150,7 +17138,7 @@ wine_fn_config_dll urlmon enable_urlmon clean,implib,po
 wine_fn_config_test dlls/urlmon/tests urlmon_test
 wine_fn_config_dll usbd.sys enable_usbd_sys implib
 wine_fn_config_dll user.exe16 enable_win16
-wine_fn_config_dll user32 enable_user32 implib,po
+wine_fn_config_dll user32 enable_user32 clean,implib,po
 wine_fn_config_test dlls/user32/tests user32_test
 wine_fn_config_dll userenv enable_userenv implib
 wine_fn_config_test dlls/userenv/tests userenv_test
@@ -17202,7 +17190,7 @@ wine_fn_config_dll winemac.drv enable_winemac_drv
 wine_fn_config_dll winemapi enable_winemapi
 wine_fn_config_dll winemp3.acm enable_winemp3_acm
 wine_fn_config_dll wineoss.drv enable_wineoss_drv
-wine_fn_config_dll wineps.drv enable_wineps_drv po
+wine_fn_config_dll wineps.drv enable_wineps_drv clean,po
 wine_fn_config_dll wineps16.drv16 enable_win16
 wine_fn_config_dll wineqtdecoder enable_wineqtdecoder
 wine_fn_config_dll winex11.drv enable_winex11_drv
@@ -17437,7 +17425,9 @@ if test "$MSGFMT" != false
 then
     PORCFLAGS="--po-dir=\$(top_builddir)/po"
 
-    wine_fn_append_rule "__builddeps__: \$(ALL_MO_FILES)"
+    wine_fn_append_rule "__builddeps__: \$(ALL_MO_FILES)
+clean::
+	\$(RM) \$(ALL_MO_FILES)"
 else
     LINGUAS=
 fi
diff --git a/configure.ac b/configure.ac
index a74581894e3..8bbbac5fe5a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2891,7 +2891,7 @@ WINE_CONFIG_DLL(fwpuclnt)
 WINE_CONFIG_DLL(gameux,,[clean])
 WINE_CONFIG_TEST(dlls/gameux/tests)
 WINE_CONFIG_DLL(gdi.exe16,enable_win16)
-WINE_CONFIG_DLL(gdi32,,[implib,po])
+WINE_CONFIG_DLL(gdi32,,[clean,implib,po])
 WINE_CONFIG_TEST(dlls/gdi32/tests)
 WINE_CONFIG_DLL(gdiplus,,[implib])
 WINE_CONFIG_TEST(dlls/gdiplus/tests)
@@ -2934,7 +2934,7 @@ WINE_CONFIG_TEST(dlls/itss/tests)
 WINE_CONFIG_DLL(joy.cpl,,[po])
 WINE_CONFIG_DLL(jscript,,[clean,po])
 WINE_CONFIG_TEST(dlls/jscript/tests)
-WINE_CONFIG_DLL(kernel32,,[implib,mc])
+WINE_CONFIG_DLL(kernel32,,[clean,implib,mc])
 WINE_CONFIG_TEST(dlls/kernel32/tests)
 WINE_CONFIG_DLL(keyboard.drv16,enable_win16)
 WINE_CONFIG_DLL(krnl386.exe16,enable_win16,[implib],[kernel])
@@ -3191,7 +3191,7 @@ WINE_CONFIG_DLL(urlmon,,[clean,implib,po])
 WINE_CONFIG_TEST(dlls/urlmon/tests)
 WINE_CONFIG_DLL(usbd.sys,,[implib])
 WINE_CONFIG_DLL(user.exe16,enable_win16)
-WINE_CONFIG_DLL(user32,,[implib,po])
+WINE_CONFIG_DLL(user32,,[clean,implib,po])
 WINE_CONFIG_TEST(dlls/user32/tests)
 WINE_CONFIG_DLL(userenv,,[implib])
 WINE_CONFIG_TEST(dlls/userenv/tests)
@@ -3243,7 +3243,7 @@ WINE_CONFIG_DLL(winemac.drv)
 WINE_CONFIG_DLL(winemapi)
 WINE_CONFIG_DLL(winemp3.acm)
 WINE_CONFIG_DLL(wineoss.drv)
-WINE_CONFIG_DLL(wineps.drv,,[po])
+WINE_CONFIG_DLL(wineps.drv,,[clean,po])
 WINE_CONFIG_DLL(wineps16.drv16,enable_win16)
 WINE_CONFIG_DLL(wineqtdecoder)
 WINE_CONFIG_DLL(winex11.drv)
@@ -3485,7 +3485,10 @@ fi
 if test "$MSGFMT" != false
 then
     AC_SUBST([PORCFLAGS],["--po-dir=\$(top_builddir)/po"])
-    WINE_APPEND_RULE([__builddeps__: \$(ALL_MO_FILES)])
+    WINE_APPEND_RULE(
+[__builddeps__: \$(ALL_MO_FILES)
+clean::
+	\$(RM) \$(ALL_MO_FILES)])
 else
     LINGUAS=
 fi
diff --git a/dlls/gdi32/Makefile.in b/dlls/gdi32/Makefile.in
index c7953a98b8c..f76afdae5f2 100644
--- a/dlls/gdi32/Makefile.in
+++ b/dlls/gdi32/Makefile.in
@@ -50,9 +50,4 @@ C_SRCS = \
 RC_SRCS = gdi32.rc
 PO_SRCS = gdi32.rc
 
-EXTRASUBDIRS = \
-	dibdrv \
-	enhmfdrv \
-	mfdrv
-
 @MAKE_DLL_RULES@
diff --git a/dlls/kernel32/Makefile.in b/dlls/kernel32/Makefile.in
index 6cea0bffdad..3fd6a71588b 100644
--- a/dlls/kernel32/Makefile.in
+++ b/dlls/kernel32/Makefile.in
@@ -52,6 +52,4 @@ RC_SRCS = \
 MC_SRCS = \
 	winerror.mc
 
-EXTRASUBDIRS = nls
-
 @MAKE_DLL_RULES@
diff --git a/dlls/user32/Makefile.in b/dlls/user32/Makefile.in
index d4fe203f330..a68968a9084 100644
--- a/dlls/user32/Makefile.in
+++ b/dlls/user32/Makefile.in
@@ -61,6 +61,4 @@ SVG_SRCS = \
 	resources/oic_sample.svg \
 	resources/oic_winlogo.svg
 
-EXTRASUBDIRS = resources
-
 @MAKE_DLL_RULES@
diff --git a/dlls/wineps.drv/Makefile.in b/dlls/wineps.drv/Makefile.in
index 3775f28690e..38c8a521814 100644
--- a/dlls/wineps.drv/Makefile.in
+++ b/dlls/wineps.drv/Makefile.in
@@ -64,6 +64,4 @@ C_SRCS = \
 PO_SRCS = wineps.rc
 RC_SRCS = wineps.rc
 
-EXTRASUBDIRS = data
-
 @MAKE_DLL_RULES@
diff --git a/include/Makefile.in b/include/Makefile.in
index d11c0f0d1e5..f4f1ce21ca3 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -622,12 +622,6 @@ SRCDIR_INCLUDES = \
 	xmldsodid.h \
 	zmouse.h
 
-EXTRASUBDIRS = \
-	ddk \
-	msvcrt \
-	msvcrt/sys \
-	wine
-
 INSTALLDIRS = \
 	$(DESTDIR)$(includedir)/windows/ddk \
 	$(DESTDIR)$(includedir)/windows \
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 36fd26d3052..428e537c93f 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -21,8 +21,6 @@ C_SRCS = \
 	makedep.c \
 	sfnt2fnt.c
 
-EXTRASUBDIRS = winapi
-
 INSTALLDIRS = \
 	$(DESTDIR)$(bindir) \
 	$(DESTDIR)$(datadir)/applications \
diff --git a/tools/make_makefiles b/tools/make_makefiles
index 9478c468c56..048dfe36106 100755
--- a/tools/make_makefiles
+++ b/tools/make_makefiles
@@ -391,8 +391,6 @@ sub get_makedep_flags($)
 # assign source files to their respective makefile
 sub assign_sources_to_makefiles(@)
 {
-    my %subdirs;
-
     foreach my $file (@_)
     {
         next if defined $ignored_source_files{$file};
@@ -401,22 +399,15 @@ sub assign_sources_to_makefiles(@)
 
         while ($dir && !defined $makefiles{"$dir/Makefile"}) { $dir = dirname( $dir ); }
         $subdir =~ s/^$dir\/?//;
-        $subdirs{"$dir/ $subdir"} = 1 if $subdir;
         next unless $dir;
 
-        my $basedir = dirname( $dir );
-        if ($basedir && !defined $makefiles{"$basedir/Makefile"})
-        {
-            $subdir = $basedir;
-            $basedir = dirname( $basedir );
-            $subdirs{"$basedir/ $subdir"} = 1;
-        }
-
         die "no makefile found for $file\n" unless defined $makefiles{"$dir/Makefile"};
 
         my $make = $makefiles{"$dir/Makefile"};
         my $name = substr( $file, length($dir) + 1 );
 
+        ${$make}{"=flags"}{"clean"} = 1 if $subdir;
+
         if ($dir eq "include")
         {
             next if ($name =~ /\.in$/);
@@ -465,12 +456,6 @@ sub assign_sources_to_makefiles(@)
             }
         }
     }
-    foreach my $key (keys %subdirs)
-    {
-        my ($dir, $subdir) = split " ", $key;
-        if ($dir eq "/") { $dir = ""; }
-        push @{${$makefiles{"${dir}Makefile"}}{"=EXTRASUBDIRS"}}, $subdir;
-    }
 
     # add extra variables to include source list
     my $make = $makefiles{"include/Makefile"};
@@ -583,7 +568,6 @@ sub update_makefiles(@)
         replace_makefile_variable( $file, "IDL_TLB_SRCS" );
         replace_makefile_variable( $file, "XTEMPLATE_SRCS" );
         replace_makefile_variable( $file, "SRCDIR_INCLUDES" );
-        replace_makefile_variable( $file, "EXTRASUBDIRS" );
     }
 
     push @lines, "dnl End of auto-generated output commands\n";
-- 
GitLab