From 133d4cde265cee06c6cebfb8665e0ced6cf80498 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 16 Mar 2010 13:27:51 +0100 Subject: [PATCH] makedep: Output source dependency for bison files needed for parallel makes. --- tools/makedep.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tools/makedep.c b/tools/makedep.c index c3b872019a7..9ce5befba3a 100644 --- a/tools/makedep.c +++ b/tools/makedep.c @@ -261,6 +261,18 @@ static INCL_FILE *find_src_file( const char *name ) return NULL; } +/******************************************************************* + * 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 * @@ -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 */