makedep: Expand tool names into the generated rules.
This commit is contained in:
parent
c7411e22be
commit
7d1d9b40f1
|
@ -52,15 +52,10 @@ LINGUAS = @LINGUAS@
|
|||
ALL_MO_FILES = $(LINGUAS:%=@top_builddir@/po/%.mo)
|
||||
PORCFLAGS = @PORCFLAGS@
|
||||
RUNTESTFLAGS = -q -P wine
|
||||
MAKECTESTS = $(TOOLSDIR)/tools/make_ctests$(TOOLSEXT)
|
||||
MAKEXFTMPL = $(TOOLSDIR)/tools/make_xftmpl$(TOOLSEXT)
|
||||
MAKEDEP = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
|
||||
SFNT2FNT = $(TOOLSDIR)/tools/sfnt2fnt$(TOOLSEXT)
|
||||
WIDL = $(TOOLSDIR)/tools/widl/widl$(TOOLSEXT)
|
||||
WINEBUILD = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT)
|
||||
WMC = $(TOOLSDIR)/tools/wmc/wmc$(TOOLSEXT)
|
||||
WRC = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT)
|
||||
WINEGCC = $(TOOLSDIR)/tools/winegcc/winegcc$(TOOLSEXT)
|
||||
LIBPORT = $(top_builddir)/libs/port/libwine_port.a
|
||||
LIBWPP = $(top_builddir)/libs/wpp/libwpp.a
|
||||
LIBWINE = -L$(top_builddir)/libs/wine -lwine
|
||||
|
|
|
@ -105,6 +105,7 @@ static const char *top_src_dir;
|
|||
static const char *top_obj_dir;
|
||||
static const char *parent_dir;
|
||||
static const char *tools_dir;
|
||||
static const char *tools_ext;
|
||||
static const char *makefile_name = "Makefile";
|
||||
static const char *Separator = "### Dependencies";
|
||||
static const char *input_file_name;
|
||||
|
@ -508,6 +509,17 @@ static char *tools_dir_path( const char *path )
|
|||
}
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
* tools_path
|
||||
*/
|
||||
static char *tools_path( const char *name )
|
||||
{
|
||||
if (tools_dir) return strmake( "%s/tools/%s/%s%s", tools_dir, name, name, tools_ext );
|
||||
if (top_obj_dir) return strmake( "%s/tools/%s/%s%s", top_obj_dir, name, name, tools_ext );
|
||||
return strmake( "tools/%s/%s%s", name, name, tools_ext );
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
* init_paths
|
||||
*/
|
||||
|
@ -1464,9 +1476,9 @@ static struct strarray output_sources(void)
|
|||
}
|
||||
else if (!strcmp( ext, "x" )) /* template file */
|
||||
{
|
||||
output( "%s.h: $(MAKEXFTMPL) %s\n", obj, source->filename );
|
||||
output( "%s.h: %s%s %s\n", obj, tools_dir_path( "make_xftmpl" ), tools_ext, source->filename );
|
||||
if (subdir) output( "\t$(MKDIR_P) -m 755 %s\n", subdir );
|
||||
output( "\t$(MAKEXFTMPL) -H -o $@ %s\n", source->filename );
|
||||
output( "\t%s%s -H -o $@ %s\n", tools_dir_path( "make_xftmpl" ), tools_ext, source->filename );
|
||||
strarray_add( &clean_files, strmake( "%s.h", obj ));
|
||||
continue; /* no dependencies */
|
||||
}
|
||||
|
@ -1481,9 +1493,9 @@ static struct strarray output_sources(void)
|
|||
{
|
||||
if (source->flags & FLAG_RC_PO)
|
||||
{
|
||||
output( "%s.res: $(WRC) $(ALL_MO_FILES) %s\n", obj, source->filename );
|
||||
output( "%s.res: %s $(ALL_MO_FILES) %s\n", obj, tools_path( "wrc" ), source->filename );
|
||||
if (subdir) output( "\t$(MKDIR_P) -m 755 %s\n", subdir );
|
||||
output( "\t$(WRC) -o $@ %s", source->filename );
|
||||
output( "\t%s -o $@ %s", tools_path( "wrc" ), source->filename );
|
||||
if (is_win16) output_filename( "-m16" );
|
||||
else output_filenames( targetflags );
|
||||
output_filenames( includes );
|
||||
|
@ -1496,9 +1508,9 @@ static struct strarray output_sources(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
output( "%s.res: $(WRC) %s\n", obj, source->filename );
|
||||
output( "%s.res: %s %s\n", obj, tools_path( "wrc" ), source->filename );
|
||||
if (subdir) output( "\t$(MKDIR_P) -m 755 %s\n", subdir );
|
||||
output( "\t$(WRC) -o $@ %s", source->filename );
|
||||
output( "\t%s -o $@ %s", tools_path( "wrc" ), source->filename );
|
||||
if (is_win16) output_filename( "-m16" );
|
||||
else output_filenames( targetflags );
|
||||
output_filenames( includes );
|
||||
|
@ -1512,9 +1524,9 @@ static struct strarray output_sources(void)
|
|||
}
|
||||
else if (!strcmp( ext, "mc" )) /* message file */
|
||||
{
|
||||
output( "%s.res: $(WMC) $(ALL_MO_FILES) %s\n", obj, source->filename );
|
||||
output( "%s.res: %s $(ALL_MO_FILES) %s\n", obj, tools_path( "wmc" ), source->filename );
|
||||
if (subdir) output( "\t$(MKDIR_P) -m 755 %s\n", subdir );
|
||||
output( "\t$(WMC) -U -O res $(PORCFLAGS) -o $@ %s\n", source->filename );
|
||||
output( "\t%s -U -O res $(PORCFLAGS) -o $@ %s\n", tools_path( "wmc" ), source->filename );
|
||||
strarray_add( &res_files, strmake( "%s.res", obj ));
|
||||
strarray_add( &mc_files, source->filename );
|
||||
output( "msg.pot %s.res:", obj );
|
||||
|
@ -1537,9 +1549,9 @@ static struct strarray output_sources(void)
|
|||
}
|
||||
if (source->flags & FLAG_IDL_PROXY) strarray_add( &dlldata_files, source->name );
|
||||
output_filenames( targets );
|
||||
output( ": $(WIDL)\n" );
|
||||
output( ": %s\n", tools_path( "widl" ));
|
||||
if (subdir) output( "\t$(MKDIR_P) -m 755 %s\n", subdir );
|
||||
output( "\t$(WIDL) -o $@ %s", source->filename );
|
||||
output( "\t%s -o $@ %s", tools_path( "widl" ), source->filename );
|
||||
output_filenames( targetflags );
|
||||
output_filenames( includes );
|
||||
output_filenames( define_args );
|
||||
|
@ -1664,10 +1676,10 @@ static struct strarray output_sources(void)
|
|||
|
||||
if (po_files.count)
|
||||
{
|
||||
output( "rsrc.pot: $(WRC)" );
|
||||
output( "rsrc.pot: %s", tools_path( "wrc" ) );
|
||||
output_filenames( po_files );
|
||||
output( "\n" );
|
||||
output( "\t$(WRC) -O pot -o $@" );
|
||||
output( "\t%s -O pot -o $@", tools_path( "wrc" ));
|
||||
if (is_win16) output_filename( "-m16" );
|
||||
else output_filenames( targetflags );
|
||||
output_filenames( includes );
|
||||
|
@ -1680,10 +1692,10 @@ static struct strarray output_sources(void)
|
|||
|
||||
if (mc_files.count)
|
||||
{
|
||||
output( "msg.pot: $(WMC)" );
|
||||
output( "msg.pot: %s", tools_path( "wmc" ));
|
||||
output_filenames( mc_files );
|
||||
output( "\n" );
|
||||
output( "\t$(WMC) -O pot -o $@" );
|
||||
output( "\t%s -O pot -o $@", tools_path( "wmc" ));
|
||||
output_filenames( mc_files );
|
||||
output( "\n" );
|
||||
strarray_add( &clean_files, "msg.pot" );
|
||||
|
@ -1691,8 +1703,8 @@ static struct strarray output_sources(void)
|
|||
|
||||
if (dlldata_files.count)
|
||||
{
|
||||
output( "dlldata.c: $(WIDL) %s\n", src_dir_path( "Makefile.in" ));
|
||||
output( "\t$(WIDL) --dlldata-only -o $@" );
|
||||
output( "dlldata.c: %s %s\n", tools_path( "widl" ), src_dir_path( "Makefile.in" ));
|
||||
output( "\t%s --dlldata-only -o $@", tools_path( "widl" ));
|
||||
output_filenames( dlldata_files );
|
||||
output( "\n" );
|
||||
}
|
||||
|
@ -1730,7 +1742,7 @@ static struct strarray output_sources(void)
|
|||
output_filenames( object_files );
|
||||
output_filenames( res_files );
|
||||
output( "\n" );
|
||||
output( "\t$(WINEGCC) -o $@" );
|
||||
output( "\t%s -o $@", tools_path( "winegcc" ));
|
||||
output_filename( strmake( "-B%s", tools_dir_path( "winebuild" )));
|
||||
if (tools_dir) output_filename( strmake( "--sysroot=%s", top_obj_dir ));
|
||||
output_filenames( targetflags );
|
||||
|
@ -1752,8 +1764,8 @@ static struct strarray output_sources(void)
|
|||
if (*dllext)
|
||||
{
|
||||
strarray_add( &clean_files, strmake( "lib%s.def", importlib ));
|
||||
output( "lib%s.def: %s\n", importlib, spec_file );
|
||||
output( "\t$(WINEBUILD) -w --def -o $@ --export %s", spec_file );
|
||||
output( "lib%s.def: %s %s\n", importlib, tools_path( "winebuild" ), spec_file );
|
||||
output( "\t%s -w --def -o $@ --export %s", tools_path( "winebuild" ), spec_file );
|
||||
output_filenames( targetflags );
|
||||
if (is_win16) output_filename( "-m16" );
|
||||
output( "\n" );
|
||||
|
@ -1773,10 +1785,10 @@ static struct strarray output_sources(void)
|
|||
else
|
||||
{
|
||||
strarray_add( &clean_files, strmake( "lib%s.a", importlib ));
|
||||
output( "lib%s.a: %s", importlib, spec_file );
|
||||
output( "lib%s.a: %s %s", importlib, tools_path( "winebuild" ), spec_file );
|
||||
output_filenames( implib_objs );
|
||||
output( "\n" );
|
||||
output( "\t$(WINEBUILD) -w --implib -o $@ --export %s", spec_file );
|
||||
output( "\t%s -w --implib -o $@ --export %s", tools_path( "winebuild" ), spec_file );
|
||||
output_filenames( targetflags );
|
||||
output_filenames( implib_objs );
|
||||
output( "\n" );
|
||||
|
@ -1785,10 +1797,11 @@ static struct strarray output_sources(void)
|
|||
{
|
||||
struct strarray cross_files = strarray_replace_extension( &implib_objs, ".o", ".cross.o" );
|
||||
strarray_add( &clean_files, strmake( "lib%s.cross.a", importlib ));
|
||||
output( "lib%s.cross.a: %s", importlib, spec_file );
|
||||
output( "lib%s.cross.a: %s %s", importlib, tools_path( "winebuild" ), spec_file );
|
||||
output_filenames( cross_files );
|
||||
output( "\n" );
|
||||
output( "\t$(WINEBUILD) -b %s -w --implib -o $@ --export %s", crosstarget, spec_file );
|
||||
output( "\t%s -b %s -w --implib -o $@ --export %s",
|
||||
tools_path( "winebuild" ), crosstarget, spec_file );
|
||||
output_filenames( cross_files );
|
||||
output( "\n" );
|
||||
}
|
||||
|
@ -1869,7 +1882,7 @@ static struct strarray output_sources(void)
|
|||
strarray_add( &all_targets, strmake( "%s%s", testmodule, dllext ));
|
||||
strarray_add( &clean_files, strmake( "%s%s", stripped, dllext ));
|
||||
output( "%s%s:\n", testmodule, dllext );
|
||||
output( "\t$(WINEGCC) -o $@" );
|
||||
output( "\t%s -o $@", tools_path( "winegcc" ));
|
||||
output_filename( strmake( "-B%s", tools_dir_path( "winebuild" )));
|
||||
if (tools_dir) output_filename( strmake( "--sysroot=%s", top_obj_dir ));
|
||||
output_filenames( targetflags );
|
||||
|
@ -1881,7 +1894,7 @@ static struct strarray output_sources(void)
|
|||
output_filename( "$(LDFLAGS)" );
|
||||
output( "\n" );
|
||||
output( "%s%s:\n", stripped, dllext );
|
||||
output( "\t$(WINEGCC) -s -o $@" );
|
||||
output( "\t%s -o $@", tools_path( "winegcc" ));
|
||||
output_filename( strmake( "-B%s", tools_dir_path( "winebuild" )));
|
||||
if (tools_dir) output_filename( strmake( "--sysroot=%s", top_obj_dir ));
|
||||
output_filenames( targetflags );
|
||||
|
@ -1903,8 +1916,8 @@ static struct strarray output_sources(void)
|
|||
char *testres = replace_extension( testdll, ".dll", "_test.res" );
|
||||
output( "all: %s/%s\n", top_obj_dir_path( "programs/winetest" ), testres );
|
||||
output( "%s/%s: %s%s\n", top_obj_dir_path( "programs/winetest" ), testres, stripped, dllext );
|
||||
output( "\techo \"%s TESTRES \\\"%s%s\\\"\" | $(WRC) -o $@\n",
|
||||
testmodule, stripped, dllext );
|
||||
output( "\techo \"%s TESTRES \\\"%s%s\\\"\" | %s -o $@\n",
|
||||
testmodule, stripped, dllext, tools_path( "wrc" ));
|
||||
}
|
||||
|
||||
if (crosstarget)
|
||||
|
@ -1917,7 +1930,7 @@ static struct strarray output_sources(void)
|
|||
output_filenames( crossobj_files );
|
||||
output_filenames( res_files );
|
||||
output( "\n" );
|
||||
output( "\t$(WINEGCC) -o $@ -b %s", crosstarget );
|
||||
output( "\t%s -o $@ -b %s", tools_path( "winegcc" ), crosstarget );
|
||||
output_filename( strmake( "-B%s", tools_dir_path( "winebuild" )));
|
||||
if (tools_dir) output_filename( strmake( "--sysroot=%s", top_obj_dir ));
|
||||
output_filename( "--lib-suffix=.cross.a" );
|
||||
|
@ -1929,8 +1942,9 @@ static struct strarray output_sources(void)
|
|||
strarray_add( &phony_targets, "crosstest" );
|
||||
}
|
||||
|
||||
output( "testlist.c: $(MAKECTESTS) %s\n", src_dir_path( "Makefile.in" ));
|
||||
output( "\t$(MAKECTESTS) -o $@" );
|
||||
output( "testlist.c: %s%s %s\n",
|
||||
tools_dir_path( "make_ctests" ), tools_ext, src_dir_path( "Makefile.in" ));
|
||||
output( "\t%s%s -o $@", tools_dir_path( "make_ctests" ), tools_ext );
|
||||
output_filenames( test_files );
|
||||
output( "\n" );
|
||||
output_filenames( ok_files );
|
||||
|
@ -2130,6 +2144,7 @@ static void update_makefile( const char *path )
|
|||
top_obj_dir = get_expanded_make_variable( "top_builddir" );
|
||||
parent_dir = get_expanded_make_variable( "PARENTSRC" );
|
||||
tools_dir = get_expanded_make_variable( "TOOLSDIR" );
|
||||
tools_ext = get_expanded_make_variable( "TOOLSEXT" );
|
||||
|
||||
appmode = get_expanded_make_var_array( "APPMODE" );
|
||||
dllflags = get_expanded_make_var_array( "DLLFLAGS" );
|
||||
|
@ -2144,6 +2159,8 @@ static void update_makefile( const char *path )
|
|||
define_args = empty_strarray;
|
||||
strarray_add( &define_args, "-D__WINESRC__" );
|
||||
|
||||
if (!tools_ext) tools_ext = "";
|
||||
|
||||
value = get_expanded_make_var_array( "EXTRAINCL" );
|
||||
for (i = 0; i < value.count; i++)
|
||||
if (!strncmp( value.str[i], "-I", 2 ))
|
||||
|
|
Loading…
Reference in New Issue