[PATCH 1/4] tools/makedep: extend submodule in testdll to support exe as well as dll

Eric Pouech eric.pouech at gmail.com
Thu Feb 10 08:55:09 CST 2022


Signed-off-by: Eric Pouech <eric.pouech at gmail.com>

---
 tools/makedep.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/tools/makedep.c b/tools/makedep.c
index d5b30b606b8..6f94dc4da1d 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -2951,6 +2951,8 @@ static void output_source_spec( struct makefile *make, struct incl_file *source,
 {
     struct strarray imports = get_expanded_file_local_var( make, obj, "IMPORTS" );
     struct strarray dll_flags = get_expanded_file_local_var( make, obj, "EXTRADLLFLAGS" );
+    unsigned is_exe = strarray_exists( &dll_flags, "-mconsole" ) ||
+                      strarray_exists( &dll_flags, "-mwindows" );
     struct strarray all_libs, dep_libs = empty_strarray;
     char *dll_name, *obj_name, *output_file;
     const char *debug_file;
@@ -2960,7 +2962,7 @@ static void output_source_spec( struct makefile *make, struct incl_file *source,
     if (!strarray_exists( &dll_flags, "-nodefaultlibs" )) imports = add_default_imports( make, imports );
 
     all_libs = add_import_libs( make, &dep_libs, imports, 0, make->is_cross );
-    dll_name = strmake( "%s.dll%s", obj, make->is_cross ? "" : dll_ext );
+    dll_name = strmake( "%s.%s%s", obj, is_exe ? "exe" : "dll", make->is_cross ? "" : dll_ext );
     obj_name = strmake( "%s%s", obj_dir_path( make, obj ), make->is_cross ? ".cross.o" : ".o" );
     output_file = obj_dir_path( make, dll_name );
 
@@ -2970,8 +2972,8 @@ static void output_source_spec( struct makefile *make, struct incl_file *source,
     output_filename( obj_dir_path( make, dll_name ));
     output_filename( tools_path( make, "wrc" ));
     output( "\n" );
-    output( "\t%secho \"%s.dll TESTDLL \\\"%s\\\"\" | %s -u -o $@\n", cmd_prefix( "WRC" ), obj, output_file,
-            tools_path( make, "wrc" ));
+    output( "\t%secho \"%s.%s TESTDLL \\\"%s\\\"\" | %s -u -o $@\n", cmd_prefix( "WRC" ), obj,
+            is_exe ? "exe" : "dll", output_file, tools_path( make, "wrc" ));
 
     output( "%s:", output_file);
     output_filename( source->filename );
@@ -2983,7 +2985,7 @@ static void output_source_spec( struct makefile *make, struct incl_file *source,
     output_winegcc_command( make, make->is_cross );
     output_filename( "-s" );
     output_filenames( dll_flags );
-    output_filename( "-shared" );
+    if (!is_exe) output_filename( "-shared" );
     output_filename( source->filename );
     output_filename( obj_name );
     if ((debug_file = get_debug_file( make, dll_name )))




More information about the wine-devel mailing list