Module: wine Branch: master Commit: 133d4cde265cee06c6cebfb8665e0ced6cf80498 URL: http://source.winehq.org/git/wine.git/?a=commit;h=133d4cde265cee06c6cebfb866...
Author: Alexandre Julliard julliard@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 */