Alexandre Julliard : makedep: Output source dependency for bison files needed for parallel makes.

Alexandre Julliard julliard at winehq.org
Tue Mar 16 11:49:20 CDT 2010


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Mar 16 13:27:51 2010 +0100

makedep: Output source dependency for bison files needed for parallel makes.

---

 tools/makedep.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/tools/makedep.c b/tools/makedep.c
index c3b8720..9ce5bef 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -262,6 +262,18 @@ static INCL_FILE *find_src_file( const char *name )
 }
 
 /*******************************************************************
+ *         find_include_file
+ */
+static INCL_FILE *find_include_file( const char *name )
+{
+    INCL_FILE *file;
+
+    LIST_FOR_EACH_ENTRY( file, &includes, INCL_FILE, entry )
+        if (!strcmp( name, file->name )) return file;
+    return NULL;
+}
+
+/*******************************************************************
  *         add_include
  *
  * Add an include file if it doesn't already exists.
@@ -829,6 +841,10 @@ static int output_src( FILE *file, INCL_FILE *pFile, int *column )
         *ext++ = 0;
         if (!strcmp( ext, "y" ))  /* yacc file */
         {
+            /* add source file dependency for parallel makes */
+            char *header = strmake( "%s.tab.h", obj );
+            if (find_include_file( header )) fprintf( file, "%s.tab.c: %s\n", obj, header );
+            free( header );
             *column += fprintf( file, "%s.tab.o: %s.tab.c", obj, obj );
         }
         else if (!strcmp( ext, "l" ))  /* lex file */




More information about the wine-cvs mailing list