makedep: Added support for dlldata.c dependencies.

This commit is contained in:
Alexandre Julliard 2007-12-10 14:26:25 +01:00
parent b0585bf10f
commit b9966054cf
1 changed files with 28 additions and 20 deletions

View File

@ -241,24 +241,6 @@ static INCL_FILE *find_src_file( const char *name )
return NULL;
}
/*******************************************************************
* add_src_file
*
* Add a source file to the list.
*/
static INCL_FILE *add_src_file( const char *name )
{
INCL_FILE *file;
if (find_src_file( name )) return NULL; /* we already have it */
file = xmalloc( sizeof(*file) );
memset( file, 0, sizeof(*file) );
file->name = xstrdup(name);
list_add_tail( &sources, &file->entry );
return file;
}
/*******************************************************************
* add_include
*
@ -717,6 +699,11 @@ static void parse_generated_idl( INCL_FILE *source )
{
add_include( source, header, 0, 0 );
}
else if (!strcmp( source->name, "dlldata.c" ))
{
add_include( source, "objbase.h", 0, 1 );
add_include( source, "rpcproxy.h", 0, 1 );
}
free( header );
free( basename );
@ -733,7 +720,8 @@ static void parse_file( INCL_FILE *pFile, int src )
if (strendswith( pFile->name, "_c.c" ) ||
strendswith( pFile->name, "_i.c" ) ||
strendswith( pFile->name, "_p.c" ) ||
strendswith( pFile->name, "_s.c" ))
strendswith( pFile->name, "_s.c" ) ||
!strcmp( pFile->name, "dlldata.c" ))
{
parse_generated_idl( pFile );
return;
@ -757,6 +745,25 @@ static void parse_file( INCL_FILE *pFile, int src )
}
/*******************************************************************
* add_src_file
*
* Add a source file to the list.
*/
static INCL_FILE *add_src_file( const char *name )
{
INCL_FILE *file;
if (find_src_file( name )) return NULL; /* we already have it */
file = xmalloc( sizeof(*file) );
memset( file, 0, sizeof(*file) );
file->name = xstrdup(name);
list_add_tail( &sources, &file->entry );
parse_file( file, 1 );
return file;
}
/*******************************************************************
* output_include
*/
@ -954,7 +961,8 @@ int main( int argc, char *argv[] )
for (i = 1; i < argc; i++)
{
if ((pFile = add_src_file( argv[i] ))) parse_file( pFile, 1 );
add_src_file( argv[i] );
if (strendswith( argv[i], "_p.c" )) add_src_file( "dlldata.c" );
}
LIST_FOR_EACH_ENTRY( pFile, &includes, INCL_FILE, entry ) parse_file( pFile, 0 );
output_dependencies();