From 509364e1dd0c6bd4c1aa90573ddc33c1acd2fca5 Mon Sep 17 00:00:00 2001
From: Alexandre Julliard <julliard@winehq.org>
Date: Tue, 14 Jan 2014 11:59:25 +0100
Subject: [PATCH] makefiles: Get rid of Make.rules.

---
 Make.rules.in               |  30 ----------
 Make.vars.in                |   1 -
 aclocal.m4                  |  55 ++++--------------
 configure                   | 112 +++++++++---------------------------
 configure.ac                |  12 +++-
 documentation/Makefile.in   |   2 -
 fonts/Makefile.in           |   4 +-
 include/Makefile.in         |   4 +-
 libs/port/Makefile.in       |   2 -
 libs/wine/Makefile.in       |   3 +-
 libs/wpp/Makefile.in        |   2 -
 loader/Makefile.in          |   3 +-
 server/Makefile.in          |   4 +-
 tools/Makefile.in           |   4 +-
 tools/make_makefiles        |  25 +-------
 tools/widl/Makefile.in      |   4 +-
 tools/winebuild/Makefile.in |   4 +-
 tools/winedump/Makefile.in  |   4 +-
 tools/winegcc/Makefile.in   |   4 +-
 tools/wmc/Makefile.in       |   4 +-
 tools/wrc/Makefile.in       |   4 +-
 21 files changed, 76 insertions(+), 211 deletions(-)
 delete mode 100644 Make.rules.in

diff --git a/Make.rules.in b/Make.rules.in
deleted file mode 100644
index e34bf53ab4b..00000000000
--- a/Make.rules.in
+++ /dev/null
@@ -1,30 +0,0 @@
-# Global rules shared by all makefiles     -*-Makefile-*-
-#
-# Each individual makefile may define the following variables:
-# C_SRCS       : C sources for the module
-# OBJC_SRCS    : Objective-C sources for the module
-# RC_SRCS      : resource source files
-# EXTRA_OBJS   : extra object files
-# IMPORTS      : dlls to import
-# DELAYIMPORTS : dlls to import in delayed mode
-# MODCFLAGS    : extra CFLAGS for this module
-
-# First some useful definitions
-
-OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(OBJC_SRCS:.m=.o) \
-       $(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.res) $(EXTRA_OBJS)
-
-# Rules for cleaning
-
-clean::
-	$(RM) $(CLEAN_FILES)
-
-.PHONY: clean
-
-# Rules for installing
-
-install install-lib install-dev uninstall::
-
-.PHONY: install install-lib install-dev uninstall
-
-# End of global rules
diff --git a/Make.vars.in b/Make.vars.in
index 61c2016e9ef..9f8505c2d34 100644
--- a/Make.vars.in
+++ b/Make.vars.in
@@ -64,7 +64,6 @@ LDRPATH_LOCAL   = @LDRPATH_LOCAL@
 INSTALL_PROGRAM = STRIPPROG="$(STRIP)" $(top_srcdir)/tools/install-sh $(INSTALL_PROGRAM_FLAGS)
 INSTALL_SCRIPT  = $(top_srcdir)/tools/install-sh $(INSTALL_SCRIPT_FLAGS)
 INSTALL_DATA    = $(top_srcdir)/tools/install-sh -m 644 $(INSTALL_DATA_FLAGS)
-CLEAN_FILES     = *.o *.a *.so *.res *.fake *.ok *.tab.[ch] *.yy.c
 prog_manext     = 1
 api_manext      = 3w
 conf_manext     = 5
diff --git a/aclocal.m4 b/aclocal.m4
index dff44afa5ab..bb483209f56 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -225,24 +225,13 @@ wine_fn_has_flag ()
 
 wine_fn_depend_rules ()
 {
-    ac_alldeps=$[1]
-    ac_makedep="\$(MAKEDEP)"
-    ac_input=Make.vars.in:$ac_dir/Makefile.in
-    case $[1] in
-      *.in)
-          ac_input=$ac_input:$[1]
-          test "$srcdir" = . || ac_alldeps="$srcdir/$ac_alldeps" ;;
-      *)
-          ac_makedep="$[1] $ac_makedep" ;;
-    esac
-
     wine_fn_append_rule \
-"$ac_dir/Makefile: $srcdir/$ac_dir/Makefile.in $srcdir/Make.vars.in config.status $ac_alldeps \$(MAKEDEP)
-	@./config.status --file $ac_dir/Makefile:$ac_input && \$(MAKEDEP) -M $ac_dir
+"$ac_dir/Makefile: $srcdir/$ac_dir/Makefile.in $srcdir/Make.vars.in config.status \$(MAKEDEP)
+	@./config.status --file $ac_dir/Makefile:Make.vars.in:$ac_dir/Makefile.in && \$(MAKEDEP) -M $ac_dir
 depend: $ac_dir/depend
 .PHONY: $ac_dir/depend
-$ac_dir/depend: $ac_makedep dummy
-	@./config.status --file $ac_dir/Makefile:$ac_input && \$(MAKEDEP) -M $ac_dir"
+$ac_dir/depend: \$(MAKEDEP) dummy
+	@./config.status --file $ac_dir/Makefile:Make.vars.in:$ac_dir/Makefile.in && \$(MAKEDEP) -M $ac_dir"
 }
 
 wine_fn_pot_rules ()
@@ -269,9 +258,7 @@ $ac_dir/rsrc.pot: tools/wrc include"
 
 wine_fn_all_rules ()
 {
-    ac_rules=$[1]
-
-    wine_fn_depend_rules ${ac_rules:-Make.rules}
+    wine_fn_depend_rules
     wine_fn_append_rule \
 "all: $ac_dir
 .PHONY: $ac_dir
@@ -367,7 +354,7 @@ wine_fn_config_lib ()
     ac_deps="include"
 
     AS_VAR_IF([enable_tools],[no],,[ac_deps="tools/widl tools/winebuild tools/winegcc $ac_deps"])
-    wine_fn_all_rules Make.rules.in
+    wine_fn_all_rules
     wine_fn_clean_rules
 
     wine_fn_append_rule \
@@ -411,14 +398,14 @@ wine_fn_config_dll ()
               dnl enable_win16 is special in that it disables import libs too
               [if wine_fn_has_flag implib && test "$ac_enable" != enable_win16
                then
-                   wine_fn_depend_rules Make.rules.in
+                   wine_fn_depend_rules
                    wine_fn_clean_rules $ac_clean
                else
                    wine_fn_disabled_rules $ac_clean
                    return
                fi],
 
-              [wine_fn_all_rules Make.rules.in
+              [wine_fn_all_rules
                wine_fn_clean_rules $ac_clean
                wine_fn_append_rule \
 "$ac_dir: __builddeps__
@@ -546,7 +533,7 @@ wine_fn_config_program ()
 
     AS_VAR_IF([$ac_enable],[no],[wine_fn_disabled_rules $ac_clean; return])
 
-    wine_fn_all_rules Make.rules.in
+    wine_fn_all_rules
     wine_fn_clean_rules $ac_clean
     wine_fn_append_rule "$ac_dir: __builddeps__"
     wine_fn_pot_rules
@@ -606,7 +593,7 @@ wine_fn_config_test ()
     AS_VAR_IF([enable_tests],[no],[wine_fn_disabled_rules $ac_clean; return])
 
     wine_fn_append_file ALL_TEST_RESOURCES $ac_name.res
-    wine_fn_all_rules Make.rules.in
+    wine_fn_all_rules
     wine_fn_clean_rules $ac_clean
 
     wine_fn_append_rule \
@@ -646,18 +633,6 @@ wine_fn_config_tool ()
     esac
 }
 
-wine_fn_config_makerules ()
-{
-    ac_rules=$[1]
-    ac_deps=$[2]
-    wine_fn_append_rule \
-"$ac_rules: $srcdir/$ac_rules.in $ac_deps config.status
-	@./config.status $ac_rules
-distclean::
-	\$(RM) $ac_rules"
-    wine_fn_ignore_file $ac_rules
-}
-
 wine_fn_config_symlink ()
 {
     ac_linkdir=
@@ -702,16 +677,6 @@ wine_fn_config_symlink[]m4_if([$1],[$2],,m4_ifval([$1],[ -d $1]))[]m4_foreach([f
 fi])[]dnl
 ])])
 
-dnl **** Create a make rules file from config.status ****
-dnl
-dnl Usage: WINE_CONFIG_MAKERULES(file,var,deps)
-dnl
-AC_DEFUN([WINE_CONFIG_MAKERULES],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
-wine_fn_config_makerules $1 $3
-$2=$1
-AC_SUBST_FILE([$2])dnl
-AC_CONFIG_FILES([$1])])
-
 dnl **** Create a makefile from config.status ****
 dnl
 dnl Usage: WINE_CONFIG_MAKEFILE(file,enable,flags)
diff --git a/configure b/configure
index 6e6488e8fe0..27251d00c1e 100755
--- a/configure
+++ b/configure
@@ -790,7 +790,7 @@ PACKAGE_TARNAME
 PACKAGE_NAME
 PATH_SEPARATOR
 SHELL'
-ac_subst_files='MAKE_RULES'
+ac_subst_files=''
 ac_user_opts='
 enable_option_checking
 enable_win16
