makedep: Manage generated source files explicitly instead of relying on name comparisons.
This commit is contained in:
parent
cab558b4bd
commit
47c0f64fdd
|
@ -7560,7 +7560,6 @@ distclean::
|
||||||
wine_fn_ignore_file "loader/wine"
|
wine_fn_ignore_file "loader/wine"
|
||||||
test "$wine_binary" = wine || wine_fn_ignore_file "loader/$wine_binary"
|
test "$wine_binary" = wine || wine_fn_ignore_file "loader/$wine_binary"
|
||||||
wine_fn_ignore_file "loader/wine-installed"
|
wine_fn_ignore_file "loader/wine-installed"
|
||||||
wine_fn_ignore_file "libs/wine/version.c"
|
|
||||||
|
|
||||||
LOADER_RULES="
|
LOADER_RULES="
|
||||||
all: $wine_binary wine-installed
|
all: $wine_binary wine-installed
|
||||||
|
@ -7710,7 +7709,7 @@ uninstall::
|
||||||
-cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.a libwine.dll
|
-cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.a libwine.dll
|
||||||
|
|
||||||
clean::
|
clean::
|
||||||
\$(RM) libwine.dll version.c
|
\$(RM) libwine.dll
|
||||||
"
|
"
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
@ -7910,7 +7909,7 @@ uninstall::
|
||||||
-cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.dylib libwine.\$(VERSION).dylib libwine.\$(SOVERSION).dylib
|
-cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.dylib libwine.\$(VERSION).dylib libwine.\$(SOVERSION).dylib
|
||||||
|
|
||||||
clean::
|
clean::
|
||||||
\$(RM) libwine.dylib libwine.\$(VERSION).dylib libwine.\$(SOVERSION).dylib version.c
|
\$(RM) libwine.dylib libwine.\$(VERSION).dylib libwine.\$(SOVERSION).dylib
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|
||||||
|
@ -8081,7 +8080,7 @@ uninstall::
|
||||||
\$(RM) \$(DESTDIR)\$(libdir)/libwine.so
|
\$(RM) \$(DESTDIR)\$(libdir)/libwine.so
|
||||||
|
|
||||||
clean::
|
clean::
|
||||||
\$(RM) libwine.so version.c
|
\$(RM) libwine.so
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|
||||||
|
@ -8443,7 +8442,7 @@ uninstall::
|
||||||
-cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.so libwine.so.\$(VERSION) libwine.so.\$(SOVERSION)
|
-cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.so libwine.so.\$(VERSION) libwine.so.\$(SOVERSION)
|
||||||
|
|
||||||
clean::
|
clean::
|
||||||
\$(RM) libwine.so.\$(SOVERSION) libwine.so.\$(VERSION) version.c
|
\$(RM) libwine.so.\$(SOVERSION) libwine.so.\$(VERSION)
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -687,7 +687,6 @@ test "x$enable_win64" != "xyes" || wine_binary="wine64"
|
||||||
WINE_IGNORE_FILE("loader/wine")
|
WINE_IGNORE_FILE("loader/wine")
|
||||||
test "$wine_binary" = wine || WINE_IGNORE_FILE("loader/$wine_binary")
|
test "$wine_binary" = wine || WINE_IGNORE_FILE("loader/$wine_binary")
|
||||||
WINE_IGNORE_FILE("loader/wine-installed")
|
WINE_IGNORE_FILE("loader/wine-installed")
|
||||||
WINE_IGNORE_FILE("libs/wine/version.c")
|
|
||||||
|
|
||||||
AC_SUBST(LOADER_RULES,["
|
AC_SUBST(LOADER_RULES,["
|
||||||
all: $wine_binary wine-installed
|
all: $wine_binary wine-installed
|
||||||
|
@ -747,7 +746,7 @@ uninstall::
|
||||||
-cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.a libwine.dll
|
-cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.a libwine.dll
|
||||||
|
|
||||||
clean::
|
clean::
|
||||||
\$(RM) libwine.dll version.c
|
\$(RM) libwine.dll
|
||||||
"])
|
"])
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
@ -879,7 +878,7 @@ uninstall::
|
||||||
-cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.dylib libwine.\$(VERSION).dylib libwine.\$(SOVERSION).dylib
|
-cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.dylib libwine.\$(VERSION).dylib libwine.\$(SOVERSION).dylib
|
||||||
|
|
||||||
clean::
|
clean::
|
||||||
\$(RM) libwine.dylib libwine.\$(VERSION).dylib libwine.\$(SOVERSION).dylib version.c
|
\$(RM) libwine.dylib libwine.\$(VERSION).dylib libwine.\$(SOVERSION).dylib
|
||||||
"])
|
"])
|
||||||
|
|
||||||
AS_VAR_APPEND([LOADER_RULES],["
|
AS_VAR_APPEND([LOADER_RULES],["
|
||||||
|
@ -929,7 +928,7 @@ uninstall::
|
||||||
\$(RM) \$(DESTDIR)\$(libdir)/libwine.so
|
\$(RM) \$(DESTDIR)\$(libdir)/libwine.so
|
||||||
|
|
||||||
clean::
|
clean::
|
||||||
\$(RM) libwine.so version.c
|
\$(RM) libwine.so
|
||||||
"])
|
"])
|
||||||
|
|
||||||
AS_VAR_APPEND([LOADER_RULES],["
|
AS_VAR_APPEND([LOADER_RULES],["
|
||||||
|
@ -1022,7 +1021,7 @@ uninstall::
|
||||||
-cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.so libwine.so.\$(VERSION) libwine.so.\$(SOVERSION)
|
-cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.so libwine.so.\$(VERSION) libwine.so.\$(SOVERSION)
|
||||||
|
|
||||||
clean::
|
clean::
|
||||||
\$(RM) libwine.so.\$(SOVERSION) libwine.so.\$(VERSION) version.c
|
\$(RM) libwine.so.\$(SOVERSION) libwine.so.\$(VERSION)
|
||||||
"])
|
"])
|
||||||
|
|
||||||
AS_VAR_APPEND([LOADER_RULES],["
|
AS_VAR_APPEND([LOADER_RULES],["
|
||||||
|
|
246
tools/makedep.c
246
tools/makedep.c
|
@ -51,16 +51,17 @@ struct incl_file
|
||||||
};
|
};
|
||||||
|
|
||||||
#define FLAG_SYSTEM 0x0001 /* is it a system include (#include <name>) */
|
#define FLAG_SYSTEM 0x0001 /* is it a system include (#include <name>) */
|
||||||
#define FLAG_IDL_PROXY 0x0002 /* generates a proxy (_p.c) file */
|
#define FLAG_GENERATED 0x0002 /* generated file */
|
||||||
#define FLAG_IDL_CLIENT 0x0004 /* generates a client (_c.c) file */
|
#define FLAG_IDL_PROXY 0x0004 /* generates a proxy (_p.c) file */
|
||||||
#define FLAG_IDL_SERVER 0x0008 /* generates a server (_s.c) file */
|
#define FLAG_IDL_CLIENT 0x0008 /* generates a client (_c.c) file */
|
||||||
#define FLAG_IDL_IDENT 0x0010 /* generates an ident (_i.c) file */
|
#define FLAG_IDL_SERVER 0x0010 /* generates a server (_s.c) file */
|
||||||
#define FLAG_IDL_REGISTER 0x0020 /* generates a registration (_r.res) file */
|
#define FLAG_IDL_IDENT 0x0020 /* generates an ident (_i.c) file */
|
||||||
#define FLAG_IDL_TYPELIB 0x0040 /* generates a typelib (.tlb) file */
|
#define FLAG_IDL_REGISTER 0x0040 /* generates a registration (_r.res) file */
|
||||||
#define FLAG_IDL_REGTYPELIB 0x0080 /* generates a registered typelib (_t.res) file */
|
#define FLAG_IDL_TYPELIB 0x0080 /* generates a typelib (.tlb) file */
|
||||||
#define FLAG_IDL_HEADER 0x0100 /* generates a header (.h) file */
|
#define FLAG_IDL_REGTYPELIB 0x0100 /* generates a registered typelib (_t.res) file */
|
||||||
#define FLAG_RC_PO 0x0200 /* rc file contains translations */
|
#define FLAG_IDL_HEADER 0x0200 /* generates a header (.h) file */
|
||||||
#define FLAG_C_IMPLIB 0x0400 /* file is part of an import library */
|
#define FLAG_RC_PO 0x0400 /* rc file contains translations */
|
||||||
|
#define FLAG_C_IMPLIB 0x0800 /* file is part of an import library */
|
||||||
|
|
||||||
static const struct
|
static const struct
|
||||||
{
|
{
|
||||||
|
@ -1039,48 +1040,6 @@ static void parse_in_file( struct incl_file *source, FILE *file )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************
|
|
||||||
* parse_generated_idl
|
|
||||||
*/
|
|
||||||
static void parse_generated_idl( struct incl_file *source )
|
|
||||||
{
|
|
||||||
source->filename = xstrdup( source->name );
|
|
||||||
|
|
||||||
if (strendswith( source->name, "_c.c" ))
|
|
||||||
{
|
|
||||||
add_include( source, replace_extension( source->name, "_c.c", ".h" ), 0 );
|
|
||||||
}
|
|
||||||
else if (strendswith( source->name, "_i.c" ))
|
|
||||||
{
|
|
||||||
add_include( source, "rpc.h", 1 );
|
|
||||||
add_include( source, "rpcndr.h", 1 );
|
|
||||||
add_include( source, "guiddef.h", 1 );
|
|
||||||
}
|
|
||||||
else if (strendswith( source->name, "_p.c" ))
|
|
||||||
{
|
|
||||||
add_include( source, "objbase.h", 1 );
|
|
||||||
add_include( source, "rpcproxy.h", 1 );
|
|
||||||
add_include( source, "wine/exception.h", 1 );
|
|
||||||
add_include( source, replace_extension( source->name, "_p.c", ".h" ), 0 );
|
|
||||||
}
|
|
||||||
else if (strendswith( source->name, "_s.c" ))
|
|
||||||
{
|
|
||||||
add_include( source, "wine/exception.h", 1 );
|
|
||||||
add_include( source, replace_extension( source->name, "_s.c", ".h" ), 0 );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*******************************************************************
|
|
||||||
* 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
|
* parse_file
|
||||||
*/
|
*/
|
||||||
|
@ -1132,72 +1091,11 @@ static struct incl_file *add_src_file( const char *name )
|
||||||
memset( file, 0, sizeof(*file) );
|
memset( file, 0, sizeof(*file) );
|
||||||
file->name = xstrdup(name);
|
file->name = xstrdup(name);
|
||||||
list_add_tail( &sources, &file->entry );
|
list_add_tail( &sources, &file->entry );
|
||||||
|
|
||||||
/* special cases for generated files */
|
|
||||||
|
|
||||||
if (is_generated_idl( file ))
|
|
||||||
{
|
|
||||||
parse_generated_idl( file );
|
|
||||||
return file;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!strcmp( file->name, "dlldata.o" ))
|
|
||||||
{
|
|
||||||
file->filename = xstrdup( "dlldata.c" );
|
|
||||||
add_include( file, "objbase.h", 1 );
|
|
||||||
add_include( file, "rpcproxy.h", 1 );
|
|
||||||
return file;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!strcmp( file->name, "testlist.o" ))
|
|
||||||
{
|
|
||||||
file->filename = xstrdup( "testlist.c" );
|
|
||||||
add_include( file, "wine/test.h", 1 );
|
|
||||||
return file;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (strendswith( file->name, ".o" ))
|
|
||||||
{
|
|
||||||
/* default to .c for unknown extra object files */
|
|
||||||
file->filename = replace_extension( file->name, ".o", ".c" );
|
|
||||||
return file;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (strendswith( file->name, ".tlb" ) ||
|
|
||||||
strendswith( file->name, ".res" ) ||
|
|
||||||
strendswith( file->name, ".pot" ))
|
|
||||||
{
|
|
||||||
file->filename = xstrdup( file->name );
|
|
||||||
return file;
|
|
||||||
}
|
|
||||||
|
|
||||||
parse_file( file, 1 );
|
parse_file( file, 1 );
|
||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************
|
|
||||||
* add_generated_sources
|
|
||||||
*/
|
|
||||||
static void add_generated_sources(void)
|
|
||||||
{
|
|
||||||
unsigned int i;
|
|
||||||
struct incl_file *source, *next;
|
|
||||||
|
|
||||||
LIST_FOR_EACH_ENTRY_SAFE( source, next, &sources, struct incl_file, entry )
|
|
||||||
{
|
|
||||||
if (!source->flags) continue;
|
|
||||||
for (i = 0; i < sizeof(idl_outputs) / sizeof(idl_outputs[0]); i++)
|
|
||||||
{
|
|
||||||
if (!(source->flags & idl_outputs[i].flag)) continue;
|
|
||||||
if (!strendswith( idl_outputs[i].ext, ".c" )) continue;
|
|
||||||
add_src_file( replace_extension( source->name, ".idl", idl_outputs[i].ext ));
|
|
||||||
}
|
|
||||||
if (source->flags & FLAG_IDL_PROXY) add_src_file( "dlldata.o" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************
|
/*******************************************************************
|
||||||
* get_make_variable
|
* get_make_variable
|
||||||
*/
|
*/
|
||||||
|
@ -1336,6 +1234,91 @@ static void parse_makefile(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************
|
||||||
|
* add_generated_source
|
||||||
|
*
|
||||||
|
* Add a generated source file to the list.
|
||||||
|
*/
|
||||||
|
static struct incl_file *add_generated_source( const char *name, const char *filename )
|
||||||
|
{
|
||||||
|
struct incl_file *file;
|
||||||
|
|
||||||
|
if ((file = find_src_file( name ))) return file; /* we already have it */
|
||||||
|
file = xmalloc( sizeof(*file) );
|
||||||
|
memset( file, 0, sizeof(*file) );
|
||||||
|
file->name = xstrdup( name );
|
||||||
|
file->filename = xstrdup( filename ? filename : name );
|
||||||
|
file->flags = FLAG_GENERATED;
|
||||||
|
list_add_tail( &sources, &file->entry );
|
||||||
|
return file;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************
|
||||||
|
* add_generated_sources
|
||||||
|
*/
|
||||||
|
static void add_generated_sources(void)
|
||||||
|
{
|
||||||
|
struct incl_file *source, *next, *file;
|
||||||
|
|
||||||
|
LIST_FOR_EACH_ENTRY_SAFE( source, next, &sources, struct incl_file, entry )
|
||||||
|
{
|
||||||
|
if (source->flags & FLAG_IDL_CLIENT)
|
||||||
|
{
|
||||||
|
file = add_generated_source( replace_extension( source->name, ".idl", "_c.c" ), NULL );
|
||||||
|
add_include( file, replace_extension( source->name, ".idl", ".h" ), 0 );
|
||||||
|
}
|
||||||
|
if (source->flags & FLAG_IDL_SERVER)
|
||||||
|
{
|
||||||
|
file = add_generated_source( replace_extension( source->name, ".idl", "_s.c" ), NULL );
|
||||||
|
add_include( file, "wine/exception.h", 0 );
|
||||||
|
add_include( file, replace_extension( source->name, ".idl", ".h" ), 0 );
|
||||||
|
}
|
||||||
|
if (source->flags & FLAG_IDL_IDENT)
|
||||||
|
{
|
||||||
|
file = add_generated_source( replace_extension( source->name, ".idl", "_i.c" ), NULL );
|
||||||
|
add_include( file, "rpc.h", 0 );
|
||||||
|
add_include( file, "rpcndr.h", 0 );
|
||||||
|
add_include( file, "guiddef.h", 0 );
|
||||||
|
}
|
||||||
|
if (source->flags & FLAG_IDL_PROXY)
|
||||||
|
{
|
||||||
|
file = add_generated_source( "dlldata.o", "dlldata.c" );
|
||||||
|
add_include( file, "objbase.h", 0 );
|
||||||
|
add_include( file, "rpcproxy.h", 0 );
|
||||||
|
file = add_generated_source( replace_extension( source->name, ".idl", "_p.c" ), NULL );
|
||||||
|
add_include( file, "objbase.h", 0 );
|
||||||
|
add_include( file, "rpcproxy.h", 0 );
|
||||||
|
add_include( file, "wine/exception.h", 0 );
|
||||||
|
add_include( file, replace_extension( source->name, ".idl", ".h" ), 0 );
|
||||||
|
}
|
||||||
|
if (source->flags & FLAG_IDL_REGTYPELIB)
|
||||||
|
{
|
||||||
|
add_generated_source( replace_extension( source->name, ".idl", "_t.res" ), NULL );
|
||||||
|
}
|
||||||
|
if (source->flags & FLAG_IDL_REGISTER)
|
||||||
|
{
|
||||||
|
add_generated_source( replace_extension( source->name, ".idl", "_r.res" ), NULL );
|
||||||
|
}
|
||||||
|
if (strendswith( source->name, ".y" ))
|
||||||
|
{
|
||||||
|
file = add_generated_source( replace_extension( source->name, ".y", ".tab.c" ), NULL );
|
||||||
|
memcpy( file->files, source->files, sizeof(file->files) );
|
||||||
|
}
|
||||||
|
if (strendswith( source->name, ".l" ))
|
||||||
|
{
|
||||||
|
file = add_generated_source( replace_extension( source->name, ".l", ".yy.c" ), NULL );
|
||||||
|
memcpy( file->files, source->files, sizeof(file->files) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (get_make_variable( "TESTDLL" ))
|
||||||
|
{
|
||||||
|
file = add_generated_source( "testlist.o", "testlist.c" );
|
||||||
|
add_include( file, "wine/test.h", 0 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************
|
/*******************************************************************
|
||||||
* output_include
|
* output_include
|
||||||
*/
|
*/
|
||||||
|
@ -1413,29 +1396,21 @@ static struct strarray output_sources(void)
|
||||||
else output( "%s.tab.c: %s\n", obj, sourcedep );
|
else output( "%s.tab.c: %s\n", obj, sourcedep );
|
||||||
|
|
||||||
output( "\t$(BISON) $(BISONFLAGS) -p %s_ -o $@ %s\n", obj, source->filename );
|
output( "\t$(BISON) $(BISONFLAGS) -p %s_ -o $@ %s\n", obj, source->filename );
|
||||||
output( "%s.tab.o: %s.tab.c\n", obj, obj );
|
|
||||||
output( "\t$(CC) -c $(includes) $(ALLCFLAGS) -o $@ %s.tab.c\n", obj );
|
|
||||||
strarray_add( &clean_files, strmake( "%s.tab.c", obj ));
|
|
||||||
strarray_add( &clean_files, strmake( "%s.tab.o", obj ));
|
|
||||||
column += output( "%s.tab.o:", obj );
|
|
||||||
free( header );
|
free( header );
|
||||||
|
continue; /* no dependencies */
|
||||||
}
|
}
|
||||||
else if (!strcmp( ext, "x" )) /* template file */
|
else if (!strcmp( ext, "x" )) /* template file */
|
||||||
{
|
{
|
||||||
output( "%s.h: $(MAKEXFTMPL) %s\n", obj, sourcedep );
|
output( "%s.h: $(MAKEXFTMPL) %s\n", obj, sourcedep );
|
||||||
output( "\t$(MAKEXFTMPL) -H -o $@ %s\n", source->filename );
|
output( "\t$(MAKEXFTMPL) -H -o $@ %s\n", source->filename );
|
||||||
strarray_add( &clean_files, strmake( "%s.h", obj ));
|
strarray_add( &clean_files, strmake( "%s.h", obj ));
|
||||||
continue;
|
continue; /* no dependencies */
|
||||||
}
|
}
|
||||||
else if (!strcmp( ext, "l" )) /* lex file */
|
else if (!strcmp( ext, "l" )) /* lex file */
|
||||||
{
|
{
|
||||||
output( "%s.yy.c: %s\n", obj, sourcedep );
|
output( "%s.yy.c: %s\n", obj, sourcedep );
|
||||||
output( "\t$(FLEX) $(LEXFLAGS) -o$@ %s\n", source->filename );
|
output( "\t$(FLEX) $(LEXFLAGS) -o$@ %s\n", source->filename );
|
||||||
output( "%s.yy.o: %s.yy.c\n", obj, obj );
|
continue; /* no dependencies */
|
||||||
output( "\t$(CC) -c $(includes) $(ALLCFLAGS) -o $@ %s.yy.c\n", obj );
|
|
||||||
strarray_add( &clean_files, strmake( "%s.yy.c", obj ));
|
|
||||||
strarray_add( &clean_files, strmake( "%s.yy.o", obj ));
|
|
||||||
column += output( "%s.yy.o:", obj );
|
|
||||||
}
|
}
|
||||||
else if (!strcmp( ext, "rc" )) /* resource file */
|
else if (!strcmp( ext, "rc" )) /* resource file */
|
||||||
{
|
{
|
||||||
|
@ -1481,7 +1456,7 @@ static struct strarray output_sources(void)
|
||||||
{
|
{
|
||||||
if (!(source->flags & idl_outputs[i].flag)) continue;
|
if (!(source->flags & idl_outputs[i].flag)) continue;
|
||||||
dest = strmake( "%s%s", obj, idl_outputs[i].ext );
|
dest = strmake( "%s%s", obj, idl_outputs[i].ext );
|
||||||
strarray_add( &clean_files, dest );
|
if (!find_src_file( dest )) strarray_add( &clean_files, dest );
|
||||||
strarray_add( &targets, dest );
|
strarray_add( &targets, dest );
|
||||||
}
|
}
|
||||||
if (source->flags & FLAG_IDL_PROXY) strarray_add( &dlldata_files, source->name );
|
if (source->flags & FLAG_IDL_PROXY) strarray_add( &dlldata_files, source->name );
|
||||||
|
@ -1523,13 +1498,14 @@ static struct strarray output_sources(void)
|
||||||
output( "\t$(SED_CMD) %s >$@ || ($(RM) $@ && false)\n", source->filename );
|
output( "\t$(SED_CMD) %s >$@ || ($(RM) $@ && false)\n", source->filename );
|
||||||
column += output( "%s:", obj );
|
column += output( "%s:", obj );
|
||||||
}
|
}
|
||||||
else if (!strcmp( ext, "tlb" ) || !strcmp( ext, "res" ) || !strcmp( ext, "pot" ))
|
else if (!strcmp( ext, "res" ))
|
||||||
{
|
{
|
||||||
strarray_add( &clean_files, source->name );
|
strarray_add( &clean_files, source->name );
|
||||||
continue; /* nothing to do for typelib files */
|
continue; /* no dependencies */
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (source->flags & FLAG_GENERATED) strarray_add( &clean_files, source->filename );
|
||||||
for (i = 0; i < object_extensions.count; i++)
|
for (i = 0; i < object_extensions.count; i++)
|
||||||
{
|
{
|
||||||
strarray_add( &clean_files, strmake( "%s.%s", obj, object_extensions.str[i] ));
|
strarray_add( &clean_files, strmake( "%s.%s", obj, object_extensions.str[i] ));
|
||||||
|
@ -1558,7 +1534,7 @@ static struct strarray output_sources(void)
|
||||||
output_filename( "$(ALLCROSSCFLAGS)", &column );
|
output_filename( "$(ALLCROSSCFLAGS)", &column );
|
||||||
output( "\n" );
|
output( "\n" );
|
||||||
}
|
}
|
||||||
if (is_test && !strcmp( ext, "c" ) && !is_generated_idl( source ))
|
if (is_test && !strcmp( ext, "c" ) && !(source->flags & FLAG_GENERATED))
|
||||||
{
|
{
|
||||||
strarray_add( &test_files, source->name );
|
strarray_add( &test_files, source->name );
|
||||||
output( "%s.ok:\n", obj );
|
output( "%s.ok:\n", obj );
|
||||||
|
@ -1610,7 +1586,6 @@ static struct strarray output_sources(void)
|
||||||
column = output( "\t$(WIDL) --dlldata-only -o $@" );
|
column = output( "\t$(WIDL) --dlldata-only -o $@" );
|
||||||
output_filenames( &dlldata_files, &column );
|
output_filenames( &dlldata_files, &column );
|
||||||
output( "\n" );
|
output( "\n" );
|
||||||
strarray_add( &clean_files, "dlldata.c" );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_test)
|
if (is_test)
|
||||||
|
@ -1627,7 +1602,6 @@ static struct strarray output_sources(void)
|
||||||
column = output( "\t$(RM)" );
|
column = output( "\t$(RM)" );
|
||||||
output_filenames( &ok_files, &column );
|
output_filenames( &ok_files, &column );
|
||||||
output( "\n" );
|
output( "\n" );
|
||||||
strarray_add( &clean_files, "testlist.c" );
|
|
||||||
strarray_addall( &clean_files, &ok_files );
|
strarray_addall( &clean_files, &ok_files );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1791,7 +1765,6 @@ static void update_makefile( const char *path )
|
||||||
"LEX_SRCS",
|
"LEX_SRCS",
|
||||||
"XTEMPLATE_SRCS",
|
"XTEMPLATE_SRCS",
|
||||||
"IN_SRCS",
|
"IN_SRCS",
|
||||||
"EXTRA_OBJS",
|
|
||||||
"MANPAGES",
|
"MANPAGES",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
@ -1832,6 +1805,17 @@ static void update_makefile( const char *path )
|
||||||
}
|
}
|
||||||
|
|
||||||
add_generated_sources();
|
add_generated_sources();
|
||||||
|
|
||||||
|
value = get_expanded_make_var_array( "EXTRA_OBJS" );
|
||||||
|
for (i = 0; i < value.count; i++)
|
||||||
|
{
|
||||||
|
/* default to .c for unknown extra object files */
|
||||||
|
if (strendswith( value.str[i], ".o" ))
|
||||||
|
add_generated_source( value.str[i], replace_extension( value.str[i], ".o", ".c" ) );
|
||||||
|
else
|
||||||
|
add_generated_source( value.str[i], NULL );
|
||||||
|
}
|
||||||
|
|
||||||
LIST_FOR_EACH_ENTRY( file, &includes, struct incl_file, entry ) parse_file( file, 0 );
|
LIST_FOR_EACH_ENTRY( file, &includes, struct incl_file, entry ) parse_file( file, 0 );
|
||||||
output_dependencies();
|
output_dependencies();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue