diff --git a/Make.rules.in b/Make.rules.in
index b7b89f540e53e0abcc70e6189bf67b9f87c6b014..b53c91077e7bd14605c4e97fe1fb4769d7e2ce4e 100644
--- a/Make.rules.in
+++ b/Make.rules.in
@@ -24,10 +24,9 @@ IDL_GEN_C_SRCS  = $(IDL_C_SRCS:.idl=_c.c) $(IDL_I_SRCS:.idl=_i.c) \
 IDL_GEN_HEADERS = $(IDL_H_SRCS:.idl=.h) $(IDL_C_SRCS:.idl=.h) $(IDL_I_SRCS:.idl=.h) \
                   $(IDL_P_SRCS:.idl=.h) $(IDL_S_SRCS:.idl=.h)
 
-CLEAN_FILES   = *.o *.a *.so *.mo *.ln *.res *.fake core
+CLEAN_FILES   = *.o *.a *.so *.mo *.ln *.res *.fake *.tab.[ch] *.yy.c
 CLEAN_TARGETS = $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) \
                 $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:.idl=_p.c dlldata.c) \
-                $(BISON_SRCS:.y=.tab.c) $(BISON_SRCS:.y=.tab.h) $(LEX_SRCS:.l=.yy.c) \
                 $(PO_SRCS:.rc=.res rsrc.pot) $(MC_SRCS:.mc=.res msg.pot) $(XTEMPLATE_SRCS:.x=.h)
 
 OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_SRCS:.c=.o) $(OBJC_SRCS:.m=.o) \
diff --git a/aclocal.m4 b/aclocal.m4
index ee67b8398e595d120f1288fd563ac5d6d69b30d7..1713b167ad08cbcbc31e04843032ae372c37b5d7 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -232,12 +232,7 @@ wine_fn_all_dir_rules ()
     esac
 
     wine_fn_append_rule \
-"__clean__: $ac_dir/__clean__
-.PHONY: $ac_dir/__clean__
-$ac_dir/__clean__: $ac_dir/Makefile
-	@cd $ac_dir && \$(MAKE) clean
-	\$(RM) $ac_dir/Makefile
-$ac_dir/Makefile: $ac_dir/Makefile.in Make.vars.in config.status $ac_alldeps
+"$ac_dir/Makefile: $ac_dir/Makefile.in Make.vars.in config.status $ac_alldeps
 	@./config.status --file $ac_dir/Makefile:$ac_input && cd $ac_dir && \$(MAKE) depend
 depend: $ac_dir/__depend__
 .PHONY: $ac_dir/__depend__
@@ -270,7 +265,7 @@ $ac_dir/rsrc.pot: tools/wrc include"
     fi
 }
 
-wine_fn_config_makefile ()
+wine_fn_config_all_make_rules ()
 {
     ac_dir=$[1]
     ac_enable=$[2]
@@ -315,12 +310,45 @@ install-dev:: $ac_dir/__install-dev__"
     fi
 }
 
+wine_fn_clean_rules ()
+{
+    ac_dir=$[1]
+    ac_flags=$[2]
+    shift; shift
+    ac_clean=$[@]
+
+    if wine_fn_has_flag clean $ac_flags
+    then
+        wine_fn_append_rule \
+"__clean__: $ac_dir/__clean__
+.PHONY: $ac_dir/__clean__
+$ac_dir/__clean__: $ac_dir/Makefile
+	@cd $ac_dir && \$(MAKE) clean
+	\$(RM) $ac_dir/Makefile"
+    else
+        wine_fn_append_rule \
+"clean::
+	\$(RM) \$(CLEAN_FILES:%=$ac_dir/%) $ac_clean $ac_dir/Makefile"
+    fi
+}
+
+wine_fn_config_makefile ()
+{
+    ac_dir=$[1]
+    ac_enable=$[2]
+    ac_flags=$[3]
+
+    wine_fn_config_all_make_rules $ac_dir $ac_enable $ac_flags
+    wine_fn_clean_rules $ac_dir $ac_flags
+}
+
 wine_fn_config_lib ()
 {
     ac_name=$[1]
     ac_flags=$[2]
     ac_dir=dlls/$ac_name
-    wine_fn_config_makefile $ac_dir enable_$ac_name "$ac_flags" dlls/Makeimplib.rules
+    wine_fn_config_all_make_rules $ac_dir enable_$ac_name "$ac_flags" dlls/Makeimplib.rules
+    wine_fn_clean_rules $ac_dir $ac_flags
 
     if wine_fn_has_flag install-dev $ac_flags
     then :
@@ -358,7 +386,13 @@ wine_fn_config_dll ()
       *)   ac_dll=$ac_dll.dll ;;
     esac
 
-    wine_fn_config_makefile $ac_dir $ac_enable "$ac_flags" dlls/Makedll.rules
+    wine_fn_config_all_make_rules $ac_dir $ac_enable "$ac_flags" dlls/Makedll.rules
+
+    ac_clean=
+    wine_fn_has_flag implib $ac_flags && ac_clean="$ac_clean $ac_file.$IMPLIBEXT"
+    wine_fn_has_flag mc $ac_flags && ac_clean="$ac_clean $ac_dir/msg.pot"
+    wine_fn_has_flag po $ac_flags && ac_clean="$ac_clean $ac_dir/rsrc.pot"
+    wine_fn_clean_rules $ac_dir "$ac_flags" $ac_clean
 
     AS_VAR_IF([$ac_enable],[no],
               dnl enable_win16 is special in that it disables import libs too
@@ -485,7 +519,14 @@ wine_fn_config_program ()
       *)   ac_program=$ac_program.exe ;;
     esac
 
-    wine_fn_config_makefile $ac_dir $ac_enable "$ac_flags" programs/Makeprog.rules
+    wine_fn_config_all_make_rules $ac_dir $ac_enable "$ac_flags" programs/Makeprog.rules
+
+    ac_clean=
+    wine_fn_has_flag mc $ac_flags && ac_clean="$ac_clean $ac_dir/msg.pot"
+    wine_fn_has_flag po $ac_flags && ac_clean="$ac_clean $ac_dir/rsrc.pot"
+    wine_fn_has_flag manpage $ac_flags && ac_clean="$ac_clean $ac_dir/$ac_name.man"
+    test -n "$DLLEXT" || ac_clean="$ac_clean $ac_dir/$ac_program"
+    wine_fn_clean_rules $ac_dir "$ac_flags" $ac_clean
 
     AS_VAR_IF([$ac_enable],[no],,[wine_fn_append_rule "$ac_dir: __builddeps__"
 
@@ -537,8 +578,15 @@ wine_fn_config_test ()
     ac_dir=$[1]
     ac_name=$[2]
     ac_flags=$[3]
+
+    ac_clean=
+    test "x$CROSSTEST_DISABLE" = x && ac_clean=`expr $ac_dir/${ac_name} : "\\(.*\\)_test"`_crosstest.exe
+    test -n "$DLLEXT" || ac_clean=$ac_dir/${ac_name}.exe
+    ac_clean="$ac_clean $ac_dir/*.ok $ac_dir/testlist.c"
+
     wine_fn_append_file ALL_TEST_RESOURCES $ac_name.res
     wine_fn_all_dir_rules $ac_dir Maketest.rules
+    wine_fn_clean_rules $ac_dir "$ac_flags" $ac_clean
 
     AS_VAR_IF([enable_tests],[no],,[wine_fn_append_rule \
 "all: $ac_dir
@@ -569,7 +617,8 @@ wine_fn_config_tool ()
     ac_flags=$[2]
     AS_VAR_IF([enable_tools],[no],[return 0])
 
-    wine_fn_config_makefile $ac_dir enable_tools $ac_flags
+    wine_fn_config_all_make_rules $ac_dir enable_tools $ac_flags
+    wine_fn_clean_rules $ac_dir $ac_flags
 
     wine_fn_append_rule "__tooldeps__: $ac_dir"
     wine_fn_append_rule "$ac_dir: libs/port"
@@ -631,7 +680,10 @@ 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"); }])])
+[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]/%)"])
 
 dnl **** Create symlinks from config.status ****
 dnl
diff --git a/configure b/configure
index d17492a75bda1396048ccbaa0ab6f150e17d98c5..e0e33200a9227b1ae87471c9be6eee1776681d49 100755
--- a/configure
+++ b/configure
@@ -15452,6 +15452,7 @@ esac
 
 ac_config_commands="$ac_config_commands include/stamp-h"
 
+$as_echo_n "creating Makefile rules..." >&6
 
 wine_rules_file=conf$$rules.make
 rm -f $wine_rules_file
@@ -15492,12 +15493,7 @@ wine_fn_all_dir_rules ()
     esac
 
     wine_fn_append_rule \
-"__clean__: $ac_dir/__clean__
-.PHONY: $ac_dir/__clean__
-$ac_dir/__clean__: $ac_dir/Makefile
-	@cd $ac_dir && \$(MAKE) clean
-	\$(RM) $ac_dir/Makefile
-$ac_dir/Makefile: $ac_dir/Makefile.in Make.vars.in config.status $ac_alldeps
+"$ac_dir/Makefile: $ac_dir/Makefile.in Make.vars.in config.status $ac_alldeps
 	@./config.status --file $ac_dir/Makefile:$ac_input && cd $ac_dir && \$(MAKE) depend
 depend: $ac_dir/__depend__
 .PHONY: $ac_dir/__depend__
@@ -15530,7 +15526,7 @@ $ac_dir/rsrc.pot: tools/wrc include"
     fi
 }
 
-wine_fn_config_makefile ()
+wine_fn_config_all_make_rules ()
 {
     ac_dir=$1
     ac_enable=$2
@@ -15577,12 +15573,45 @@ install-dev:: $ac_dir/__install-dev__"
     fi
 }
 
+wine_fn_clean_rules ()
+{
+    ac_dir=$1
+    ac_flags=$2
+    shift; shift
+    ac_clean=$@
+
+    if wine_fn_has_flag clean $ac_flags
+    then
+        wine_fn_append_rule \
+"__clean__: $ac_dir/__clean__
+.PHONY: $ac_dir/__clean__
+$ac_dir/__clean__: $ac_dir/Makefile
+	@cd $ac_dir && \$(MAKE) clean
+	\$(RM) $ac_dir/Makefile"
+    else
+        wine_fn_append_rule \
+"clean::
+	\$(RM) \$(CLEAN_FILES:%=$ac_dir/%) $ac_clean $ac_dir/Makefile"
+    fi
+}
+
+wine_fn_config_makefile ()
+{
+    ac_dir=$1
+    ac_enable=$2
+    ac_flags=$3
+
+    wine_fn_config_all_make_rules $ac_dir $ac_enable $ac_flags
+    wine_fn_clean_rules $ac_dir $ac_flags
+}
+
 wine_fn_config_lib ()
 {
     ac_name=$1
     ac_flags=$2
     ac_dir=dlls/$ac_name
-    wine_fn_config_makefile $ac_dir enable_$ac_name "$ac_flags" dlls/Makeimplib.rules
+    wine_fn_config_all_make_rules $ac_dir enable_$ac_name "$ac_flags" dlls/Makeimplib.rules
+    wine_fn_clean_rules $ac_dir $ac_flags
 
     if wine_fn_has_flag install-dev $ac_flags
     then :
@@ -15620,7 +15649,13 @@ wine_fn_config_dll ()
       *)   ac_dll=$ac_dll.dll ;;
     esac
 
-    wine_fn_config_makefile $ac_dir $ac_enable "$ac_flags" dlls/Makedll.rules
+    wine_fn_config_all_make_rules $ac_dir $ac_enable "$ac_flags" dlls/Makedll.rules
+
+    ac_clean=
+    wine_fn_has_flag implib $ac_flags && ac_clean="$ac_clean $ac_file.$IMPLIBEXT"
+    wine_fn_has_flag mc $ac_flags && ac_clean="$ac_clean $ac_dir/msg.pot"
+    wine_fn_has_flag po $ac_flags && ac_clean="$ac_clean $ac_dir/rsrc.pot"
+    wine_fn_clean_rules $ac_dir "$ac_flags" $ac_clean
 
     if eval test \"x\$"$ac_enable"\" = x"no"; then :
                 test "$ac_enable" != enable_win16 || return 0
@@ -15747,7 +15782,14 @@ wine_fn_config_program ()
       *)   ac_program=$ac_program.exe ;;
     esac
 
-    wine_fn_config_makefile $ac_dir $ac_enable "$ac_flags" programs/Makeprog.rules
+    wine_fn_config_all_make_rules $ac_dir $ac_enable "$ac_flags" programs/Makeprog.rules
+
+    ac_clean=
+    wine_fn_has_flag mc $ac_flags && ac_clean="$ac_clean $ac_dir/msg.pot"
+    wine_fn_has_flag po $ac_flags && ac_clean="$ac_clean $ac_dir/rsrc.pot"
+    wine_fn_has_flag manpage $ac_flags && ac_clean="$ac_clean $ac_dir/$ac_name.man"
+    test -n "$DLLEXT" || ac_clean="$ac_clean $ac_dir/$ac_program"
+    wine_fn_clean_rules $ac_dir "$ac_flags" $ac_clean
 
     if eval test \"x\$"$ac_enable"\" = x"no"; then :
 
@@ -15803,8 +15845,15 @@ wine_fn_config_test ()
     ac_dir=$1
     ac_name=$2
     ac_flags=$3
+
+    ac_clean=
+    test "x$CROSSTEST_DISABLE" = x && ac_clean=`expr $ac_dir/${ac_name} : "\\(.*\\)_test"`_crosstest.exe
+    test -n "$DLLEXT" || ac_clean=$ac_dir/${ac_name}.exe
+    ac_clean="$ac_clean $ac_dir/*.ok $ac_dir/testlist.c"
+
     wine_fn_append_file ALL_TEST_RESOURCES $ac_name.res
     wine_fn_all_dir_rules $ac_dir Maketest.rules
+    wine_fn_clean_rules $ac_dir "$ac_flags" $ac_clean
 
     if test "x$enable_tests" = xno; then :
 
@@ -15841,7 +15890,8 @@ wine_fn_config_tool ()
   return 0
 fi
 
-    wine_fn_config_makefile $ac_dir enable_tools $ac_flags
+    wine_fn_config_all_make_rules $ac_dir enable_tools $ac_flags
+    wine_fn_clean_rules $ac_dir $ac_flags
 
     wine_fn_append_rule "__tooldeps__: $ac_dir"
     wine_fn_append_rule "$ac_dir: libs/port"
@@ -15919,19 +15969,33 @@ 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
@@ -15957,13 +16021,13 @@ ac_config_files="$ac_config_files programs/Makeprog.rules"
 wine_fn_config_dll acledit enable_acledit
 wine_fn_config_dll aclui enable_aclui implib
 wine_fn_config_dll activeds enable_activeds implib
-wine_fn_config_dll actxprxy enable_actxprxy
+wine_fn_config_dll actxprxy enable_actxprxy clean
 wine_fn_config_lib adsiid
-wine_fn_config_dll advapi32 enable_advapi32 implib
+wine_fn_config_dll advapi32 enable_advapi32 clean,implib
 wine_fn_config_test dlls/advapi32/tests advapi32_test
 wine_fn_config_dll advpack enable_advpack implib
 wine_fn_config_test dlls/advpack/tests advpack_test
-wine_fn_config_dll amstream enable_amstream
+wine_fn_config_dll amstream enable_amstream clean
 wine_fn_config_test dlls/amstream/tests amstream_test
 wine_fn_config_dll api-ms-win-core-localregistry-l1-1-0 enable_api_ms_win_core_localregistry_l1_1_0
 wine_fn_config_dll api-ms-win-core-processthreads-l1-1-0 enable_api_ms_win_core_processthreads_l1_1_0
@@ -15982,7 +16046,7 @@ wine_fn_config_dll api-ms-win-security-base-l1-1-0 enable_api_ms_win_security_ba
 wine_fn_config_dll apphelp enable_apphelp
 wine_fn_config_test dlls/apphelp/tests apphelp_test
 wine_fn_config_dll appwiz.cpl enable_appwiz_cpl po
-wine_fn_config_dll atl enable_atl implib
+wine_fn_config_dll atl enable_atl clean,implib
 wine_fn_config_test dlls/atl/tests atl_test
 wine_fn_config_dll atl100 enable_atl100 implib
 wine_fn_config_test dlls/atl100/tests atl100_test
@@ -15991,12 +16055,12 @@ wine_fn_config_dll atl80 enable_atl80 implib
 wine_fn_config_test dlls/atl80/tests atl80_test
 wine_fn_config_dll authz enable_authz
 wine_fn_config_dll avicap32 enable_avicap32 implib
-wine_fn_config_dll avifil32 enable_avifil32 implib,po
+wine_fn_config_dll avifil32 enable_avifil32 clean,implib,po
 wine_fn_config_test dlls/avifil32/tests avifil32_test
 wine_fn_config_dll avifile.dll16 enable_win16
 wine_fn_config_dll avrt enable_avrt implib
 wine_fn_config_dll bcrypt enable_bcrypt
-wine_fn_config_dll browseui enable_browseui po
+wine_fn_config_dll browseui enable_browseui clean,po
 wine_fn_config_test dlls/browseui/tests browseui_test
 wine_fn_config_dll cabinet enable_cabinet implib
 wine_fn_config_test dlls/cabinet/tests cabinet_test
@@ -16008,7 +16072,7 @@ wine_fn_config_dll comcat enable_comcat
 wine_fn_config_test dlls/comcat/tests comcat_test
 wine_fn_config_dll comctl32 enable_comctl32 implib,po
 wine_fn_config_test dlls/comctl32/tests comctl32_test
-wine_fn_config_dll comdlg32 enable_comdlg32 implib,po
+wine_fn_config_dll comdlg32 enable_comdlg32 clean,implib,po
 wine_fn_config_test dlls/comdlg32/tests comdlg32_test
 wine_fn_config_dll comm.drv16 enable_win16
 wine_fn_config_dll commdlg.dll16 enable_win16
@@ -16088,70 +16152,70 @@ wine_fn_config_dll d3dx9_40 enable_d3dx9_40
 wine_fn_config_dll d3dx9_41 enable_d3dx9_41
 wine_fn_config_dll d3dx9_42 enable_d3dx9_42
 wine_fn_config_dll d3dx9_43 enable_d3dx9_43
-wine_fn_config_dll d3dxof enable_d3dxof implib
+wine_fn_config_dll d3dxof enable_d3dxof clean,implib
 wine_fn_config_test dlls/d3dxof/tests d3dxof_test
 wine_fn_config_dll dbgeng enable_dbgeng implib
 wine_fn_config_dll dbghelp enable_dbghelp implib
 wine_fn_config_dll dciman32 enable_dciman32 implib
 wine_fn_config_dll ddeml.dll16 enable_win16
-wine_fn_config_dll ddraw enable_ddraw implib
+wine_fn_config_dll ddraw enable_ddraw clean,implib
 wine_fn_config_test dlls/ddraw/tests ddraw_test
-wine_fn_config_dll ddrawex enable_ddrawex
+wine_fn_config_dll ddrawex enable_ddrawex clean
 wine_fn_config_test dlls/ddrawex/tests ddrawex_test
-wine_fn_config_dll devenum enable_devenum po
+wine_fn_config_dll devenum enable_devenum clean,po
 wine_fn_config_test dlls/devenum/tests devenum_test
 wine_fn_config_dll dhcpcsvc enable_dhcpcsvc
 wine_fn_config_dll difxapi enable_difxapi
-wine_fn_config_dll dinput enable_dinput implib,po,staticimplib
+wine_fn_config_dll dinput enable_dinput clean,implib,po,staticimplib
 wine_fn_config_test dlls/dinput/tests dinput_test
-wine_fn_config_dll dinput8 enable_dinput8 implib
+wine_fn_config_dll dinput8 enable_dinput8 clean,implib
 wine_fn_config_test dlls/dinput8/tests dinput8_test
 wine_fn_config_dll dispdib.dll16 enable_win16
-wine_fn_config_dll dispex enable_dispex
+wine_fn_config_dll dispex enable_dispex clean
 wine_fn_config_test dlls/dispex/tests dispex_test
 wine_fn_config_dll display.drv16 enable_win16
-wine_fn_config_dll dmband enable_dmband
+wine_fn_config_dll dmband enable_dmband clean
 wine_fn_config_test dlls/dmband/tests dmband_test
-wine_fn_config_dll dmcompos enable_dmcompos
-wine_fn_config_dll dmime enable_dmime
+wine_fn_config_dll dmcompos enable_dmcompos clean
+wine_fn_config_dll dmime enable_dmime clean
 wine_fn_config_test dlls/dmime/tests dmime_test
-wine_fn_config_dll dmloader enable_dmloader
+wine_fn_config_dll dmloader enable_dmloader clean
 wine_fn_config_test dlls/dmloader/tests dmloader_test
-wine_fn_config_dll dmscript enable_dmscript
-wine_fn_config_dll dmstyle enable_dmstyle
-wine_fn_config_dll dmsynth enable_dmsynth
+wine_fn_config_dll dmscript enable_dmscript clean
+wine_fn_config_dll dmstyle enable_dmstyle clean
+wine_fn_config_dll dmsynth enable_dmsynth clean
 wine_fn_config_test dlls/dmsynth/tests dmsynth_test
-wine_fn_config_dll dmusic enable_dmusic
+wine_fn_config_dll dmusic enable_dmusic clean
 wine_fn_config_test dlls/dmusic/tests dmusic_test
 wine_fn_config_dll dmusic32 enable_dmusic32 implib
 wine_fn_config_dll dnsapi enable_dnsapi implib
 wine_fn_config_test dlls/dnsapi/tests dnsapi_test
 wine_fn_config_dll dplay enable_dplay implib
-wine_fn_config_dll dplayx enable_dplayx implib
+wine_fn_config_dll dplayx enable_dplayx clean,implib
 wine_fn_config_test dlls/dplayx/tests dplayx_test
 wine_fn_config_dll dpnaddr enable_dpnaddr
-wine_fn_config_dll dpnet enable_dpnet implib
+wine_fn_config_dll dpnet enable_dpnet clean,implib
 wine_fn_config_test dlls/dpnet/tests dpnet_test
 wine_fn_config_dll dpnhpast enable_dpnhpast
 wine_fn_config_dll dpnlobby enable_dpnlobby
 wine_fn_config_dll dpwsockx enable_dpwsockx
 wine_fn_config_dll drmclien enable_drmclien
-wine_fn_config_dll dsound enable_dsound implib
+wine_fn_config_dll dsound enable_dsound clean,implib
 wine_fn_config_test dlls/dsound/tests dsound_test
 wine_fn_config_dll dssenh enable_dssenh
 wine_fn_config_test dlls/dssenh/tests dssenh_test
-wine_fn_config_dll dswave enable_dswave
+wine_fn_config_dll dswave enable_dswave clean
 wine_fn_config_dll dwmapi enable_dwmapi implib
 wine_fn_config_dll dwrite enable_dwrite implib
 wine_fn_config_test dlls/dwrite/tests dwrite_test
-wine_fn_config_dll dxdiagn enable_dxdiagn po
+wine_fn_config_dll dxdiagn enable_dxdiagn clean,po
 wine_fn_config_test dlls/dxdiagn/tests dxdiagn_test
 wine_fn_config_lib dxerr8
 wine_fn_config_lib dxerr9
 wine_fn_config_dll dxgi enable_dxgi implib
 wine_fn_config_test dlls/dxgi/tests dxgi_test
 wine_fn_config_lib dxguid
-wine_fn_config_dll explorerframe enable_explorerframe
+wine_fn_config_dll explorerframe enable_explorerframe clean
 wine_fn_config_test dlls/explorerframe/tests explorerframe_test
 wine_fn_config_dll faultrep enable_faultrep implib
 wine_fn_config_test dlls/faultrep/tests faultrep_test
@@ -16159,7 +16223,7 @@ wine_fn_config_dll fltlib enable_fltlib
 wine_fn_config_dll fusion enable_fusion
 wine_fn_config_test dlls/fusion/tests fusion_test
 wine_fn_config_dll fwpuclnt enable_fwpuclnt
-wine_fn_config_dll gameux enable_gameux
+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
@@ -16170,15 +16234,15 @@ wine_fn_config_dll glu32 enable_glu32 implib
 wine_fn_config_dll gphoto2.ds enable_gphoto2_ds po
 wine_fn_config_dll gpkcsp enable_gpkcsp
 wine_fn_config_dll hal enable_hal
-wine_fn_config_dll hhctrl.ocx enable_hhctrl_ocx implib,po htmlhelp
+wine_fn_config_dll hhctrl.ocx enable_hhctrl_ocx clean,implib,po htmlhelp
 wine_fn_config_dll hid enable_hid implib
-wine_fn_config_dll hlink enable_hlink implib
+wine_fn_config_dll hlink enable_hlink clean,implib
 wine_fn_config_test dlls/hlink/tests hlink_test
-wine_fn_config_dll hnetcfg enable_hnetcfg
+wine_fn_config_dll hnetcfg enable_hnetcfg clean
 wine_fn_config_dll httpapi enable_httpapi
 wine_fn_config_dll iccvid enable_iccvid po
 wine_fn_config_dll icmp enable_icmp
-wine_fn_config_dll ieframe enable_ieframe implib,po
+wine_fn_config_dll ieframe enable_ieframe clean,implib,po
 wine_fn_config_test dlls/ieframe/tests ieframe_test
 wine_fn_config_dll ifsmgr.vxd enable_win16
 wine_fn_config_dll imaadp32.acm enable_imaadp32_acm
@@ -16187,23 +16251,23 @@ wine_fn_config_test dlls/imagehlp/tests imagehlp_test
 wine_fn_config_dll imm.dll16 enable_win16
 wine_fn_config_dll imm32 enable_imm32 implib
 wine_fn_config_test dlls/imm32/tests imm32_test
-wine_fn_config_dll inetcomm enable_inetcomm implib
+wine_fn_config_dll inetcomm enable_inetcomm clean,implib
 wine_fn_config_test dlls/inetcomm/tests inetcomm_test
 wine_fn_config_dll inetcpl.cpl enable_inetcpl_cpl po
 wine_fn_config_dll inetmib1 enable_inetmib1
 wine_fn_config_test dlls/inetmib1/tests inetmib1_test
-wine_fn_config_dll infosoft enable_infosoft
+wine_fn_config_dll infosoft enable_infosoft clean
 wine_fn_config_test dlls/infosoft/tests infosoft_test
 wine_fn_config_dll initpki enable_initpki
 wine_fn_config_dll inkobj enable_inkobj
-wine_fn_config_dll inseng enable_inseng
+wine_fn_config_dll inseng enable_inseng clean
 wine_fn_config_dll iphlpapi enable_iphlpapi implib
 wine_fn_config_test dlls/iphlpapi/tests iphlpapi_test
 wine_fn_config_dll itircl enable_itircl
-wine_fn_config_dll itss enable_itss
+wine_fn_config_dll itss enable_itss clean
 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 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_test dlls/kernel32/tests kernel32_test
@@ -16228,11 +16292,11 @@ wine_fn_config_dll mciseq enable_mciseq
 wine_fn_config_dll mciwave enable_mciwave
 wine_fn_config_dll mgmtapi enable_mgmtapi
 wine_fn_config_dll midimap enable_midimap
-wine_fn_config_dll mlang enable_mlang implib
+wine_fn_config_dll mlang enable_mlang clean,implib
 wine_fn_config_test dlls/mlang/tests mlang_test
-wine_fn_config_dll mmcndmgr enable_mmcndmgr
+wine_fn_config_dll mmcndmgr enable_mmcndmgr clean
 wine_fn_config_test dlls/mmcndmgr/tests mmcndmgr_test
-wine_fn_config_dll mmdevapi enable_mmdevapi
+wine_fn_config_dll mmdevapi enable_mmdevapi clean
 wine_fn_config_test dlls/mmdevapi/tests mmdevapi_test
 wine_fn_config_dll mmdevldr.vxd enable_win16
 wine_fn_config_dll mmsystem.dll16 enable_win16
@@ -16250,24 +16314,24 @@ wine_fn_config_dll msadp32.acm enable_msadp32_acm
 wine_fn_config_dll mscat32 enable_mscat32
 wine_fn_config_dll mscms enable_mscms implib
 wine_fn_config_test dlls/mscms/tests mscms_test
-wine_fn_config_dll mscoree enable_mscoree
+wine_fn_config_dll mscoree enable_mscoree clean
 wine_fn_config_test dlls/mscoree/tests mscoree_test
-wine_fn_config_dll msctf enable_msctf
+wine_fn_config_dll msctf enable_msctf clean
 wine_fn_config_test dlls/msctf/tests msctf_test
-wine_fn_config_dll msdaps enable_msdaps
+wine_fn_config_dll msdaps enable_msdaps clean
 wine_fn_config_dll msdmo enable_msdmo implib
 wine_fn_config_dll msftedit enable_msftedit
 wine_fn_config_dll msg711.acm enable_msg711_acm
 wine_fn_config_dll msgsm32.acm enable_msgsm32_acm
-wine_fn_config_dll mshtml.tlb enable_mshtml_tlb
-wine_fn_config_dll mshtml enable_mshtml implib,po
-wine_fn_config_test dlls/mshtml/tests mshtml_test
-wine_fn_config_dll msi enable_msi implib,po
+wine_fn_config_dll mshtml.tlb enable_mshtml_tlb clean
+wine_fn_config_dll mshtml enable_mshtml clean,implib,po
+wine_fn_config_test dlls/mshtml/tests mshtml_test clean
+wine_fn_config_dll msi enable_msi clean,implib,po
 wine_fn_config_test dlls/msi/tests msi_test
-wine_fn_config_dll msident enable_msident
+wine_fn_config_dll msident enable_msident clean
 wine_fn_config_dll msimg32 enable_msimg32 implib
 wine_fn_config_dll msimsg enable_msimsg
-wine_fn_config_dll msimtf enable_msimtf
+wine_fn_config_dll msimtf enable_msimtf clean
 wine_fn_config_dll msisip enable_msisip
 wine_fn_config_dll msisys.ocx enable_msisys_ocx
 wine_fn_config_dll msls31 enable_msls31
@@ -16276,7 +16340,7 @@ wine_fn_config_dll mspatcha enable_mspatcha
 wine_fn_config_dll msrle32 enable_msrle32 po
 wine_fn_config_dll mssign32 enable_mssign32
 wine_fn_config_dll mssip32 enable_mssip32
-wine_fn_config_dll mstask enable_mstask
+wine_fn_config_dll mstask enable_mstask clean
 wine_fn_config_test dlls/mstask/tests mstask_test
 wine_fn_config_dll msvcirt enable_msvcirt
 wine_fn_config_dll msvcm80 enable_msvcm80
@@ -16310,12 +16374,12 @@ wine_fn_config_test dlls/msvfw32/tests msvfw32_test
 wine_fn_config_dll msvidc32 enable_msvidc32 po
 wine_fn_config_dll msvideo.dll16 enable_win16
 wine_fn_config_dll mswsock enable_mswsock implib
-wine_fn_config_dll msxml enable_msxml
-wine_fn_config_dll msxml2 enable_msxml2
-wine_fn_config_dll msxml3 enable_msxml3
-wine_fn_config_test dlls/msxml3/tests msxml3_test
-wine_fn_config_dll msxml4 enable_msxml4
-wine_fn_config_dll msxml6 enable_msxml6
+wine_fn_config_dll msxml enable_msxml clean
+wine_fn_config_dll msxml2 enable_msxml2 clean
+wine_fn_config_dll msxml3 enable_msxml3 clean
+wine_fn_config_test dlls/msxml3/tests msxml3_test clean
+wine_fn_config_dll msxml4 enable_msxml4 clean
+wine_fn_config_dll msxml6 enable_msxml6 clean
 wine_fn_config_dll nddeapi enable_nddeapi implib
 wine_fn_config_dll netapi32 enable_netapi32 implib
 wine_fn_config_test dlls/netapi32/tests netapi32_test
@@ -16330,7 +16394,7 @@ wine_fn_config_test dlls/ntdsapi/tests ntdsapi_test
 wine_fn_config_dll ntoskrnl.exe enable_ntoskrnl_exe implib
 wine_fn_config_dll ntprint enable_ntprint
 wine_fn_config_test dlls/ntprint/tests ntprint_test
-wine_fn_config_dll objsel enable_objsel
+wine_fn_config_dll objsel enable_objsel clean
 wine_fn_config_dll odbc32 enable_odbc32 implib
 wine_fn_config_dll odbccp32 enable_odbccp32 implib
 wine_fn_config_test dlls/odbccp32/tests odbccp32_test
@@ -16341,16 +16405,16 @@ wine_fn_config_dll ole2disp.dll16 enable_win16
 wine_fn_config_dll ole2nls.dll16 enable_win16
 wine_fn_config_dll ole2prox.dll16 enable_win16
 wine_fn_config_dll ole2thk.dll16 enable_win16
-wine_fn_config_dll ole32 enable_ole32 implib
+wine_fn_config_dll ole32 enable_ole32 clean,implib
 wine_fn_config_test dlls/ole32/tests ole32_test
-wine_fn_config_dll oleacc enable_oleacc implib,po
+wine_fn_config_dll oleacc enable_oleacc clean,implib,po
 wine_fn_config_test dlls/oleacc/tests oleacc_test
-wine_fn_config_dll oleaut32 enable_oleaut32 implib,po
-wine_fn_config_test dlls/oleaut32/tests oleaut32_test
+wine_fn_config_dll oleaut32 enable_oleaut32 clean,implib,po
+wine_fn_config_test dlls/oleaut32/tests oleaut32_test clean
 wine_fn_config_dll olecli.dll16 enable_win16
 wine_fn_config_dll olecli32 enable_olecli32 implib
-wine_fn_config_dll oledb32 enable_oledb32
-wine_fn_config_test dlls/oledb32/tests oledb32_test
+wine_fn_config_dll oledb32 enable_oledb32 clean
+wine_fn_config_test dlls/oledb32/tests oledb32_test clean
 wine_fn_config_dll oledlg enable_oledlg implib,po
 wine_fn_config_dll olepro32 enable_olepro32 implib
 wine_fn_config_dll olesvr.dll16 enable_win16
@@ -16366,20 +16430,20 @@ wine_fn_config_dll photometadatahandler enable_photometadatahandler
 wine_fn_config_dll pidgen enable_pidgen
 wine_fn_config_dll powrprof enable_powrprof implib
 wine_fn_config_dll printui enable_printui
-wine_fn_config_dll propsys enable_propsys implib
+wine_fn_config_dll propsys enable_propsys clean,implib
 wine_fn_config_test dlls/propsys/tests propsys_test
 wine_fn_config_dll psapi enable_psapi implib
 wine_fn_config_test dlls/psapi/tests psapi_test
-wine_fn_config_dll pstorec enable_pstorec
+wine_fn_config_dll pstorec enable_pstorec clean
 wine_fn_config_dll qcap enable_qcap
 wine_fn_config_test dlls/qcap/tests qcap_test
-wine_fn_config_dll qedit enable_qedit
+wine_fn_config_dll qedit enable_qedit clean
 wine_fn_config_test dlls/qedit/tests qedit_test
-wine_fn_config_dll qmgr enable_qmgr
+wine_fn_config_dll qmgr enable_qmgr clean
 wine_fn_config_test dlls/qmgr/tests qmgr_test
-wine_fn_config_dll qmgrprxy enable_qmgrprxy
-wine_fn_config_dll quartz enable_quartz implib
-wine_fn_config_test dlls/quartz/tests quartz_test
+wine_fn_config_dll qmgrprxy enable_qmgrprxy clean
+wine_fn_config_dll quartz enable_quartz clean,implib
+wine_fn_config_test dlls/quartz/tests quartz_test clean
 wine_fn_config_dll query enable_query
 wine_fn_config_dll rasapi16.dll16 enable_win16
 wine_fn_config_dll rasapi32 enable_rasapi32 implib
@@ -16391,8 +16455,8 @@ wine_fn_config_dll riched20 enable_riched20 implib
 wine_fn_config_test dlls/riched20/tests riched20_test
 wine_fn_config_dll riched32 enable_riched32
 wine_fn_config_test dlls/riched32/tests riched32_test
-wine_fn_config_dll rpcrt4 enable_rpcrt4 implib
-wine_fn_config_test dlls/rpcrt4/tests rpcrt4_test
+wine_fn_config_dll rpcrt4 enable_rpcrt4 clean,implib
+wine_fn_config_test dlls/rpcrt4/tests rpcrt4_test clean
 wine_fn_config_dll rsabase enable_rsabase
 wine_fn_config_dll rsaenh enable_rsaenh implib
 wine_fn_config_test dlls/rsaenh/tests rsaenh_test
@@ -16404,8 +16468,8 @@ wine_fn_config_dll scarddlg enable_scarddlg
 wine_fn_config_dll sccbase enable_sccbase
 wine_fn_config_dll schannel enable_schannel
 wine_fn_config_test dlls/schannel/tests schannel_test
-wine_fn_config_dll scrrun enable_scrrun
-wine_fn_config_test dlls/scrrun/tests scrrun_test
+wine_fn_config_dll scrrun enable_scrrun clean
+wine_fn_config_test dlls/scrrun/tests scrrun_test clean
 wine_fn_config_dll scsiport.sys enable_scsiport_sys
 wine_fn_config_dll secur32 enable_secur32 implib
 wine_fn_config_test dlls/secur32/tests secur32_test
@@ -16419,10 +16483,10 @@ wine_fn_config_dll setupx.dll16 enable_win16
 wine_fn_config_dll sfc enable_sfc implib
 wine_fn_config_dll sfc_os enable_sfc_os implib
 wine_fn_config_dll shdoclc enable_shdoclc po
-wine_fn_config_dll shdocvw enable_shdocvw implib
+wine_fn_config_dll shdocvw enable_shdocvw clean,implib
 wine_fn_config_test dlls/shdocvw/tests shdocvw_test
 wine_fn_config_dll shell.dll16 enable_win16
-wine_fn_config_dll shell32 enable_shell32 implib,po
+wine_fn_config_dll shell32 enable_shell32 clean,implib,po
 wine_fn_config_test dlls/shell32/tests shell32_test
 wine_fn_config_dll shfolder enable_shfolder implib
 wine_fn_config_dll shlwapi enable_shlwapi implib,po
@@ -16435,9 +16499,9 @@ wine_fn_config_dll softpub enable_softpub
 wine_fn_config_dll sound.drv16 enable_win16
 wine_fn_config_dll spoolss enable_spoolss implib
 wine_fn_config_test dlls/spoolss/tests spoolss_test
-wine_fn_config_dll stdole2.tlb enable_stdole2_tlb
-wine_fn_config_dll stdole32.tlb enable_stdole32_tlb
-wine_fn_config_dll sti enable_sti implib
+wine_fn_config_dll stdole2.tlb enable_stdole2_tlb clean
+wine_fn_config_dll stdole32.tlb enable_stdole32_tlb clean
+wine_fn_config_dll sti enable_sti clean,implib
 wine_fn_config_test dlls/sti/tests sti_test
 wine_fn_config_dll storage.dll16 enable_win16
 wine_fn_config_dll stress.dll16 enable_win16
@@ -16458,7 +16522,7 @@ wine_fn_config_dll typelib.dll16 enable_win16
 wine_fn_config_dll unicows enable_unicows implib
 wine_fn_config_dll updspapi enable_updspapi
 wine_fn_config_dll url enable_url implib
-wine_fn_config_dll urlmon enable_urlmon implib,po
+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
@@ -16471,8 +16535,8 @@ wine_fn_config_test dlls/usp10/tests usp10_test
 wine_fn_config_lib uuid
 wine_fn_config_dll uxtheme enable_uxtheme implib
 wine_fn_config_test dlls/uxtheme/tests uxtheme_test
-wine_fn_config_dll vbscript enable_vbscript
-wine_fn_config_test dlls/vbscript/tests vbscript_test
+wine_fn_config_dll vbscript enable_vbscript clean
+wine_fn_config_test dlls/vbscript/tests vbscript_test clean
 wine_fn_config_dll vcomp enable_vcomp
 wine_fn_config_dll vcomp100 enable_vcomp100
 wine_fn_config_dll vcomp90 enable_vcomp90
@@ -16488,19 +16552,19 @@ wine_fn_config_dll vtdapi.vxd enable_win16
 wine_fn_config_dll vwin32.vxd enable_win16
 wine_fn_config_dll w32skrnl enable_win16
 wine_fn_config_dll w32sys.dll16 enable_win16
-wine_fn_config_dll wbemdisp enable_wbemdisp
-wine_fn_config_dll wbemprox enable_wbemprox
+wine_fn_config_dll wbemdisp enable_wbemdisp clean
+wine_fn_config_dll wbemprox enable_wbemprox clean
 wine_fn_config_test dlls/wbemprox/tests wbemprox_test
 wine_fn_config_dll webservices enable_webservices implib
 wine_fn_config_dll wer enable_wer implib
 wine_fn_config_test dlls/wer/tests wer_test
 wine_fn_config_dll wevtapi enable_wevtapi
-wine_fn_config_dll wiaservc enable_wiaservc
+wine_fn_config_dll wiaservc enable_wiaservc clean
 wine_fn_config_dll win32s16.dll16 enable_win16
 wine_fn_config_dll win87em.dll16 enable_win16
 wine_fn_config_dll winaspi.dll16 enable_win16
 wine_fn_config_dll windebug.dll16 enable_win16
-wine_fn_config_dll windowscodecs enable_windowscodecs implib
+wine_fn_config_dll windowscodecs enable_windowscodecs clean,implib
 wine_fn_config_test dlls/windowscodecs/tests windowscodecs_test
 wine_fn_config_dll windowscodecsext enable_windowscodecsext implib
 wine_fn_config_test dlls/windowscodecsext/tests windowscodecsext_test
@@ -16520,7 +16584,7 @@ wine_fn_config_dll wineqtdecoder enable_wineqtdecoder
 wine_fn_config_dll winex11.drv enable_winex11_drv
 wine_fn_config_dll wing.dll16 enable_win16
 wine_fn_config_dll wing32 enable_wing32
-wine_fn_config_dll winhttp enable_winhttp implib
+wine_fn_config_dll winhttp enable_winhttp clean,implib
 wine_fn_config_test dlls/winhttp/tests winhttp_test
 wine_fn_config_dll wininet enable_wininet implib,po
 wine_fn_config_test dlls/wininet/tests wininet_test
@@ -16542,20 +16606,20 @@ wine_fn_config_dll wlanapi enable_wlanapi
 wine_fn_config_dll wldap32 enable_wldap32 implib,po
 wine_fn_config_test dlls/wldap32/tests wldap32_test
 wine_fn_config_dll wmi enable_wmi
-wine_fn_config_dll wmiutils enable_wmiutils
+wine_fn_config_dll wmiutils enable_wmiutils clean
 wine_fn_config_test dlls/wmiutils/tests wmiutils_test
 wine_fn_config_dll wmvcore enable_wmvcore
 wine_fn_config_dll wnaspi32 enable_wnaspi32 implib
 wine_fn_config_dll wow32 enable_win16 implib
 wine_fn_config_dll ws2_32 enable_ws2_32 implib
 wine_fn_config_test dlls/ws2_32/tests ws2_32_test
-wine_fn_config_dll wshom.ocx enable_wshom_ocx
-wine_fn_config_test dlls/wshom.ocx/tests wshom.ocx_test
+wine_fn_config_dll wshom.ocx enable_wshom_ocx clean
+wine_fn_config_test dlls/wshom.ocx/tests wshom.ocx_test clean
 wine_fn_config_dll wsnmp32 enable_wsnmp32 implib
 wine_fn_config_test dlls/wsnmp32/tests wsnmp32_test
 wine_fn_config_dll wsock32 enable_wsock32 implib
 wine_fn_config_dll wtsapi32 enable_wtsapi32 implib
-wine_fn_config_dll wuapi enable_wuapi
+wine_fn_config_dll wuapi enable_wuapi clean
 wine_fn_config_dll wuaueng enable_wuaueng
 wine_fn_config_dll xapofx1_1 enable_xapofx1_1
 wine_fn_config_dll xinput1_1 enable_xinput1_1
@@ -16569,13 +16633,13 @@ wine_fn_config_test dlls/xmllite/tests xmllite_test
 wine_fn_config_dll xolehlp enable_xolehlp
 wine_fn_config_dll xpsprint enable_xpsprint
 wine_fn_config_dll xpssvcs enable_xpssvcs
-wine_fn_config_makefile documentation enable_documentation
-wine_fn_config_makefile fonts enable_fonts install-lib
-wine_fn_config_makefile include enable_include install-dev
+wine_fn_config_makefile documentation enable_documentation clean
+wine_fn_config_makefile fonts enable_fonts clean,install-lib
+wine_fn_config_makefile include enable_include clean,install-dev
 wine_fn_config_makefile libs/port enable_libs_port
-wine_fn_config_makefile libs/wine enable_libs_wine install-dev,install-lib
+wine_fn_config_makefile libs/wine enable_libs_wine clean,install-dev,install-lib
 wine_fn_config_makefile libs/wpp enable_libs_wpp
-wine_fn_config_makefile loader enable_loader install-lib,manpage
+wine_fn_config_makefile loader enable_loader clean,install-lib,manpage
 wine_fn_config_program aspnet_regiis enable_aspnet_regiis install
 wine_fn_config_program attrib enable_attrib install,po
 wine_fn_config_program cabarc enable_cabarc install
@@ -16617,14 +16681,14 @@ wine_fn_config_program regedit enable_regedit install,installbin,manpage,po
 wine_fn_config_test programs/regedit/tests regedit.exe_test
 wine_fn_config_program regsvcs enable_regsvcs install
 wine_fn_config_program regsvr32 enable_regsvr32 install,installbin,manpage
-wine_fn_config_program rpcss enable_rpcss install
+wine_fn_config_program rpcss enable_rpcss clean,install
 wine_fn_config_program rundll.exe16 enable_win16 install
 wine_fn_config_program rundll32 enable_rundll32 install
 wine_fn_config_program sc enable_sc install
 wine_fn_config_program schtasks enable_schtasks install
 wine_fn_config_program secedit enable_secedit install
 wine_fn_config_program servicemodelreg enable_servicemodelreg install
-wine_fn_config_program services enable_services install
+wine_fn_config_program services enable_services clean,install
 wine_fn_config_test programs/services/tests services.exe_test
 wine_fn_config_program spoolsv enable_spoolsv install
 wine_fn_config_program start enable_start install,po
@@ -16647,7 +16711,7 @@ wine_fn_config_program winemenubuilder enable_winemenubuilder install
 wine_fn_config_program winemine enable_winemine install,installbin,manpage,po
 wine_fn_config_program winemsibuilder enable_winemsibuilder install
 wine_fn_config_program winepath enable_winepath install,installbin,manpage
-wine_fn_config_program winetest enable_winetest
+wine_fn_config_program winetest enable_winetest clean
 wine_fn_config_program winevdm enable_win16 install
 wine_fn_config_program winhelp.exe16 enable_win16 install
 wine_fn_config_program winhlp32 enable_winhlp32 install,po
@@ -16656,18 +16720,18 @@ wine_fn_config_program winver enable_winver install
 wine_fn_config_program wmic enable_wmic install,po
 wine_fn_config_program wordpad enable_wordpad install,po
 wine_fn_config_program write enable_write install,po
-wine_fn_config_program wscript enable_wscript install
+wine_fn_config_program wscript enable_wscript clean,install
 wine_fn_config_test programs/wscript/tests wscript.exe_test
 wine_fn_config_program wusa enable_wusa install
 wine_fn_config_program xcopy enable_xcopy install,po
-wine_fn_config_makefile server enable_server install-lib,manpage
-wine_fn_config_tool tools install-dev,install-lib,manpage
-wine_fn_config_tool tools/widl install-dev,manpage
-wine_fn_config_tool tools/winebuild install-dev,manpage
-wine_fn_config_tool tools/winedump install-dev,manpage
-wine_fn_config_tool tools/winegcc install-dev,manpage
-wine_fn_config_tool tools/wmc install-dev,manpage
-wine_fn_config_tool tools/wrc install-dev,manpage
+wine_fn_config_makefile server enable_server clean,install-lib,manpage
+wine_fn_config_tool tools clean,install-dev,install-lib,manpage
+wine_fn_config_tool tools/widl clean,install-dev,manpage
+wine_fn_config_tool tools/winebuild clean,install-dev,manpage
+wine_fn_config_tool tools/winedump clean,install-dev,manpage
+wine_fn_config_tool tools/winegcc clean,install-dev,manpage
+wine_fn_config_tool tools/wmc clean,install-dev,manpage
+wine_fn_config_tool tools/wrc clean,install-dev,manpage
 
 LINGUAS="\
 ar \
@@ -16774,6 +16838,7 @@ clean::
 	\$(RM) fonts server tools $with_wine64/loader/wine $with_wine64/loader/wine-preloader"
 fi
 
+$as_echo " done" >&6
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
diff --git a/configure.ac b/configure.ac
index dacee3aab28653d915a62e2e567f0af235658304..00dc50d0874e87596101593549c2461afa7ee48f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2566,6 +2566,7 @@ AH_BOTTOM([#endif /* WINE_CROSSTEST */
 #endif /* __WINE_CONFIG_H */])
 
 AC_CONFIG_COMMANDS([include/stamp-h], [echo timestamp > include/stamp-h])
+_AS_ECHO_N([creating Makefile rules...])
 
 WINE_APPEND_RULE([
 # Rules automatically generated by configure
@@ -2601,13 +2602,13 @@ WINE_CONFIG_MAKERULES([programs/Makeprog.rules],[MAKE_PROG_RULES],[Make.rules])
 WINE_CONFIG_DLL(acledit)
 WINE_CONFIG_DLL(aclui,,[implib])
 WINE_CONFIG_DLL(activeds,,[implib])
-WINE_CONFIG_DLL(actxprxy)
+WINE_CONFIG_DLL(actxprxy,,[clean])
 WINE_CONFIG_LIB(adsiid)
-WINE_CONFIG_DLL(advapi32,,[implib])
+WINE_CONFIG_DLL(advapi32,,[clean,implib])
 WINE_CONFIG_TEST(dlls/advapi32/tests)
 WINE_CONFIG_DLL(advpack,,[implib])
 WINE_CONFIG_TEST(dlls/advpack/tests)
-WINE_CONFIG_DLL(amstream)
+WINE_CONFIG_DLL(amstream,,[clean])
 WINE_CONFIG_TEST(dlls/amstream/tests)
 WINE_CONFIG_DLL(api-ms-win-core-localregistry-l1-1-0)
 WINE_CONFIG_DLL(api-ms-win-core-processthreads-l1-1-0)
@@ -2626,7 +2627,7 @@ WINE_CONFIG_DLL(api-ms-win-security-base-l1-1-0)
 WINE_CONFIG_DLL(apphelp)
 WINE_CONFIG_TEST(dlls/apphelp/tests)
 WINE_CONFIG_DLL(appwiz.cpl,,[po])
-WINE_CONFIG_DLL(atl,,[implib])
+WINE_CONFIG_DLL(atl,,[clean,implib])
 WINE_CONFIG_TEST(dlls/atl/tests)
 WINE_CONFIG_DLL(atl100,,[implib])
 WINE_CONFIG_TEST(dlls/atl100/tests)
@@ -2635,12 +2636,12 @@ WINE_CONFIG_DLL(atl80,,[implib])
 WINE_CONFIG_TEST(dlls/atl80/tests)
 WINE_CONFIG_DLL(authz)
 WINE_CONFIG_DLL(avicap32,,[implib])
-WINE_CONFIG_DLL(avifil32,,[implib,po])
+WINE_CONFIG_DLL(avifil32,,[clean,implib,po])
 WINE_CONFIG_TEST(dlls/avifil32/tests)
 WINE_CONFIG_DLL(avifile.dll16,enable_win16)
 WINE_CONFIG_DLL(avrt,,[implib])
 WINE_CONFIG_DLL(bcrypt)
-WINE_CONFIG_DLL(browseui,,[po])
+WINE_CONFIG_DLL(browseui,,[clean,po])
 WINE_CONFIG_TEST(dlls/browseui/tests)
 WINE_CONFIG_DLL(cabinet,,[implib])
 WINE_CONFIG_TEST(dlls/cabinet/tests)
@@ -2652,7 +2653,7 @@ WINE_CONFIG_DLL(comcat)
 WINE_CONFIG_TEST(dlls/comcat/tests)
 WINE_CONFIG_DLL(comctl32,,[implib,po])
 WINE_CONFIG_TEST(dlls/comctl32/tests)
-WINE_CONFIG_DLL(comdlg32,,[implib,po])
+WINE_CONFIG_DLL(comdlg32,,[clean,implib,po])
 WINE_CONFIG_TEST(dlls/comdlg32/tests)
 WINE_CONFIG_DLL(comm.drv16,enable_win16)
 WINE_CONFIG_DLL(commdlg.dll16,enable_win16)
@@ -2732,70 +2733,70 @@ WINE_CONFIG_DLL(d3dx9_40)
 WINE_CONFIG_DLL(d3dx9_41)
 WINE_CONFIG_DLL(d3dx9_42)
 WINE_CONFIG_DLL(d3dx9_43)
-WINE_CONFIG_DLL(d3dxof,,[implib])
+WINE_CONFIG_DLL(d3dxof,,[clean,implib])
 WINE_CONFIG_TEST(dlls/d3dxof/tests)
 WINE_CONFIG_DLL(dbgeng,,[implib])
 WINE_CONFIG_DLL(dbghelp,,[implib])
 WINE_CONFIG_DLL(dciman32,,[implib])
 WINE_CONFIG_DLL(ddeml.dll16,enable_win16)
-WINE_CONFIG_DLL(ddraw,,[implib])
+WINE_CONFIG_DLL(ddraw,,[clean,implib])
 WINE_CONFIG_TEST(dlls/ddraw/tests)
-WINE_CONFIG_DLL(ddrawex)
+WINE_CONFIG_DLL(ddrawex,,[clean])
 WINE_CONFIG_TEST(dlls/ddrawex/tests)
-WINE_CONFIG_DLL(devenum,,[po])
+WINE_CONFIG_DLL(devenum,,[clean,po])
 WINE_CONFIG_TEST(dlls/devenum/tests)
 WINE_CONFIG_DLL(dhcpcsvc)
 WINE_CONFIG_DLL(difxapi)
-WINE_CONFIG_DLL(dinput,,[implib,po,staticimplib])
+WINE_CONFIG_DLL(dinput,,[clean,implib,po,staticimplib])
 WINE_CONFIG_TEST(dlls/dinput/tests)
-WINE_CONFIG_DLL(dinput8,,[implib])
+WINE_CONFIG_DLL(dinput8,,[clean,implib])
 WINE_CONFIG_TEST(dlls/dinput8/tests)
 WINE_CONFIG_DLL(dispdib.dll16,enable_win16)
-WINE_CONFIG_DLL(dispex)
+WINE_CONFIG_DLL(dispex,,[clean])
 WINE_CONFIG_TEST(dlls/dispex/tests)
 WINE_CONFIG_DLL(display.drv16,enable_win16)
-WINE_CONFIG_DLL(dmband)
+WINE_CONFIG_DLL(dmband,,[clean])
 WINE_CONFIG_TEST(dlls/dmband/tests)
-WINE_CONFIG_DLL(dmcompos)
-WINE_CONFIG_DLL(dmime)
+WINE_CONFIG_DLL(dmcompos,,[clean])
+WINE_CONFIG_DLL(dmime,,[clean])
 WINE_CONFIG_TEST(dlls/dmime/tests)
-WINE_CONFIG_DLL(dmloader)
+WINE_CONFIG_DLL(dmloader,,[clean])
 WINE_CONFIG_TEST(dlls/dmloader/tests)
-WINE_CONFIG_DLL(dmscript)
-WINE_CONFIG_DLL(dmstyle)
-WINE_CONFIG_DLL(dmsynth)
+WINE_CONFIG_DLL(dmscript,,[clean])
+WINE_CONFIG_DLL(dmstyle,,[clean])
+WINE_CONFIG_DLL(dmsynth,,[clean])
 WINE_CONFIG_TEST(dlls/dmsynth/tests)
-WINE_CONFIG_DLL(dmusic)
+WINE_CONFIG_DLL(dmusic,,[clean])
 WINE_CONFIG_TEST(dlls/dmusic/tests)
 WINE_CONFIG_DLL(dmusic32,,[implib])
 WINE_CONFIG_DLL(dnsapi,,[implib])
 WINE_CONFIG_TEST(dlls/dnsapi/tests)
 WINE_CONFIG_DLL(dplay,,[implib])
-WINE_CONFIG_DLL(dplayx,,[implib])
+WINE_CONFIG_DLL(dplayx,,[clean,implib])
 WINE_CONFIG_TEST(dlls/dplayx/tests)
 WINE_CONFIG_DLL(dpnaddr)
-WINE_CONFIG_DLL(dpnet,,[implib])
+WINE_CONFIG_DLL(dpnet,,[clean,implib])
 WINE_CONFIG_TEST(dlls/dpnet/tests)
 WINE_CONFIG_DLL(dpnhpast)
 WINE_CONFIG_DLL(dpnlobby)
 WINE_CONFIG_DLL(dpwsockx)
 WINE_CONFIG_DLL(drmclien)
-WINE_CONFIG_DLL(dsound,,[implib])
+WINE_CONFIG_DLL(dsound,,[clean,implib])
 WINE_CONFIG_TEST(dlls/dsound/tests)
 WINE_CONFIG_DLL(dssenh)
 WINE_CONFIG_TEST(dlls/dssenh/tests)
-WINE_CONFIG_DLL(dswave)
+WINE_CONFIG_DLL(dswave,,[clean])
 WINE_CONFIG_DLL(dwmapi,,[implib])
 WINE_CONFIG_DLL(dwrite,,[implib])
 WINE_CONFIG_TEST(dlls/dwrite/tests)
-WINE_CONFIG_DLL(dxdiagn,,[po])
+WINE_CONFIG_DLL(dxdiagn,,[clean,po])
 WINE_CONFIG_TEST(dlls/dxdiagn/tests)
 WINE_CONFIG_LIB(dxerr8)
 WINE_CONFIG_LIB(dxerr9)
 WINE_CONFIG_DLL(dxgi,,[implib])
 WINE_CONFIG_TEST(dlls/dxgi/tests)
 WINE_CONFIG_LIB(dxguid)
-WINE_CONFIG_DLL(explorerframe)
+WINE_CONFIG_DLL(explorerframe,,[clean])
 WINE_CONFIG_TEST(dlls/explorerframe/tests)
 WINE_CONFIG_DLL(faultrep,,[implib])
 WINE_CONFIG_TEST(dlls/faultrep/tests)
@@ -2803,7 +2804,7 @@ WINE_CONFIG_DLL(fltlib)
 WINE_CONFIG_DLL(fusion)
 WINE_CONFIG_TEST(dlls/fusion/tests)
 WINE_CONFIG_DLL(fwpuclnt)
-WINE_CONFIG_DLL(gameux)
+WINE_CONFIG_DLL(gameux,,[clean])
 WINE_CONFIG_TEST(dlls/gameux/tests)
 WINE_CONFIG_DLL(gdi.exe16,enable_win16)
 WINE_CONFIG_DLL(gdi32,,[implib,po])
@@ -2814,15 +2815,15 @@ WINE_CONFIG_DLL(glu32,,[implib])
 WINE_CONFIG_DLL(gphoto2.ds,,[po])
 WINE_CONFIG_DLL(gpkcsp)
 WINE_CONFIG_DLL(hal)
-WINE_CONFIG_DLL(hhctrl.ocx,,[implib,po],[htmlhelp])
+WINE_CONFIG_DLL(hhctrl.ocx,,[clean,implib,po],[htmlhelp])
 WINE_CONFIG_DLL(hid,,[implib])
-WINE_CONFIG_DLL(hlink,,[implib])
+WINE_CONFIG_DLL(hlink,,[clean,implib])
 WINE_CONFIG_TEST(dlls/hlink/tests)
-WINE_CONFIG_DLL(hnetcfg)
+WINE_CONFIG_DLL(hnetcfg,,[clean])
 WINE_CONFIG_DLL(httpapi)
 WINE_CONFIG_DLL(iccvid,,[po])
 WINE_CONFIG_DLL(icmp)
-WINE_CONFIG_DLL(ieframe,,[implib,po])
+WINE_CONFIG_DLL(ieframe,,[clean,implib,po])
 WINE_CONFIG_TEST(dlls/ieframe/tests)
 WINE_CONFIG_DLL(ifsmgr.vxd,enable_win16)
 WINE_CONFIG_DLL(imaadp32.acm)
@@ -2831,23 +2832,23 @@ WINE_CONFIG_TEST(dlls/imagehlp/tests)
 WINE_CONFIG_DLL(imm.dll16,enable_win16)
 WINE_CONFIG_DLL(imm32,,[implib])
 WINE_CONFIG_TEST(dlls/imm32/tests)
-WINE_CONFIG_DLL(inetcomm,,[implib])
+WINE_CONFIG_DLL(inetcomm,,[clean,implib])
 WINE_CONFIG_TEST(dlls/inetcomm/tests)
 WINE_CONFIG_DLL(inetcpl.cpl,,[po])
 WINE_CONFIG_DLL(inetmib1)
 WINE_CONFIG_TEST(dlls/inetmib1/tests)
-WINE_CONFIG_DLL(infosoft)
+WINE_CONFIG_DLL(infosoft,,[clean])
 WINE_CONFIG_TEST(dlls/infosoft/tests)
 WINE_CONFIG_DLL(initpki)
 WINE_CONFIG_DLL(inkobj)
-WINE_CONFIG_DLL(inseng)
+WINE_CONFIG_DLL(inseng,,[clean])
 WINE_CONFIG_DLL(iphlpapi,,[implib])
 WINE_CONFIG_TEST(dlls/iphlpapi/tests)
 WINE_CONFIG_DLL(itircl)
-WINE_CONFIG_DLL(itss)
+WINE_CONFIG_DLL(itss,,[clean])
 WINE_CONFIG_TEST(dlls/itss/tests)
 WINE_CONFIG_DLL(joy.cpl,,[po])
-WINE_CONFIG_DLL(jscript,,[po])
+WINE_CONFIG_DLL(jscript,,[clean,po])
 WINE_CONFIG_TEST(dlls/jscript/tests)
 WINE_CONFIG_DLL(kernel32,,[implib,mc])
 WINE_CONFIG_TEST(dlls/kernel32/tests)
@@ -2872,11 +2873,11 @@ WINE_CONFIG_DLL(mciseq)
 WINE_CONFIG_DLL(mciwave)
 WINE_CONFIG_DLL(mgmtapi)
 WINE_CONFIG_DLL(midimap)
-WINE_CONFIG_DLL(mlang,,[implib])
+WINE_CONFIG_DLL(mlang,,[clean,implib])
 WINE_CONFIG_TEST(dlls/mlang/tests)
-WINE_CONFIG_DLL(mmcndmgr)
+WINE_CONFIG_DLL(mmcndmgr,,[clean])
 WINE_CONFIG_TEST(dlls/mmcndmgr/tests)
-WINE_CONFIG_DLL(mmdevapi)
+WINE_CONFIG_DLL(mmdevapi,,[clean])
 WINE_CONFIG_TEST(dlls/mmdevapi/tests)
 WINE_CONFIG_DLL(mmdevldr.vxd,enable_win16)
 WINE_CONFIG_DLL(mmsystem.dll16,enable_win16)
@@ -2894,24 +2895,24 @@ WINE_CONFIG_DLL(msadp32.acm)
 WINE_CONFIG_DLL(mscat32)
 WINE_CONFIG_DLL(mscms,,[implib])
 WINE_CONFIG_TEST(dlls/mscms/tests)
-WINE_CONFIG_DLL(mscoree)
+WINE_CONFIG_DLL(mscoree,,[clean])
 WINE_CONFIG_TEST(dlls/mscoree/tests)
-WINE_CONFIG_DLL(msctf)
+WINE_CONFIG_DLL(msctf,,[clean])
 WINE_CONFIG_TEST(dlls/msctf/tests)
-WINE_CONFIG_DLL(msdaps)
+WINE_CONFIG_DLL(msdaps,,[clean])
 WINE_CONFIG_DLL(msdmo,,[implib])
 WINE_CONFIG_DLL(msftedit)
 WINE_CONFIG_DLL(msg711.acm)
 WINE_CONFIG_DLL(msgsm32.acm)
-WINE_CONFIG_DLL(mshtml.tlb)
-WINE_CONFIG_DLL(mshtml,,[implib,po])
-WINE_CONFIG_TEST(dlls/mshtml/tests)
-WINE_CONFIG_DLL(msi,,[implib,po])
+WINE_CONFIG_DLL(mshtml.tlb,,[clean])
+WINE_CONFIG_DLL(mshtml,,[clean,implib,po])
+WINE_CONFIG_TEST(dlls/mshtml/tests,[clean])
+WINE_CONFIG_DLL(msi,,[clean,implib,po])
 WINE_CONFIG_TEST(dlls/msi/tests)
-WINE_CONFIG_DLL(msident)
+WINE_CONFIG_DLL(msident,,[clean])
 WINE_CONFIG_DLL(msimg32,,[implib])
 WINE_CONFIG_DLL(msimsg)
-WINE_CONFIG_DLL(msimtf)
+WINE_CONFIG_DLL(msimtf,,[clean])
 WINE_CONFIG_DLL(msisip)
 WINE_CONFIG_DLL(msisys.ocx)
 WINE_CONFIG_DLL(msls31)
@@ -2920,7 +2921,7 @@ WINE_CONFIG_DLL(mspatcha)
 WINE_CONFIG_DLL(msrle32,,[po])
 WINE_CONFIG_DLL(mssign32)
 WINE_CONFIG_DLL(mssip32)
-WINE_CONFIG_DLL(mstask)
+WINE_CONFIG_DLL(mstask,,[clean])
 WINE_CONFIG_TEST(dlls/mstask/tests)
 WINE_CONFIG_DLL(msvcirt)
 WINE_CONFIG_DLL(msvcm80)
@@ -2954,12 +2955,12 @@ WINE_CONFIG_TEST(dlls/msvfw32/tests)
 WINE_CONFIG_DLL(msvidc32,,[po])
 WINE_CONFIG_DLL(msvideo.dll16,enable_win16)
 WINE_CONFIG_DLL(mswsock,,[implib])
-WINE_CONFIG_DLL(msxml)
-WINE_CONFIG_DLL(msxml2)
-WINE_CONFIG_DLL(msxml3)
-WINE_CONFIG_TEST(dlls/msxml3/tests)
-WINE_CONFIG_DLL(msxml4)
-WINE_CONFIG_DLL(msxml6)
+WINE_CONFIG_DLL(msxml,,[clean])
+WINE_CONFIG_DLL(msxml2,,[clean])
+WINE_CONFIG_DLL(msxml3,,[clean])
+WINE_CONFIG_TEST(dlls/msxml3/tests,[clean])
+WINE_CONFIG_DLL(msxml4,,[clean])
+WINE_CONFIG_DLL(msxml6,,[clean])
 WINE_CONFIG_DLL(nddeapi,,[implib])
 WINE_CONFIG_DLL(netapi32,,[implib])
 WINE_CONFIG_TEST(dlls/netapi32/tests)
@@ -2974,7 +2975,7 @@ WINE_CONFIG_TEST(dlls/ntdsapi/tests)
 WINE_CONFIG_DLL(ntoskrnl.exe,,[implib])
 WINE_CONFIG_DLL(ntprint)
 WINE_CONFIG_TEST(dlls/ntprint/tests)
-WINE_CONFIG_DLL(objsel)
+WINE_CONFIG_DLL(objsel,,[clean])
 WINE_CONFIG_DLL(odbc32,,[implib])
 WINE_CONFIG_DLL(odbccp32,,[implib])
 WINE_CONFIG_TEST(dlls/odbccp32/tests)
@@ -2985,16 +2986,16 @@ WINE_CONFIG_DLL(ole2disp.dll16,enable_win16)
 WINE_CONFIG_DLL(ole2nls.dll16,enable_win16)
 WINE_CONFIG_DLL(ole2prox.dll16,enable_win16)
 WINE_CONFIG_DLL(ole2thk.dll16,enable_win16)
-WINE_CONFIG_DLL(ole32,,[implib])
+WINE_CONFIG_DLL(ole32,,[clean,implib])
 WINE_CONFIG_TEST(dlls/ole32/tests)
-WINE_CONFIG_DLL(oleacc,,[implib,po])
+WINE_CONFIG_DLL(oleacc,,[clean,implib,po])
 WINE_CONFIG_TEST(dlls/oleacc/tests)
-WINE_CONFIG_DLL(oleaut32,,[implib,po])
-WINE_CONFIG_TEST(dlls/oleaut32/tests)
+WINE_CONFIG_DLL(oleaut32,,[clean,implib,po])
+WINE_CONFIG_TEST(dlls/oleaut32/tests,[clean])
 WINE_CONFIG_DLL(olecli.dll16,enable_win16)
 WINE_CONFIG_DLL(olecli32,,[implib])
-WINE_CONFIG_DLL(oledb32)
-WINE_CONFIG_TEST(dlls/oledb32/tests)
+WINE_CONFIG_DLL(oledb32,,[clean])
+WINE_CONFIG_TEST(dlls/oledb32/tests,[clean])
 WINE_CONFIG_DLL(oledlg,,[implib,po])
 WINE_CONFIG_DLL(olepro32,,[implib])
 WINE_CONFIG_DLL(olesvr.dll16,enable_win16)
@@ -3010,20 +3011,20 @@ WINE_CONFIG_DLL(photometadatahandler)
 WINE_CONFIG_DLL(pidgen)
 WINE_CONFIG_DLL(powrprof,,[implib])
 WINE_CONFIG_DLL(printui)
-WINE_CONFIG_DLL(propsys,,[implib])
+WINE_CONFIG_DLL(propsys,,[clean,implib])
 WINE_CONFIG_TEST(dlls/propsys/tests)
 WINE_CONFIG_DLL(psapi,,[implib])
 WINE_CONFIG_TEST(dlls/psapi/tests)
-WINE_CONFIG_DLL(pstorec)
+WINE_CONFIG_DLL(pstorec,,[clean])
 WINE_CONFIG_DLL(qcap)
 WINE_CONFIG_TEST(dlls/qcap/tests)
-WINE_CONFIG_DLL(qedit)
+WINE_CONFIG_DLL(qedit,,[clean])
 WINE_CONFIG_TEST(dlls/qedit/tests)
-WINE_CONFIG_DLL(qmgr)
+WINE_CONFIG_DLL(qmgr,,[clean])
 WINE_CONFIG_TEST(dlls/qmgr/tests)
-WINE_CONFIG_DLL(qmgrprxy)
-WINE_CONFIG_DLL(quartz,,[implib])
-WINE_CONFIG_TEST(dlls/quartz/tests)
+WINE_CONFIG_DLL(qmgrprxy,,[clean])
+WINE_CONFIG_DLL(quartz,,[clean,implib])
+WINE_CONFIG_TEST(dlls/quartz/tests,[clean])
 WINE_CONFIG_DLL(query)
 WINE_CONFIG_DLL(rasapi16.dll16,enable_win16)
 WINE_CONFIG_DLL(rasapi32,,[implib])
@@ -3035,8 +3036,8 @@ WINE_CONFIG_DLL(riched20,,[implib])
 WINE_CONFIG_TEST(dlls/riched20/tests)
 WINE_CONFIG_DLL(riched32)
 WINE_CONFIG_TEST(dlls/riched32/tests)
-WINE_CONFIG_DLL(rpcrt4,,[implib])
-WINE_CONFIG_TEST(dlls/rpcrt4/tests)
+WINE_CONFIG_DLL(rpcrt4,,[clean,implib])
+WINE_CONFIG_TEST(dlls/rpcrt4/tests,[clean])
 WINE_CONFIG_DLL(rsabase)
 WINE_CONFIG_DLL(rsaenh,,[implib])
 WINE_CONFIG_TEST(dlls/rsaenh/tests)
@@ -3048,8 +3049,8 @@ WINE_CONFIG_DLL(scarddlg)
 WINE_CONFIG_DLL(sccbase)
 WINE_CONFIG_DLL(schannel)
 WINE_CONFIG_TEST(dlls/schannel/tests)
-WINE_CONFIG_DLL(scrrun)
-WINE_CONFIG_TEST(dlls/scrrun/tests)
+WINE_CONFIG_DLL(scrrun,,[clean])
+WINE_CONFIG_TEST(dlls/scrrun/tests,[clean])
 WINE_CONFIG_DLL(scsiport.sys)
 WINE_CONFIG_DLL(secur32,,[implib])
 WINE_CONFIG_TEST(dlls/secur32/tests)
@@ -3063,10 +3064,10 @@ WINE_CONFIG_DLL(setupx.dll16,enable_win16)
 WINE_CONFIG_DLL(sfc,,[implib])
 WINE_CONFIG_DLL(sfc_os,,[implib])
 WINE_CONFIG_DLL(shdoclc,,[po])
-WINE_CONFIG_DLL(shdocvw,,[implib])
+WINE_CONFIG_DLL(shdocvw,,[clean,implib])
 WINE_CONFIG_TEST(dlls/shdocvw/tests)
 WINE_CONFIG_DLL(shell.dll16,enable_win16)
-WINE_CONFIG_DLL(shell32,,[implib,po])
+WINE_CONFIG_DLL(shell32,,[clean,implib,po])
 WINE_CONFIG_TEST(dlls/shell32/tests)
 WINE_CONFIG_DLL(shfolder,,[implib])
 WINE_CONFIG_DLL(shlwapi,,[implib,po])
@@ -3079,9 +3080,9 @@ WINE_CONFIG_DLL(softpub)
 WINE_CONFIG_DLL(sound.drv16,enable_win16)
 WINE_CONFIG_DLL(spoolss,,[implib])
 WINE_CONFIG_TEST(dlls/spoolss/tests)
-WINE_CONFIG_DLL(stdole2.tlb)
-WINE_CONFIG_DLL(stdole32.tlb)
-WINE_CONFIG_DLL(sti,,[implib])
+WINE_CONFIG_DLL(stdole2.tlb,,[clean])
+WINE_CONFIG_DLL(stdole32.tlb,,[clean])
+WINE_CONFIG_DLL(sti,,[clean,implib])
 WINE_CONFIG_TEST(dlls/sti/tests)
 WINE_CONFIG_DLL(storage.dll16,enable_win16)
 WINE_CONFIG_DLL(stress.dll16,enable_win16)
@@ -3102,7 +3103,7 @@ WINE_CONFIG_DLL(typelib.dll16,enable_win16)
 WINE_CONFIG_DLL(unicows,,[implib])
 WINE_CONFIG_DLL(updspapi)
 WINE_CONFIG_DLL(url,,[implib])
-WINE_CONFIG_DLL(urlmon,,[implib,po])
+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)
@@ -3115,8 +3116,8 @@ WINE_CONFIG_TEST(dlls/usp10/tests)
 WINE_CONFIG_LIB(uuid)
 WINE_CONFIG_DLL(uxtheme,,[implib])
 WINE_CONFIG_TEST(dlls/uxtheme/tests)
-WINE_CONFIG_DLL(vbscript)
-WINE_CONFIG_TEST(dlls/vbscript/tests)
+WINE_CONFIG_DLL(vbscript,,[clean])
+WINE_CONFIG_TEST(dlls/vbscript/tests,[clean])
 WINE_CONFIG_DLL(vcomp)
 WINE_CONFIG_DLL(vcomp100)
 WINE_CONFIG_DLL(vcomp90)
@@ -3132,19 +3133,19 @@ WINE_CONFIG_DLL(vtdapi.vxd,enable_win16)
 WINE_CONFIG_DLL(vwin32.vxd,enable_win16)
 WINE_CONFIG_DLL(w32skrnl,enable_win16)
 WINE_CONFIG_DLL(w32sys.dll16,enable_win16)
-WINE_CONFIG_DLL(wbemdisp)
-WINE_CONFIG_DLL(wbemprox)
+WINE_CONFIG_DLL(wbemdisp,,[clean])
+WINE_CONFIG_DLL(wbemprox,,[clean])
 WINE_CONFIG_TEST(dlls/wbemprox/tests)
 WINE_CONFIG_DLL(webservices,,[implib])
 WINE_CONFIG_DLL(wer,,[implib])
 WINE_CONFIG_TEST(dlls/wer/tests)
 WINE_CONFIG_DLL(wevtapi)
-WINE_CONFIG_DLL(wiaservc)
+WINE_CONFIG_DLL(wiaservc,,[clean])
 WINE_CONFIG_DLL(win32s16.dll16,enable_win16)
 WINE_CONFIG_DLL(win87em.dll16,enable_win16)
 WINE_CONFIG_DLL(winaspi.dll16,enable_win16)
 WINE_CONFIG_DLL(windebug.dll16,enable_win16)
-WINE_CONFIG_DLL(windowscodecs,,[implib])
+WINE_CONFIG_DLL(windowscodecs,,[clean,implib])
 WINE_CONFIG_TEST(dlls/windowscodecs/tests)
 WINE_CONFIG_DLL(windowscodecsext,,[implib])
 WINE_CONFIG_TEST(dlls/windowscodecsext/tests)
@@ -3164,7 +3165,7 @@ WINE_CONFIG_DLL(wineqtdecoder)
 WINE_CONFIG_DLL(winex11.drv)
 WINE_CONFIG_DLL(wing.dll16,enable_win16)
 WINE_CONFIG_DLL(wing32)
-WINE_CONFIG_DLL(winhttp,,[implib])
+WINE_CONFIG_DLL(winhttp,,[clean,implib])
 WINE_CONFIG_TEST(dlls/winhttp/tests)
 WINE_CONFIG_DLL(wininet,,[implib,po])
 WINE_CONFIG_TEST(dlls/wininet/tests)
@@ -3186,20 +3187,20 @@ WINE_CONFIG_DLL(wlanapi)
 WINE_CONFIG_DLL(wldap32,,[implib,po])
 WINE_CONFIG_TEST(dlls/wldap32/tests)
 WINE_CONFIG_DLL(wmi)
-WINE_CONFIG_DLL(wmiutils)
+WINE_CONFIG_DLL(wmiutils,,[clean])
 WINE_CONFIG_TEST(dlls/wmiutils/tests)
 WINE_CONFIG_DLL(wmvcore)
 WINE_CONFIG_DLL(wnaspi32,,[implib])
 WINE_CONFIG_DLL(wow32,enable_win16,[implib])
 WINE_CONFIG_DLL(ws2_32,,[implib])
 WINE_CONFIG_TEST(dlls/ws2_32/tests)
-WINE_CONFIG_DLL(wshom.ocx)
-WINE_CONFIG_TEST(dlls/wshom.ocx/tests)
+WINE_CONFIG_DLL(wshom.ocx,,[clean])
+WINE_CONFIG_TEST(dlls/wshom.ocx/tests,[clean])
 WINE_CONFIG_DLL(wsnmp32,,[implib])
 WINE_CONFIG_TEST(dlls/wsnmp32/tests)
 WINE_CONFIG_DLL(wsock32,,[implib])
 WINE_CONFIG_DLL(wtsapi32,,[implib])
-WINE_CONFIG_DLL(wuapi)
+WINE_CONFIG_DLL(wuapi,,[clean])
 WINE_CONFIG_DLL(wuaueng)
 WINE_CONFIG_DLL(xapofx1_1)
 WINE_CONFIG_DLL(xinput1_1)
@@ -3213,13 +3214,13 @@ WINE_CONFIG_TEST(dlls/xmllite/tests)
 WINE_CONFIG_DLL(xolehlp)
 WINE_CONFIG_DLL(xpsprint)
 WINE_CONFIG_DLL(xpssvcs)
-WINE_CONFIG_MAKEFILE([documentation])
-WINE_CONFIG_MAKEFILE([fonts],,[install-lib])
-WINE_CONFIG_MAKEFILE([include],,[install-dev])
+WINE_CONFIG_MAKEFILE([documentation],,[clean])
+WINE_CONFIG_MAKEFILE([fonts],,[clean,install-lib])
+WINE_CONFIG_MAKEFILE([include],,[clean,install-dev])
 WINE_CONFIG_MAKEFILE([libs/port])
-WINE_CONFIG_MAKEFILE([libs/wine],,[install-dev,install-lib])
+WINE_CONFIG_MAKEFILE([libs/wine],,[clean,install-dev,install-lib])
 WINE_CONFIG_MAKEFILE([libs/wpp])
-WINE_CONFIG_MAKEFILE([loader],,[install-lib,manpage])
+WINE_CONFIG_MAKEFILE([loader],,[clean,install-lib,manpage])
 WINE_CONFIG_PROGRAM(aspnet_regiis,,[install])
 WINE_CONFIG_PROGRAM(attrib,,[install,po])
 WINE_CONFIG_PROGRAM(cabarc,,[install])
@@ -3261,14 +3262,14 @@ WINE_CONFIG_PROGRAM(regedit,,[install,installbin,manpage,po])
 WINE_CONFIG_TEST(programs/regedit/tests)
 WINE_CONFIG_PROGRAM(regsvcs,,[install])
 WINE_CONFIG_PROGRAM(regsvr32,,[install,installbin,manpage])
-WINE_CONFIG_PROGRAM(rpcss,,[install])
+WINE_CONFIG_PROGRAM(rpcss,,[clean,install])
 WINE_CONFIG_PROGRAM(rundll.exe16,enable_win16,[install])
 WINE_CONFIG_PROGRAM(rundll32,,[install])
 WINE_CONFIG_PROGRAM(sc,,[install])
 WINE_CONFIG_PROGRAM(schtasks,,[install])
 WINE_CONFIG_PROGRAM(secedit,,[install])
 WINE_CONFIG_PROGRAM(servicemodelreg,,[install])
-WINE_CONFIG_PROGRAM(services,,[install])
+WINE_CONFIG_PROGRAM(services,,[clean,install])
 WINE_CONFIG_TEST(programs/services/tests)
 WINE_CONFIG_PROGRAM(spoolsv,,[install])
 WINE_CONFIG_PROGRAM(start,,[install,po])
@@ -3291,7 +3292,7 @@ WINE_CONFIG_PROGRAM(winemenubuilder,,[install])
 WINE_CONFIG_PROGRAM(winemine,,[install,installbin,manpage,po])
 WINE_CONFIG_PROGRAM(winemsibuilder,,[install])
 WINE_CONFIG_PROGRAM(winepath,,[install,installbin,manpage])
-WINE_CONFIG_PROGRAM(winetest)
+WINE_CONFIG_PROGRAM(winetest,,[clean])
 WINE_CONFIG_PROGRAM(winevdm,enable_win16,[install])
 WINE_CONFIG_PROGRAM(winhelp.exe16,enable_win16,[install])
 WINE_CONFIG_PROGRAM(winhlp32,,[install,po])
@@ -3300,18 +3301,18 @@ WINE_CONFIG_PROGRAM(winver,,[install])
 WINE_CONFIG_PROGRAM(wmic,,[install,po])
 WINE_CONFIG_PROGRAM(wordpad,,[install,po])
 WINE_CONFIG_PROGRAM(write,,[install,po])
-WINE_CONFIG_PROGRAM(wscript,,[install])
+WINE_CONFIG_PROGRAM(wscript,,[clean,install])
 WINE_CONFIG_TEST(programs/wscript/tests)
 WINE_CONFIG_PROGRAM(wusa,,[install])
 WINE_CONFIG_PROGRAM(xcopy,,[install,po])
-WINE_CONFIG_MAKEFILE([server],,[install-lib,manpage])
-WINE_CONFIG_TOOL(tools,[install-dev,install-lib,manpage])
-WINE_CONFIG_TOOL(tools/widl,[install-dev,manpage])
-WINE_CONFIG_TOOL(tools/winebuild,[install-dev,manpage])
-WINE_CONFIG_TOOL(tools/winedump,[install-dev,manpage])
-WINE_CONFIG_TOOL(tools/winegcc,[install-dev,manpage])
-WINE_CONFIG_TOOL(tools/wmc,[install-dev,manpage])
-WINE_CONFIG_TOOL(tools/wrc,[install-dev,manpage])
+WINE_CONFIG_MAKEFILE([server],,[clean,install-lib,manpage])
+WINE_CONFIG_TOOL(tools,[clean,install-dev,install-lib,manpage])
+WINE_CONFIG_TOOL(tools/widl,[clean,install-dev,manpage])
+WINE_CONFIG_TOOL(tools/winebuild,[clean,install-dev,manpage])
+WINE_CONFIG_TOOL(tools/winedump,[clean,install-dev,manpage])
+WINE_CONFIG_TOOL(tools/winegcc,[clean,install-dev,manpage])
+WINE_CONFIG_TOOL(tools/wmc,[clean,install-dev,manpage])
+WINE_CONFIG_TOOL(tools/wrc,[clean,install-dev,manpage])
 
 AC_SUBST([LINGUAS],["\
 ar \
@@ -3427,6 +3428,7 @@ clean::
 	\$(RM) fonts server tools $with_wine64/loader/wine $with_wine64/loader/wine-preloader])
 fi
 
+_AS_ECHO([ done])
 AC_OUTPUT
 
 if test "$no_create" = "yes"
diff --git a/libs/wine/Makefile.in b/libs/wine/Makefile.in
index 7123e9bc5447f7dca291395bc49f27fdbb97e31f..57bea4316c297d6dfa3da422c59f163e232bc472 100644
--- a/libs/wine/Makefile.in
+++ b/libs/wine/Makefile.in
@@ -122,8 +122,9 @@ version.c: dummy
 $(RELPATH):
 	@cd $(TOOLSDIR)/tools && $(MAKE) relpath$(TOOLSEXT)
 
-# Make sure that make_makefiles sees the install rules
+# Make sure that make_makefiles sees the generated rules
 install install-lib::
 install install-dev::
+clean::
 
 @LIBWINE_RULES@
diff --git a/tools/make_makefiles b/tools/make_makefiles
index 567e92900e7d5cbe7a4c1db2c3157d082205f4f8..286f5f4e543272a88588637a8e60eb2efc3077b7 100755
--- a/tools/make_makefiles
+++ b/tools/make_makefiles
@@ -320,8 +320,8 @@ sub parse_makefile($)
         {
             my $var = $1;
             $make{$var} = $2;
-            push @{$make{"=flags"}}, "implib" if $var eq "IMPORTLIB";
-            push @{$make{"=flags"}}, "manpage" if $var eq "MANPAGE";
+            ${$make{"=flags"}}{"implib"} = 1 if $var eq "IMPORTLIB";
+            ${$make{"=flags"}}{"manpage"} = 1 if $var eq "MANPAGE";
             next;
         }
         if (/^\s*(BISON_SRCS|LEX_SRCS|IDL_[CHIPRS]_SRCS|IDL_TLB_SRCS|IMPLIB_SRCS|C_SRCS|OBJC_SRCS|MC_SRCS|RC_SRCS|PO_SRCS|SVG_SRCS|PROGRAMS)\s*=\s*(.*)/)
@@ -329,14 +329,15 @@ sub parse_makefile($)
             my $var = $1;
             my @list = split(/\s+/, $2);
             $make{$var} = \@list;
-            push @{$make{"=flags"}}, "mc" if $var eq "MC_SRCS";
-            push @{$make{"=flags"}}, "po" if $var eq "PO_SRCS";
-            push @{$make{"=flags"}}, "staticimplib" if $var eq "IMPLIB_SRCS";
+            ${$make{"=flags"}}{"mc"} = 1 if $var eq "MC_SRCS";
+            ${$make{"=flags"}}{"po"} = 1 if $var eq "PO_SRCS";
+            ${$make{"=flags"}}{"staticimplib"} = 1 if $var eq "IMPLIB_SRCS";
+            ${$make{"=flags"}}{"clean"} = 1 if $var =~ /IDL_[CHIPRS]_SRCS|IDL_TLB_SRCS|PROGRAMS/;
             next;
         }
-        if (/(install-lib|install-dev)\s*:/)
+        if (/(install-lib|install-dev|clean)\s*:/)
         {
-            push @{$make{"=flags"}}, $1;
+            ${$make{"=flags"}}{$1} = 1;
             next;
         }
         if (/^\s*(TOPSRCDIR|TOPOBJDIR|SRCDIR|VPATH)\s*=\s*(.*)/)
@@ -347,8 +348,8 @@ sub parse_makefile($)
 
     if ($file =~ /^programs\/([^\/]+)\/Makefile/)
     {
-        push @{$make{"=flags"}}, "install" unless $dont_install{$1};
-        push @{$make{"=flags"}}, "installbin" if $bin_install{$1};
+        ${$make{"=flags"}}{"install"} = 1 unless $dont_install{$1};
+        ${$make{"=flags"}}{"installbin"} = 1 if $bin_install{$1};
     }
 
     return %make;
@@ -439,7 +440,7 @@ sub update_makefiles(@)
         my $rules = $make{"=rules"};
         my $args = "";
         my $is_win16 = $make{"MODULE"} && ($make{"MODULE"} =~ /16$/ || $modules16{$make{"MODULE"}});
-        my $flag_args = defined $make{"=flags"} ? ",[" . join(",",sort @{$make{"=flags"}}) ."]" : "";
+        my $flag_args = defined $make{"=flags"} ? ",[" . join(",",sort keys %{$make{"=flags"}}) ."]" : "";
         if ($rules eq $makerules{"MAKE_DLL_RULES"})
         {
             (my $name = $file) =~ s/^dlls\/(.*)\/Makefile/$1/;