@@ -7073,24 +7073,13 @@ wine_fn_has_flag ()
 
 wine_fn_depend_rules ()
 {
-    ac_alldeps=$1
-    ac_makedep="\$(MAKEDEP)"
-    ac_input=Make.vars.in:$ac_dir/Makefile.in
-    case $1 in
-      *.in)
-          ac_input=$ac_input:$1
-          test "$srcdir" = . || ac_alldeps="$srcdir/$ac_alldeps" ;;
-      *)
-          ac_makedep="$1 $ac_makedep" ;;
-    esac
-
     wine_fn_append_rule \
-"$ac_dir/Makefile: $srcdir/$ac_dir/Makefile.in $srcdir/Make.vars.in config.status $ac_alldeps \$(MAKEDEP)
-	@./config.status --file $ac_dir/Makefile:$ac_input && \$(MAKEDEP) -M $ac_dir
+"$ac_dir/Makefile: $srcdir/$ac_dir/Makefile.in $srcdir/Make.vars.in config.status \$(MAKEDEP)
+	@./config.status --file $ac_dir/Makefile:Make.vars.in:$ac_dir/Makefile.in && \$(MAKEDEP) -M $ac_dir
 depend: $ac_dir/depend
 .PHONY: $ac_dir/depend
-$ac_dir/depend: $ac_makedep dummy
-	@./config.status --file $ac_dir/Makefile:$ac_input && \$(MAKEDEP) -M $ac_dir"
+$ac_dir/depend: \$(MAKEDEP) dummy
+	@./config.status --file $ac_dir/Makefile:Make.vars.in:$ac_dir/Makefile.in && \$(MAKEDEP) -M $ac_dir"
 }
 
 wine_fn_pot_rules ()
@@ -7117,9 +7106,7 @@ $ac_dir/rsrc.pot: tools/wrc include"
 
 wine_fn_all_rules ()
 {
-    ac_rules=$1
-
-    wine_fn_depend_rules ${ac_rules:-Make.rules}
+    wine_fn_depend_rules
     wine_fn_append_rule \
 "all: $ac_dir
 .PHONY: $ac_dir
@@ -7221,7 +7208,7 @@ wine_fn_config_lib ()
 else
   ac_deps="tools/widl tools/winebuild tools/winegcc $ac_deps"
 fi
-    wine_fn_all_rules Make.rules.in
+    wine_fn_all_rules
     wine_fn_clean_rules
 
     wine_fn_append_rule \
@@ -7268,14 +7255,14 @@ fi
     if eval test \"x\$"$ac_enable"\" = x"no"; then :
                 if wine_fn_has_flag implib && test "$ac_enable" != enable_win16
                then
-                   wine_fn_depend_rules Make.rules.in
+                   wine_fn_depend_rules
                    wine_fn_clean_rules $ac_clean
                else
                    wine_fn_disabled_rules $ac_clean
                    return
                fi
 else
-  wine_fn_all_rules Make.rules.in
+  wine_fn_all_rules
                wine_fn_clean_rules $ac_clean
                wine_fn_append_rule \
 "$ac_dir: __builddeps__
@@ -7406,7 +7393,7 @@ wine_fn_config_program ()
   wine_fn_disabled_rules $ac_clean; return
 fi
 
-    wine_fn_all_rules Make.rules.in
+    wine_fn_all_rules
     wine_fn_clean_rules $ac_clean
     wine_fn_append_rule "$ac_dir: __builddeps__"
     wine_fn_pot_rules
@@ -7468,7 +7455,7 @@ wine_fn_config_test ()
 fi
 
     wine_fn_append_file ALL_TEST_RESOURCES $ac_name.res
-    wine_fn_all_rules Make.rules.in
+    wine_fn_all_rules
     wine_fn_clean_rules $ac_clean
 
     wine_fn_append_rule \
@@ -7510,18 +7497,6 @@ fi
     esac
 }
 
