Alexandre Julliard : makefiles: Generate the tools dependencies from makedep.

Alexandre Julliard julliard at winehq.org
Mon Mar 5 16:14:31 CST 2018


Module: wine
Branch: master
Commit: 431b6459989569a032ee50fe71b101c6aeacce5c
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=431b6459989569a032ee50fe71b101c6aeacce5c

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Sun Mar  4 22:27:23 2018 +0100

makefiles: Generate the tools dependencies from makedep.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 Makefile.in     | 13 +++----------
 aclocal.m4      |  9 +--------
 configure       | 13 ++++---------
 configure.ac    |  4 +++-
 tools/makedep.c | 32 ++++++++++++++++++++++++++++++++
 5 files changed, 43 insertions(+), 28 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 791bb84..6b65fdf 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -74,7 +74,6 @@ CROSSTARGET     = @CROSSTARGET@
 SUBDIRS         = @SUBDIRS@
 RUNTESTFLAGS    = -q -P wine
 MAKEDEP         = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
-WINEBUILD       = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT)
 WRC             = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT)
 PACKAGE_VERSION = @PACKAGE_VERSION@
 SED_CMD         = LC_ALL=C sed -e 's, at bindir\@,$(bindir),g' -e 's, at dlldir\@,$(dlldir),g' -e 's, at srcdir\@,$(srcdir),g' -e 's, at PACKAGE_STRING\@, at PACKAGE_STRING@,g' -e 's, at PACKAGE_VERSION\@, at PACKAGE_VERSION@,g'
@@ -128,18 +127,12 @@ install-manpages:: manpages
 # Dependencies between directories
 
 # dependencies needed to build any dll or program
-__tooldeps__: libs/port libs/wpp
+__tooldeps__: libs/wpp
 __builddeps__: __tooldeps__ libs/wine include po
-.PHONY: depend dummy __tooldeps__ install install-lib install-dev
+.PHONY: depend dummy install install-lib install-dev
 
 dummy:
-loader: libs/port libs/wine tools
-server: libs/port libs/wine tools include
-fonts: tools/sfnt2fon
-include: tools tools/widl
-libs/wine tools: libs/port
-tools/sfnt2fon tools/wmc tools/wrc: tools
-tools/widl tools/wmc tools/wrc: libs/wpp
+server: include
 libs/port libs/wine libs/wpp: include/config.h
 
 # Misc rules
diff --git a/aclocal.m4 b/aclocal.m4
index 15ad1fe..c0bdd55 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -286,15 +286,8 @@ wine_fn_config_test ()
 wine_fn_config_tool ()
 {
     ac_dir=$[1]
-    AS_VAR_IF([enable_tools],[no],[wine_fn_append_file DISABLED_SUBDIRS $ac_dir; return])
-
+    AS_VAR_IF([enable_tools],[no],[return])
     wine_fn_all_rules
-
-    wine_fn_append_rule "__tooldeps__: $ac_dir"
-    wine_fn_append_rule "$ac_dir: libs/port"
-    case $ac_dir in
-      tools/winebuild) wine_fn_append_rule "\$(WINEBUILD): $ac_dir" ;;
-    esac
 }
 
 wine_fn_config_symlink ()
diff --git a/configure b/configure
index 3dd1b6b..be00e57 100755
--- a/configure
+++ b/configure
@@ -7805,16 +7805,9 @@ wine_fn_config_tool ()
 {
     ac_dir=$1
     if test "x$enable_tools" = xno; then :
-  wine_fn_append_file DISABLED_SUBDIRS $ac_dir; return
+  return
 fi
-
     wine_fn_all_rules
-
-    wine_fn_append_rule "__tooldeps__: $ac_dir"
-    wine_fn_append_rule "$ac_dir: libs/port"
-    case $ac_dir in
-      tools/winebuild) wine_fn_append_rule "\$(WINEBUILD): $ac_dir" ;;
-    esac
 }
 
 wine_fn_config_symlink ()
@@ -19348,7 +19341,9 @@ if test "x$enable_tools" != xno
 then
     wine_fn_append_rule "tools/makedep$ac_exeext: $srcdir/tools/makedep.c include/config.h config.status
 	@./config.status tools/makedep
-Makefile: tools/makedep$ac_exeext"
+Makefile: tools/makedep$ac_exeext
+fonts: tools/sfnt2fon
+include: tools tools/widl"
 else
     wine_fn_append_rule "\$(MAKEDEP):
 	@echo \"You need to run make in $TOOLSDIR first\" && false"
diff --git a/configure.ac b/configure.ac
index 5d09075..819a921 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3954,7 +3954,9 @@ then
     WINE_APPEND_RULE(
 [tools/makedep$ac_exeext: $srcdir/tools/makedep.c include/config.h config.status
 	@./config.status tools/makedep
-Makefile: tools/makedep$ac_exeext])
+Makefile: tools/makedep$ac_exeext
+fonts: tools/sfnt2fon
+include: tools tools/widl])
 else
     WINE_APPEND_RULE(
 [\$(MAKEDEP):
diff --git a/tools/makedep.c b/tools/makedep.c
index 658d47f..57adf0b 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -3409,6 +3409,7 @@ static void output_subdirs( struct makefile *make )
     struct strarray testclean_files = empty_strarray;
     struct strarray distclean_files = empty_strarray;
     struct strarray tools_deps = empty_strarray;
+    struct strarray tooldeps_deps = empty_strarray;
     struct strarray winetest_deps = empty_strarray;
     struct strarray crosstest_deps = empty_strarray;
     unsigned int i, j;
@@ -3509,6 +3510,30 @@ static void output_subdirs( struct makefile *make )
                 strarray_add( &builddeps_deps, target );
             }
         }
+        else
+        {
+            if (!strcmp( submake->base_dir, "tools" ) || !strncmp( submake->base_dir, "tools/", 6 ))
+            {
+                strarray_add( &tooldeps_deps, submake->base_dir );
+                for (j = 0; j < submake->programs.count; j++)
+                    output( "%s/%s%s: %s\n", submake->base_dir,
+                            submake->programs.str[j], tools_ext, submake->base_dir );
+            }
+            if (submake->programs.count || submake->sharedlib)
+            {
+                struct strarray libs = get_expanded_make_var_array( submake, "EXTRALIBS" );
+                for (j = 0; j < submake->programs.count; j++)
+                    strarray_addall( &libs, get_expanded_file_local_var( submake,
+                                                                    submake->programs.str[j], "LDFLAGS" ));
+                output( "%s: libs/port", submake->base_dir );
+                for (j = 0; j < libs.count; j++)
+                {
+                    if (!strcmp( libs.str[j], "-lwpp" )) output_filename( "libs/wpp" );
+                    if (!strcmp( libs.str[j], "-lwine" )) output_filename( "libs/wine" );
+                }
+                output( "\n" );
+            }
+        }
 
         if (submake->install_rules[INSTALL_LIB].count)
         {
@@ -3532,6 +3557,13 @@ static void output_subdirs( struct makefile *make )
     output( "\n" );
     output_filenames( makefile_deps );
     output( ":\n" );
+    if (tooldeps_deps.count)
+    {
+        output( "__tooldeps__:" );
+        output_filenames( tooldeps_deps );
+        output( "\n" );
+        strarray_add( &make->phony_targets, "__tooldeps__" );
+    }
     if (winetest_deps.count)
     {
         output( "programs/winetest:" );




More information about the wine-cvs mailing list