makefiles: Generate explicit build rules for testlist.c from makedep.

This commit is contained in:
Alexandre Julliard 2013-10-15 12:39:42 +02:00
parent d4593274dc
commit edf4dab5ef
2 changed files with 22 additions and 7 deletions

View File

@ -123,9 +123,6 @@ $(CROSSTESTMODULE): $(CROSSOBJS) Makefile.in
$(WINETEST_RES): $(TESTMODULE_STRIPPED)
echo "$(TESTMODULE) TESTRES \"$(TESTMODULE_STRIPPED)\"" | $(WRC) $(RCFLAGS) -o $@
testlist.c: Makefile.in $(MAKECTESTS)
$(MAKECTESTS) -o $@ $(C_SRCS)
testclean::
$(RM) *.ok

View File

@ -834,6 +834,17 @@ static void parse_generated_idl( struct incl_file *source )
free( basename );
}
/*******************************************************************
* is_generated_idl
*/
static int is_generated_idl( struct incl_file *source )
{
return (strendswith( source->name, "_c.c" ) ||
strendswith( source->name, "_i.c" ) ||
strendswith( source->name, "_p.c" ) ||
strendswith( source->name, "_s.c" ));
}
/*******************************************************************
* parse_file
*/
@ -842,10 +853,7 @@ static void parse_file( struct incl_file *source, int src )
FILE *file;
/* special case for source files generated from idl */
if (strendswith( source->name, "_c.c" ) ||
strendswith( source->name, "_i.c" ) ||
strendswith( source->name, "_p.c" ) ||
strendswith( source->name, "_s.c" ))
if (is_generated_idl( source ))
{
parse_generated_idl( source );
return;
@ -1106,6 +1114,16 @@ static void output_sources(void)
output_filename( source->filename, &column );
output( "\n" );
}
if (find_src_file( "testlist.o" ))
{
output( "testlist.c: $(MAKECTESTS) Makefile.in\n" );
column = output( "\t$(MAKECTESTS) -o $@" );
LIST_FOR_EACH_ENTRY( source, &sources, struct incl_file, entry )
if (strendswith( source->name, ".c" ) && !is_generated_idl( source ))
output_filename( source->filename, &column );
output( "\n" );
}
}