-wine_fn_config_makerules ()
-{
-    ac_rules=$1
-    ac_deps=$2
-    wine_fn_append_rule \
-"$ac_rules: $srcdir/$ac_rules.in $ac_deps config.status
-	@./config.status $ac_rules
-distclean::
-	\$(RM) $ac_rules"
-    wine_fn_ignore_file $ac_rules
-}
-
 wine_fn_config_symlink ()
 {
     ac_linkdir=
@@ -7673,6 +7648,8 @@ fi
 
     libwine_targets="libwine.dll libwine.a"
     LIBWINE_RULES="
+OBJS = \$(C_SRCS:.c=.o) \$(EXTRA_OBJS)
+
 all: libwine.dll libwine.a
 
 libwine.a: \$(srcdir)/wine.def
@@ -7866,6 +7843,8 @@ fi
 
     libwine_targets="libwine.dylib libwine.$libwine_soversion.dylib libwine.$libwine_version.dylib"
     LIBWINE_RULES="
+OBJS = \$(C_SRCS:.c=.o) \$(EXTRA_OBJS)
+
 all: libwine.dylib
 
 libwine.$libwine_version.dylib: \$(OBJS)
@@ -8044,6 +8023,8 @@ fi
 
     libwine_targets="libwine.so"
     LIBWINE_RULES="
+OBJS = \$(C_SRCS:.c=.o) \$(EXTRA_OBJS)
+
 all: libwine.so
 
 libwine.so: \$(OBJS)
@@ -8393,6 +8374,8 @@ $as_echo "$ac_cv_c_dll_unixware" >&6; }
     fi
     libwine_targets="libwine.so libwine.so.$libwine_soversion libwine.so.$libwine_version"
     LIBWINE_RULES="
+OBJS = \$(C_SRCS:.c=.o) \$(EXTRA_OBJS)
+
 all: libwine.so
 
 libwine.so.$libwine_version: \$(OBJS) \$(srcdir)/wine.map
@@ -16524,6 +16507,8 @@ $as_echo_n "creating Makefile rules..." >&6
 wine_fn_append_rule "
 # Rules automatically generated by configure
 
+CLEAN_FILES = *.o *.a *.so *.res *.fake *.ok *.tab.[ch] *.yy.c
+
 .INIT: Makefile
 .MAKEFILEDEPS:
 all: Makefile
@@ -16555,11 +16540,6 @@ ac_config_links="$ac_config_links wine64:tools/winewrapper"
 wine_fn_config_symlink wine64
 fi
 
-wine_fn_config_makerules Make.rules
-MAKE_RULES=Make.rules
-ac_config_files="$ac_config_files Make.rules"
-
-
 wine_fn_config_dll acledit enable_acledit
 wine_fn_config_dll aclui enable_aclui implib
 wine_fn_config_dll activeds enable_activeds implib
@@ -18170,7 +18150,6 @@ do
     "po/LINGUAS") CONFIG_LINKS="$CONFIG_LINKS po/LINGUAS:po/LINGUAS" ;;
     "wine") CONFIG_LINKS="$CONFIG_LINKS wine:tools/winewrapper" ;;
     "wine64") CONFIG_LINKS="$CONFIG_LINKS wine64:tools/winewrapper" ;;
-    "Make.rules") CONFIG_FILES="$CONFIG_FILES Make.rules" ;;
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "Make.tmp") CONFIG_FILES="$CONFIG_FILES Make.tmp:Make.vars.in:Makefile.in" ;;
     "tools") CONFIG_COMMANDS="$CONFIG_COMMANDS tools" ;;
@@ -18224,24 +18203,7 @@ ac_tmp=$tmp
 # This happens for instance with `./config.status config.h'.
 if test -n "$CONFIG_FILES"; then
 
-if $AWK 'BEGIN { getline <"/dev/null" }' </dev/null 2>/dev/null; then
-  ac_cs_awk_getline=:
-  ac_cs_awk_pipe_init=
-  ac_cs_awk_read_file='
-      while ((getline aline < (F[key])) > 0)
-	print(aline)
-      close(F[key])'
-  ac_cs_awk_pipe_fini=
-else
-  ac_cs_awk_getline=false
-  ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\""
-  ac_cs_awk_read_file='
-      print "|#_!!_#|"
-      print "cat " F[key] " &&"
-      '$ac_cs_awk_pipe_init
-  # The final `:' finishes the AND list.
-  ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }'
-fi
+
 ac_cr=`echo X | tr X '\015'`
 # On cygwin, bash can eat \r inside `` if the user requested igncr.
 # But we know of no other shell where ac_cr would be empty at this
@@ -18259,17 +18221,6 @@ fi
 echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
-# Create commands to substitute file output variables.
-{
-  echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" &&
-  echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' &&
-  echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' &&
-  echo "_ACAWK" &&
-  echo "_ACEOF"
-} >conf$$files.sh &&
-. ./conf$$files.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-rm -f conf$$files.sh
 
 {
   echo "cat >conf$$subs.awk <<_ACEOF" &&
@@ -18346,7 +18297,7 @@ _ACAWK
 cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
-  \$ac_cs_awk_pipe_init
+
 }
 {
   line = $ 0
@@ -18364,16 +18315,10 @@ cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
     } else
       len += 1 + keylen
   }
