Alexandre Julliard : makefiles: Get rid of the support for updating a makefile in place.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Oct 23 09:57:28 CDT 2015


Module: wine
Branch: master
Commit: 6222e49c37c1fa9120bd3eff6fc48dc902f2d312
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=6222e49c37c1fa9120bd3eff6fc48dc902f2d312

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Oct 23 15:03:11 2015 +0900

makefiles: Get rid of the support for updating a makefile in place.

We always regenerate the makefile first nowadays.

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

---

 tools/makedep.c | 49 ++++++++++++++++---------------------------------
 1 file changed, 16 insertions(+), 33 deletions(-)

diff --git a/tools/makedep.c b/tools/makedep.c
index 119294b..104711e 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -172,7 +172,6 @@ struct makefile
 static struct makefile *top_makefile;
 
 static const char *makefile_name = "Makefile";
-static const char *Separator = "### Dependencies";
 static const char *input_file_name;
 static const char *output_file_name;
 static const char *temp_file_name;
@@ -185,8 +184,7 @@ static const char Usage[] =
     "Usage: makedep [options] directories\n"
     "Options:\n"
     "   -R from to  Compute the relative path between two directories\n"
-    "   -fxxx       Store output in file 'xxx' (default: Makefile)\n"
-    "   -sxxx       Use 'xxx' as separator (default: \"### Dependencies\")\n";
+    "   -fxxx       Store output in file 'xxx' (default: Makefile)\n";
 
 
 #ifndef __GNUC__
@@ -2534,38 +2532,27 @@ static void output_top_variables( struct makefile *make )
 /*******************************************************************
  *         output_dependencies
  */
-static void output_dependencies( struct makefile *make, const char *path )
+static void output_dependencies( struct makefile *make )
 {
     struct strarray targets, testlist_files = empty_strarray, ignore_files = empty_strarray;
+    char buffer[1024];
     FILE *src_file;
 
-    if (Separator && ((src_file = fopen( path, "r" ))))
-    {
-        char buffer[1024];
-        int found = 0;
+    output_file_name = base_dir_path( make, makefile_name );
+    output_file = create_temp_file( output_file_name );
+    output_top_variables( make );
 
-        output_file = create_temp_file( path );
-        output_top_variables( make );
-        while (fgets( buffer, sizeof(buffer), src_file ) && !found)
-        {
-            if (fwrite( buffer, 1, strlen(buffer), output_file ) != strlen(buffer)) fatal_perror( "write" );
-            found = !strncmp( buffer, Separator, strlen(Separator) );
-        }
-        if (fclose( src_file )) fatal_perror( "close" );
-        if (!found) output( "\n%s\n", Separator );
-    }
-    else
-    {
-        if (!(output_file = fopen( path, Separator ? "a" : "w" )))
-            fatal_perror( "%s", path );
-        output_top_variables( make );
-    }
+    /* copy the contents of the source makefile */
+    if (!(src_file = fopen( output_file_name, "r" ))) fatal_perror( "open" );
+    while (fgets( buffer, sizeof(buffer), src_file ))
+        if (fwrite( buffer, 1, strlen(buffer), output_file ) != strlen(buffer)) fatal_perror( "write" );
+    if (fclose( src_file )) fatal_perror( "close" );
 
     targets = output_sources( make, &testlist_files );
 
     fclose( output_file );
     output_file = NULL;
-    if (temp_file_name) rename_temp_file( path );
+    rename_temp_file( output_file_name );
 
     strarray_add( &ignore_files, ".gitignore" );
     strarray_add( &ignore_files, "Makefile" );
@@ -2576,6 +2563,8 @@ static void output_dependencies( struct makefile *make, const char *path )
         output_testlist( base_dir_path( make, "testlist.c" ), testlist_files );
     if (!make->src_dir && make->base_dir)
         output_gitignore( base_dir_path( make, ".gitignore" ), ignore_files );
+
+    output_file_name = NULL;
 }
 
 
@@ -2606,7 +2595,7 @@ static void update_makefile( const char *path )
     struct incl_file *file;
     struct makefile *make;
 
-    make = parse_makefile( path, Separator );
+    make = parse_makefile( path, NULL );
 
     if (root_src_dir)
     {
@@ -2671,9 +2660,7 @@ static void update_makefile( const char *path )
 
     LIST_FOR_EACH_ENTRY( file, &make->includes, struct incl_file, entry ) parse_file( make, file, 0 );
 
-    output_file_name = base_dir_path( make, makefile_name );
-    output_dependencies( make, output_file_name );
-    output_file_name = NULL;
+    output_dependencies( make );
 }
 
 
@@ -2718,10 +2705,6 @@ static int parse_option( const char *opt )
     case 'R':
         relative_dir_mode = 1;
         break;
-    case 's':
-        if (opt[2]) Separator = opt + 2;
-        else Separator = NULL;
-        break;
     default:
         fprintf( stderr, "Unknown option '%s'\n%s", opt, Usage );
         exit(1);




More information about the wine-cvs mailing list