Alexandre Julliard : makefiles: Store .pot files in a separate variable.

Alexandre Julliard julliard at winehq.org
Wed Sep 9 15:42:28 CDT 2020


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Sep  9 11:46:00 2020 +0200

makefiles: Store .pot files in a separate variable.

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

---

 tools/makedep.c | 34 ++++++++++++----------------------
 1 file changed, 12 insertions(+), 22 deletions(-)

diff --git a/tools/makedep.c b/tools/makedep.c
index e17bf24c41..b4576d94f4 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -208,6 +208,7 @@ struct makefile
     /* values generated at output time */
     struct strarray in_files;
     struct strarray ok_files;
+    struct strarray pot_files;
     struct strarray clean_files;
     struct strarray distclean_files;
     struct strarray uninstall_files;
@@ -2657,32 +2658,18 @@ static void output_po_files( const struct makefile *make )
 {
     const char *po_dir = src_dir_path( make, "po" );
     struct strarray pot_files = empty_strarray;
-    struct incl_file *source;
-    unsigned int i;
+    unsigned int i, j;
 
     for (i = 0; i < make->subdirs.count; i++)
     {
         struct makefile *submake = make->submakes[i];
 
-        LIST_FOR_EACH_ENTRY( source, &submake->sources, struct incl_file, entry )
+        for (j = 0; j < submake->pot_files.count; j++)
         {
-            if (source->file->flags & FLAG_PARENTDIR) continue;
-            if (strendswith( source->name, ".rc" ) && (source->file->flags & FLAG_RC_PO))
-            {
-                char *pot_file = replace_extension( source->name, ".rc", ".pot" );
-                char *pot_path = base_dir_path( submake, pot_file );
-                output( "%s: tools/wrc include dummy\n", pot_path );
-                output( "\t at cd %s && $(MAKE) %s\n", base_dir_path( submake, "" ), pot_file );
-                strarray_add( &pot_files, pot_path );
-            }
-            else if (strendswith( source->name, ".mc" ))
-            {
-                char *pot_file = replace_extension( source->name, ".mc", ".pot" );
-                char *pot_path = base_dir_path( submake, pot_file );
-                output( "%s: tools/wmc include dummy\n", pot_path );
-                output( "\t at cd %s && $(MAKE) %s\n", base_dir_path( submake, "" ), pot_file );
-                strarray_add( &pot_files, pot_path );
-            }
+            char *pot_path = base_dir_path( submake, submake->pot_files.str[j] );
+            output( "%s: dummy\n", pot_path );
+            output( "\t at cd %s && $(MAKE) %s\n", base_dir_path( submake, "" ), submake->pot_files.str[j] );
+            strarray_add( &pot_files, pot_path );
         }
     }
     if (linguas.count)
@@ -2697,6 +2684,8 @@ static void output_po_files( const struct makefile *make )
             output_filename( strmake( "%s/%s.po", po_dir, linguas.str[i] ));
         output( "\n" );
     }
+    output_filenames( pot_files );
+    output( ": tools/wrc tools/wmc include\n" );
     output( "%s/wine.pot:", po_dir );
     output_filenames( pot_files );
     output( "\n" );
@@ -2766,7 +2755,7 @@ static void output_source_rc( struct makefile *make, struct incl_file *source, c
     strarray_add( &make->res_files, strmake( "%s.res", obj ));
     if (source->file->flags & FLAG_RC_PO && !(source->file->flags & FLAG_PARENTDIR))
     {
-        strarray_add( &make->clean_files, strmake( "%s.pot", obj ));
+        strarray_add( &make->pot_files, strmake( "%s.pot", obj ));
         output( "%s.pot ", obj_dir_path( make, obj ) );
     }
     output( "%s.res: %s", obj_dir_path( make, obj ), source->filename );
@@ -2800,7 +2789,7 @@ static void output_source_mc( struct makefile *make, struct incl_file *source, c
     char *obj_path = obj_dir_path( make, obj );
 
     strarray_add( &make->res_files, strmake( "%s.res", obj ));
-    strarray_add( &make->clean_files, strmake( "%s.pot", obj ));
+    strarray_add( &make->pot_files, strmake( "%s.pot", obj ));
     output( "%s.pot %s.res: %s", obj_path, obj_path, source->filename );
     output_filename( tools_path( make, "wmc" ));
     output_filenames( source->dependencies );
@@ -3977,6 +3966,7 @@ static void output_sources( struct makefile *make )
     strarray_addall( &make->clean_files, make->crossobj_files );
     strarray_addall( &make->clean_files, make->unixobj_files );
     strarray_addall( &make->clean_files, make->res_files );
+    strarray_addall( &make->clean_files, make->pot_files );
     strarray_addall( &make->clean_files, make->debug_files );
     strarray_addall( &make->clean_files, make->all_targets );
     strarray_addall( &make->clean_files, make->extra_targets );




More information about the wine-cvs mailing list