-  if (nfields == 3 && !substed) {
-    key = field[2]
-    if (F[key] != "" && line ~ /^[	 ]*@.*@[	 ]*$/) {
-      \$ac_cs_awk_read_file
-      next
-    }
-  }
+
   print line
 }
-\$ac_cs_awk_pipe_fini
+
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
@@ -18715,12 +18660,7 @@ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
 s&@MKDIR_P@&$ac_MKDIR_P&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" |
-if $ac_cs_awk_getline; then
-  $AWK -f "$ac_tmp/subs.awk"
-else
-  $AWK -f "$ac_tmp/subs.awk" | $SHELL
-fi \
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
   >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
diff --git a/configure.ac b/configure.ac
index c60d87013af..121ae18e2e7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -721,6 +721,8 @@ case $host_os in
 
     libwine_targets="libwine.dll libwine.a"
     AC_SUBST(LIBWINE_RULES,["
+OBJS = \$(C_SRCS:.c=.o) \$(EXTRA_OBJS)
+
 all: libwine.dll libwine.a
 
 libwine.a: \$(srcdir)/wine.def
@@ -846,6 +848,8 @@ uninstall::
 
     libwine_targets="libwine.dylib libwine.$libwine_soversion.dylib libwine.$libwine_version.dylib"
     AC_SUBST(LIBWINE_RULES,["
+OBJS = \$(C_SRCS:.c=.o) \$(EXTRA_OBJS)
+
 all: libwine.dylib
 
 libwine.$libwine_version.dylib: \$(OBJS)
@@ -903,6 +907,8 @@ wine-installed: main.o wine_info.plist
 
     libwine_targets="libwine.so"
     AC_SUBST(LIBWINE_RULES,["
+OBJS = \$(C_SRCS:.c=.o) \$(EXTRA_OBJS)
+
 all: libwine.so
 
 libwine.so: \$(OBJS)
@@ -983,6 +989,8 @@ wine-installed: main.o
     fi
     libwine_targets="libwine.so libwine.so.$libwine_soversion libwine.so.$libwine_version"
     AC_SUBST(LIBWINE_RULES,["
+OBJS = \$(C_SRCS:.c=.o) \$(EXTRA_OBJS)
+
 all: libwine.so
 
 libwine.so.$libwine_version: \$(OBJS) \$(srcdir)/wine.map
@@ -2591,6 +2599,8 @@ dnl Main makefile
 WINE_APPEND_RULE([
 # Rules automatically generated by configure
 
+CLEAN_FILES = *.o *.a *.so *.res *.fake *.ok *.tab.[[ch]] *.yy.c
+
 .INIT: Makefile
 .MAKEFILEDEPS:
 all: Makefile
@@ -2612,8 +2622,6 @@ WINE_CONFIG_SYMLINK(po,po,[LINGUAS])
 WINE_CONFIG_SYMLINK(,tools,[wine],,winewrapper)
 WINE_CONFIG_SYMLINK(,tools,[wine64],enable_win64,winewrapper)
 
-WINE_CONFIG_MAKERULES([Make.rules],[MAKE_RULES])
-
 WINE_CONFIG_DLL(acledit)
 WINE_CONFIG_DLL(aclui,,[implib])
 WINE_CONFIG_DLL(activeds,,[implib])
diff --git a/documentation/Makefile.in b/documentation/Makefile.in
index f5a2b716c15..e3e6d40a523 100644
--- a/documentation/Makefile.in
+++ b/documentation/Makefile.in
@@ -4,5 +4,3 @@ install-man::
 
 clean::
 	$(RM) -r html api-guide api-guide-xml man$(api_manext)
-
-@MAKE_RULES@
diff --git a/fonts/Makefile.in b/fonts/Makefile.in
index bfb871417d0..8fd47495ec1 100644
--- a/fonts/Makefile.in
+++ b/fonts/Makefile.in
@@ -75,8 +75,6 @@ EXTRA_TARGETS = $(BITMAP_FONTS)
 
 all: $(BITMAP_FONTS)
 
-@MAKE_RULES@
-
 coure.fon: $(srcdir)/courier.ttf
 	$(SFNT2FNT) -o $@ -d 128 $(srcdir)/courier.ttf 13,1252,8
 
@@ -229,6 +227,8 @@ cvgasys.fon: $(srcdir)/system.ttf
 
 $(BITMAP_FONTS): $(SFNT2FNT)
 
+.PHONY: install install-lib uninstall
+
 install install-lib:: $(BITMAP_FONTS)
 	for i in $(BITMAP_FONTS); do $(INSTALL_DATA) $$i $(DESTDIR)$(fontdir)/$$i || exit 1; done
 	for i in $(TRUETYPE_FONTS); do $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(fontdir)/$$i || exit 1; done
diff --git a/include/Makefile.in b/include/Makefile.in
index 264622d571c..0d0dab6e2b0 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -632,12 +632,12 @@ SRCDIR_INCLUDES = \
 IDL_H_SRCS = $(PUBLIC_IDL_H_SRCS) $(PRIVATE_IDL_H_SRCS)
 IDL_SRCS = $(IDL_H_SRCS) $(IDL_TLB_SRCS)
 
-@MAKE_RULES@
-
 OBJDIR_INCLUDES = $(PUBLIC_IDL_H_SRCS:.idl=.h) $(XTEMPLATE_SRCS:.x=.h)
 
 all: $(IDL_H_SRCS:.idl=.h) $(IDL_TLB_SRCS:.idl=.tlb) $(XTEMPLATE_SRCS:.x=.h)
 
+.PHONY: install install-dev uninstall
+
 install install-dev:: $(OBJDIR_INCLUDES)
 	for f in $(SRCDIR_INCLUDES); do case $$f in \
 	  wine/*)   $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(includedir)/`expr $$f : 'wine/\(.*\)'` ;; \
diff --git a/libs/port/Makefile.in b/libs/port/Makefile.in
index 31d6773585e..65f171435a3 100644
--- a/libs/port/Makefile.in
+++ b/libs/port/Makefile.in
@@ -24,5 +24,3 @@ C_SRCS = \
 	strncasecmp.c \
 	symlink.c \
 	usleep.c
-
-@MAKE_RULES@
diff --git a/libs/wine/Makefile.in b/libs/wine/Makefile.in
index 7974285767c..f02ee10ff4d 100644
--- a/libs/wine/Makefile.in
+++ b/libs/wine/Makefile.in
@@ -104,12 +104,11 @@ config_EXTRADEFS = \
 	-DBIN_TO_DLLDIR=\"`$(MAKEDEP) -R ${bindir} ${dlldir}`\" \
 	-DBIN_TO_DATADIR=\"`$(MAKEDEP) -R ${bindir} ${datadir}/wine`\"
 
-@MAKE_RULES@
-
 version.c: dummy
 	version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-@PACKAGE_VERSION@") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1)
 
 # Make sure that make_makefiles sees the generated rules
+.PHONY: install install-lib install-dev uninstall
 install install-lib::
 install install-dev::
 clean::
diff --git a/libs/wpp/Makefile.in b/libs/wpp/Makefile.in
index 4855d986685..f6fb5400b7d 100644
--- a/libs/wpp/Makefile.in
+++ b/libs/wpp/Makefile.in
@@ -6,5 +6,3 @@ C_SRCS = \
 
 LEX_SRCS   = ppl.l
 BISON_SRCS = ppy.y
-
-@MAKE_RULES@
diff --git a/loader/Makefile.in b/loader/Makefile.in
index 48e41bbe4b4..665bdda8fa3 100644
--- a/loader/Makefile.in
+++ b/loader/Makefile.in
@@ -14,10 +14,9 @@ IN_SRCS = \
 	wine.inf.in \
 	wine_info.plist.in
 
-@MAKE_RULES@
-
 @LOADER_RULES@
 
 # Make sure that make_makefiles sees the generated rules
+.PHONY: install install-lib uninstall
 install install-lib::
 clean::
diff --git a/server/Makefile.in b/server/Makefile.in
index 3998f2f9ce5..158404617b7 100644
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -52,7 +52,7 @@ MANPAGES = \
 	wineserver.fr.UTF-8.man.in \
 	wineserver.man.in
 
-@MAKE_RULES@
+OBJS = $(C_SRCS:.c=.o)
 
 wineserver: $(OBJS)
 	$(CC) -o $@ $(OBJS) $(LIBWINE) $(LIBPORT) $(LDFLAGS) $(EXTRALIBS) $(LIBS) $(LDRPATH_LOCAL)
@@ -60,6 +60,8 @@ wineserver: $(OBJS)
 wineserver-installed: $(OBJS)
 	$(CC) -o $@ $(OBJS) $(LIBWINE) $(LIBPORT) $(LDFLAGS) $(EXTRALIBS) $(LIBS) $(LDRPATH_INSTALL)
 
+.PHONY: install install-lib uninstall
+
 install install-lib:: wineserver-installed install-man-pages
 	$(INSTALL_PROGRAM) wineserver-installed $(DESTDIR)$(bindir)/wineserver
 
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 586301447b5..3ee8473b2d8 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -26,8 +26,6 @@ UPDATE_DESKTOP_DATABASE = update-desktop-database
 
 all: wineapploader
 
-@MAKE_RULES@
-
 make_ctests$(EXEEXT): make_ctests.o
 	$(CC) $(CFLAGS) -o $@ make_ctests.o $(LDFLAGS)
 
@@ -40,6 +38,8 @@ fnt2fon$(EXEEXT): fnt2fon.o
 sfnt2fnt$(EXEEXT): sfnt2fnt.o
 	$(CC) $(CFLAGS) -o $@ sfnt2fnt.o $(LIBWINE_STATIC) $(LIBPORT) $(LDFLAGS) $(FREETYPELIBS)
 
+.PHONY: install install-lib install-dev uninstall
+
 install install-lib::
 	$(INSTALL_DATA) $(srcdir)/wine.desktop $(DESTDIR)$(datadir)/applications/wine.desktop
 	-$(UPDATE_DESKTOP_DATABASE)
diff --git a/tools/make_makefiles b/tools/make_makefiles
index 4a0949e2702..7643dd46878 100755
--- a/tools/make_makefiles
+++ b/tools/make_makefiles
@@ -21,12 +21,6 @@
 
 use strict;
 
-# Make rules files
-my %makerules =
-(
- "MAKE_RULES" => "Make.rules",
-);
-
 # Programs that we want to install in the bin directory too
 my %bin_install =
 (
@@ -263,12 +257,6 @@ sub parse_makefile($)
         while (/\\$/) { chop; $_ .= <MAKE>; chomp; }  # merge continued lines
         next if (/^\s*$/);
 
-        if (/^\@(MAKE.*RULES)\@/)
-        {
-            my $var = $1;
-            $make{"=rules"} = $makerules{$var} || $var;
-            next;
-        }
         if (/^\s*(MODULE|IMPORTLIB|TESTDLL|PARENTSRC|APPMODE)\s*=\s*(.*)/)
         {
             my $var = $1;
@@ -472,15 +460,6 @@ sub update_makefiles(@)
 {
     my (@lines);
 
-    foreach my $var (sort { $makerules{$a} cmp $makerules{$b}; } keys %makerules)
-    {
-        my $file = $makerules{$var};
-        my %make = %{$makefiles{$file}};
-        my $rules = $make{"=rules"} ? ",[$make{\"=rules\"}]" : "";
-        push @lines, "WINE_CONFIG_MAKERULES([$file],[$var]$rules)\n";
-    }
-    push @lines, "\n";
-
     foreach my $file (sort @_)
     {
         my %make = %{$makefiles{$file}};
@@ -584,7 +563,7 @@ sub update_makefiles(@)
     }
 
     push @lines, "dnl End of auto-generated output commands\n";
-    replace_in_file( "configure.ac", '^WINE_CONFIG_MAKERULES', '^dnl End of auto-generated output commands\n$', @lines);
+    replace_in_file( "configure.ac", '^WINE_CONFIG_DLL', '^dnl End of auto-generated output commands\n$', @lines);
 }
 
 
@@ -603,7 +582,7 @@ my @all_files = split /\0/, `git ls-files -c -z`;
 @linguas = map { (my $ret = $_) =~ s/^po\/(.*)\.po/$1/; $ret; } grep /^po\/.*\.po$/, @all_files;
 @makefiles = map { (my $ret = $_) =~ s/\.in$//; $ret; } grep /Makefile.in$/, @all_files;
 
-foreach my $file (sort values %makerules, @makefiles)
+foreach my $file (sort @makefiles)
 {
     my %make = parse_makefile( $file );
     $makefiles{$file} = \%make;
diff --git a/tools/widl/Makefile.in b/tools/widl/Makefile.in
index 007dd3fe824..a57f54fb622 100644
--- a/tools/widl/Makefile.in
+++ b/tools/widl/Makefile.in
@@ -21,11 +21,13 @@ BISON_SRCS = parser.y
 
 widl_EXTRADEFS = -DDEFAULT_INCLUDE_DIR=\"${includedir}/windows/\"
 
-@MAKE_RULES@
+OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o)
 
 widl$(EXEEXT): $(OBJS) $(LIBWPP)
 	$(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBWPP) $(LIBPORT) $(LDFLAGS)
 
+.PHONY: install install-dev uninstall
+
 install install-dev:: $(PROGRAMS) install-man-pages
 	$(INSTALL_PROGRAM) widl$(EXEEXT) $(DESTDIR)$(bindir)/widl$(EXEEXT)
 
diff --git a/tools/winebuild/Makefile.in b/tools/winebuild/Makefile.in
index 638e3e59719..f5f460302c3 100644
--- a/tools/winebuild/Makefile.in
+++ b/tools/winebuild/Makefile.in
@@ -12,11 +12,13 @@ C_SRCS = \
 	spec32.c \
 	utils.c
 
-@MAKE_RULES@
+OBJS = $(C_SRCS:.c=.o)
 
 winebuild$(EXEEXT): $(OBJS)
 	$(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBPORT) $(LDFLAGS)
 
+.PHONY: install install-dev uninstall
+
 install install-dev:: $(PROGRAMS) install-man-pages
 	$(INSTALL_PROGRAM) winebuild$(EXEEXT) $(DESTDIR)$(bindir)/winebuild$(EXEEXT)
 
diff --git a/tools/winedump/Makefile.in b/tools/winedump/Makefile.in
index d5f0e7bfeaf..7b925c35072 100644
--- a/tools/winedump/Makefile.in
+++ b/tools/winedump/Makefile.in
@@ -23,11 +23,13 @@ C_SRCS = \
 	symbol.c \
 	tlb.c
 
-@MAKE_RULES@
+OBJS = $(C_SRCS:.c=.o)
 
 winedump$(EXEEXT): $(OBJS)
 	$(CC) $(CFLAGS) -o winedump$(EXEEXT) $(OBJS) $(LIBPORT) $(LDFLAGS)
 
+.PHONY: install install-dev uninstall
+
 install install-dev:: $(PROGRAMS) install-man-pages
 	$(INSTALL_PROGRAM) winedump$(EXEEXT) $(DESTDIR)$(bindir)/winedump$(EXEEXT)
 	$(INSTALL_SCRIPT) $(srcdir)/function_grep.pl $(DESTDIR)$(bindir)/function_grep.pl
diff --git a/tools/winegcc/Makefile.in b/tools/winegcc/Makefile.in
index d922a54556a..bb7e4a23677 100644
--- a/tools/winegcc/Makefile.in
+++ b/tools/winegcc/Makefile.in
@@ -18,14 +18,14 @@ winegcc_EXTRADEFS = \
 	-DCXX="\"@CXX@\"" \
 	-DPRELINK="\"$(PRELINK)\""
 
-@MAKE_RULES@
-
 winegcc$(EXEEXT): winegcc.o utils.o
 	$(CC) $(CFLAGS) -o $@ winegcc.o utils.o $(LIBPORT) $(LDFLAGS)
 
 winecpp$(EXEEXT) wineg++$(EXEEXT): winegcc$(EXEEXT)
 	$(RM) $@ && $(LN_S) winegcc$(EXEEXT) $@
 
+.PHONY: install install-dev uninstall
+
 install install-dev:: $(PROGRAMS) install-man-pages
 	$(INSTALL_PROGRAM) winegcc$(EXEEXT) $(DESTDIR)$(bindir)/winegcc$(EXEEXT)
 	cd $(DESTDIR)$(bindir) && $(RM) wineg++$(EXEEXT) && $(LN_S) winegcc$(EXEEXT) wineg++$(EXEEXT)
diff --git a/tools/wmc/Makefile.in b/tools/wmc/Makefile.in
index e2adaf48f4d..8efe2a7bad0 100644
--- a/tools/wmc/Makefile.in
+++ b/tools/wmc/Makefile.in
@@ -12,11 +12,13 @@ C_SRCS = \
 
 BISON_SRCS = mcy.y
 
-@MAKE_RULES@
+OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o)
 
 wmc$(EXEEXT): $(OBJS)
 	$(CC) $(CFLAGS) -o $@ $(OBJS) $(ALL_LIBS) $(LDFLAGS)
 
+.PHONY: install install-dev uninstall
+
 install install-dev:: wmc$(EXEEXT) install-man-pages
 	$(INSTALL_PROGRAM) wmc$(EXEEXT) $(DESTDIR)$(bindir)/wmc$(EXEEXT)
 
diff --git a/tools/wrc/Makefile.in b/tools/wrc/Makefile.in
index 9e3a526902b..6c92332e5ae 100644
--- a/tools/wrc/Makefile.in
+++ b/tools/wrc/Makefile.in
@@ -18,11 +18,13 @@ BISON_SRCS = parser.y
 
 wrc_EXTRADEFS = -DINCLUDEDIR="\"${includedir}\""
 
-@MAKE_RULES@
+OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o)
 
 wrc$(EXEEXT): $(OBJS) $(LIBWPP)
 	$(CC) $(CFLAGS) -o $@ $(OBJS) $(ALL_LIBS) $(LDFLAGS)
 
+.PHONY: install install-dev uninstall
+
 install install-dev:: wrc$(EXEEXT) install-man-pages
 	$(INSTALL_PROGRAM) wrc$(EXEEXT) $(DESTDIR)$(bindir)/wrc$(EXEEXT)
 
-- 
GitLab