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