forked from Mirrors/wine-wine
makefiles: Support installing scripts from the tools directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>oldstable
parent
43637ce9f7
commit
2f956a4e06
|
@ -2140,52 +2140,66 @@ static struct strarray output_install_rules( const struct makefile *make, struct
|
||||||
if (!files.count) return uninstall;
|
if (!files.count) return uninstall;
|
||||||
|
|
||||||
for (i = 0; i < files.count; i += 2)
|
for (i = 0; i < files.count; i += 2)
|
||||||
if (strchr( "dps", files.str[i + 1][0] )) /* only for files copied from object dir */
|
{
|
||||||
strarray_add_uniq( &targets, files.str[i] );
|
const char *file = files.str[i];
|
||||||
|
switch (*files.str[i + 1])
|
||||||
|
{
|
||||||
|
case 'd': /* data file */
|
||||||
|
case 'p': /* program file */
|
||||||
|
case 's': /* script */
|
||||||
|
strarray_add_uniq( &targets, obj_dir_path( make, file ));
|
||||||
|
break;
|
||||||
|
case 't': /* script in tools dir */
|
||||||
|
strarray_add_uniq( &targets, tools_dir_path( make, file ));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
output( "install %s::", target );
|
output( "install %s::", target );
|
||||||
output_filenames_obj_dir( make, targets );
|
output_filenames( targets );
|
||||||
output( "\n" );
|
output( "\n" );
|
||||||
|
|
||||||
install_sh = top_src_dir_path( make, "tools/install-sh" );
|
install_sh = top_src_dir_path( make, "tools/install-sh" );
|
||||||
for (i = 0; i < files.count; i += 2)
|
for (i = 0; i < files.count; i += 2)
|
||||||
{
|
{
|
||||||
const char *file = files.str[i];
|
const char *file = files.str[i];
|
||||||
const char *dest = files.str[i + 1];
|
const char *dest = strmake( "$(DESTDIR)%s", files.str[i + 1] + 1 );
|
||||||
|
|
||||||
switch (*dest)
|
switch (*files.str[i + 1])
|
||||||
{
|
{
|
||||||
case 'd': /* data file */
|
case 'd': /* data file */
|
||||||
output( "\t%s -m 644 $(INSTALL_DATA_FLAGS) %s $(DESTDIR)%s\n",
|
output( "\t%s -m 644 $(INSTALL_DATA_FLAGS) %s %s\n",
|
||||||
install_sh, obj_dir_path( make, file ), dest + 1 );
|
install_sh, obj_dir_path( make, file ), dest );
|
||||||
break;
|
break;
|
||||||
case 'D': /* data file in source dir */
|
case 'D': /* data file in source dir */
|
||||||
output( "\t%s -m 644 $(INSTALL_DATA_FLAGS) %s $(DESTDIR)%s\n",
|
output( "\t%s -m 644 $(INSTALL_DATA_FLAGS) %s %s\n",
|
||||||
install_sh, src_dir_path( make, file ), dest + 1 );
|
install_sh, src_dir_path( make, file ), dest );
|
||||||
break;
|
break;
|
||||||
case 'p': /* program file */
|
case 'p': /* program file */
|
||||||
output( "\tSTRIPPROG=\"$(STRIP)\" %s $(INSTALL_PROGRAM_FLAGS) %s $(DESTDIR)%s\n",
|
output( "\tSTRIPPROG=\"$(STRIP)\" %s $(INSTALL_PROGRAM_FLAGS) %s %s\n",
|
||||||
install_sh, obj_dir_path( make, file ), dest + 1 );
|
install_sh, obj_dir_path( make, file ), dest );
|
||||||
break;
|
break;
|
||||||
case 's': /* script */
|
case 's': /* script */
|
||||||
output( "\t%s $(INSTALL_SCRIPT_FLAGS) %s $(DESTDIR)%s\n",
|
output( "\t%s $(INSTALL_SCRIPT_FLAGS) %s %s\n",
|
||||||
install_sh, obj_dir_path( make, file ), dest + 1 );
|
install_sh, obj_dir_path( make, file ), dest );
|
||||||
break;
|
break;
|
||||||
case 'S': /* script in source dir */
|
case 'S': /* script in source dir */
|
||||||
output( "\t%s $(INSTALL_SCRIPT_FLAGS) %s $(DESTDIR)%s\n",
|
output( "\t%s $(INSTALL_SCRIPT_FLAGS) %s %s\n",
|
||||||
install_sh, src_dir_path( make, file ), dest + 1 );
|
install_sh, src_dir_path( make, file ), dest );
|
||||||
|
break;
|
||||||
|
case 't': /* script in tools dir */
|
||||||
|
output( "\t%s $(INSTALL_SCRIPT_FLAGS) %s %s\n",
|
||||||
|
install_sh, tools_dir_path( make, file ), dest );
|
||||||
break;
|
break;
|
||||||
case 'y': /* symlink */
|
case 'y': /* symlink */
|
||||||
output( "\trm -f $(DESTDIR)%s && %s %s $(DESTDIR)%s\n", dest + 1, ln_s, file, dest + 1 );
|
output( "\trm -f %s && %s %s %s\n", dest, ln_s, file, dest );
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
assert(0);
|
assert(0);
|
||||||
}
|
}
|
||||||
|
strarray_add( &uninstall, dest );
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < files.count; i += 2)
|
|
||||||
strarray_add( &uninstall, strmake( "$(DESTDIR)%s", files.str[i + 1] + 1 ));
|
|
||||||
|
|
||||||
strarray_add_uniq( phony_targets, "install" );
|
strarray_add_uniq( phony_targets, "install" );
|
||||||
strarray_add_uniq( phony_targets, target );
|
strarray_add_uniq( phony_targets, target );
|
||||||
return uninstall;
|
return uninstall;
|
||||||
|
@ -2808,8 +2822,8 @@ static struct strarray output_sources( const struct makefile *make )
|
||||||
else if (*dll_ext)
|
else if (*dll_ext)
|
||||||
{
|
{
|
||||||
char *binary = replace_extension( make->module, ".exe", "" );
|
char *binary = replace_extension( make->module, ".exe", "" );
|
||||||
add_install_rule( make, install_rules, binary, tools_dir_path( make, "wineapploader" ),
|
add_install_rule( make, install_rules, binary, "wineapploader",
|
||||||
strmake( "s$(bindir)/%s", binary ));
|
strmake( "t$(bindir)/%s", binary ));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue