mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 07:37:09 +00:00
makefiles: Specify whether to install program binaries in the individual makefiles.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
a748b7bc47
commit
17ac5ba7f9
|
@ -11,3 +11,5 @@ RC_SRCS = rsrc.rc
|
||||||
MANPAGES = msiexec.man.in
|
MANPAGES = msiexec.man.in
|
||||||
|
|
||||||
SVG_SRCS = msiexec.svg
|
SVG_SRCS = msiexec.svg
|
||||||
|
|
||||||
|
INSTALL_LIB = msiexec.exe msiexec
|
||||||
|
|
|
@ -11,3 +11,5 @@ RC_SRCS = notepad.rc
|
||||||
MANPAGES = notepad.man.in
|
MANPAGES = notepad.man.in
|
||||||
|
|
||||||
SVG_SRCS = notepad.svg
|
SVG_SRCS = notepad.svg
|
||||||
|
|
||||||
|
INSTALL_LIB = notepad.exe notepad
|
||||||
|
|
|
@ -20,3 +20,5 @@ RC_SRCS = regedit.rc
|
||||||
MANPAGES = regedit.man.in
|
MANPAGES = regedit.man.in
|
||||||
|
|
||||||
SVG_SRCS = regedit.svg
|
SVG_SRCS = regedit.svg
|
||||||
|
|
||||||
|
INSTALL_LIB = regedit.exe regedit
|
||||||
|
|
|
@ -8,3 +8,5 @@ C_SRCS = \
|
||||||
RC_SRCS = regsvr32.rc
|
RC_SRCS = regsvr32.rc
|
||||||
|
|
||||||
MANPAGES = regsvr32.man.in
|
MANPAGES = regsvr32.man.in
|
||||||
|
|
||||||
|
INSTALL_LIB = regsvr32.exe regsvr32
|
||||||
|
|
|
@ -10,3 +10,5 @@ C_SRCS = \
|
||||||
RC_SRCS = wineboot.rc
|
RC_SRCS = wineboot.rc
|
||||||
|
|
||||||
MANPAGES = wineboot.man.in
|
MANPAGES = wineboot.man.in
|
||||||
|
|
||||||
|
INSTALL_LIB = wineboot.exe wineboot
|
||||||
|
|
|
@ -22,3 +22,5 @@ MANPAGES = winecfg.man.in
|
||||||
SVG_SRCS = \
|
SVG_SRCS = \
|
||||||
logo.svg \
|
logo.svg \
|
||||||
winecfg.svg
|
winecfg.svg
|
||||||
|
|
||||||
|
INSTALL_LIB = winecfg.exe winecfg
|
||||||
|
|
|
@ -13,3 +13,5 @@ C_SRCS = \
|
||||||
RC_SRCS = wineconsole.rc
|
RC_SRCS = wineconsole.rc
|
||||||
|
|
||||||
MANPAGES = wineconsole.man.in
|
MANPAGES = wineconsole.man.in
|
||||||
|
|
||||||
|
INSTALL_LIB = wineconsole.exe wineconsole
|
||||||
|
|
|
@ -34,3 +34,5 @@ LEX_SRCS = debug.l
|
||||||
BISON_SRCS = dbg.y
|
BISON_SRCS = dbg.y
|
||||||
|
|
||||||
MANPAGES = winedbg.man.in
|
MANPAGES = winedbg.man.in
|
||||||
|
|
||||||
|
INSTALL_LIB = winedbg.exe winedbg
|
||||||
|
|
|
@ -12,3 +12,5 @@ RC_SRCS = winefile.rc
|
||||||
MANPAGES = winefile.man.in
|
MANPAGES = winefile.man.in
|
||||||
|
|
||||||
SVG_SRCS = winefile.svg
|
SVG_SRCS = winefile.svg
|
||||||
|
|
||||||
|
INSTALL_LIB = winefile.exe winefile
|
||||||
|
|
|
@ -12,3 +12,5 @@ RC_SRCS = winemine.rc
|
||||||
MANPAGES = winemine.man.in
|
MANPAGES = winemine.man.in
|
||||||
|
|
||||||
SVG_SRCS = winemine.svg
|
SVG_SRCS = winemine.svg
|
||||||
|
|
||||||
|
INSTALL_LIB = winemine.exe winemine
|
||||||
|
|
|
@ -4,3 +4,5 @@ APPMODE = -mconsole -municode
|
||||||
C_SRCS = winepath.c
|
C_SRCS = winepath.c
|
||||||
|
|
||||||
MANPAGES = winepath.man.in
|
MANPAGES = winepath.man.in
|
||||||
|
|
||||||
|
INSTALL_LIB = winepath.exe winepath
|
||||||
|
|
|
@ -18,6 +18,8 @@ EXTRA_OBJS = build.res @ALL_TEST_RESOURCES@
|
||||||
|
|
||||||
EXTRA_TARGETS = build.rc build.nfo
|
EXTRA_TARGETS = build.rc build.nfo
|
||||||
|
|
||||||
|
INSTALL_LIB = none
|
||||||
|
|
||||||
build.rc: dummy
|
build.rc: dummy
|
||||||
build="BUILD_INFO STRINGRES build.nfo STRINGTABLE { 1 \"`GIT_DIR=$(top_srcdir)/.git git rev-parse HEAD 2>/dev/null`\" }" && (echo $$build | cmp -s - $@) || echo $$build >$@ || ($(RM) $@ && exit 1)
|
build="BUILD_INFO STRINGRES build.nfo STRINGTABLE { 1 \"`GIT_DIR=$(top_srcdir)/.git git rev-parse HEAD 2>/dev/null`\" }" && (echo $$build | cmp -s - $@) || echo $$build >$@ || ($(RM) $@ && exit 1)
|
||||||
|
|
||||||
|
|
|
@ -21,28 +21,6 @@
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
|
||||||
# Programs that we want to install in the bin directory too
|
|
||||||
my %bin_install =
|
|
||||||
(
|
|
||||||
"msiexec" => 1,
|
|
||||||
"notepad" => 1,
|
|
||||||
"regedit" => 1,
|
|
||||||
"regsvr32" => 1,
|
|
||||||
"wineboot" => 1,
|
|
||||||
"winecfg" => 1,
|
|
||||||
"wineconsole" => 1,
|
|
||||||
"winedbg" => 1,
|
|
||||||
"winefile" => 1,
|
|
||||||
"winemine" => 1,
|
|
||||||
"winepath" => 1,
|
|
||||||
);
|
|
||||||
|
|
||||||
# Programs that we don't want to install at all
|
|
||||||
my %dont_install =
|
|
||||||
(
|
|
||||||
"winetest" => 1,
|
|
||||||
);
|
|
||||||
|
|
||||||
# Dlls and programs that are 16-bit specific
|
# Dlls and programs that are 16-bit specific
|
||||||
my %modules16 =
|
my %modules16 =
|
||||||
(
|
(
|
||||||
|
@ -265,18 +243,11 @@ sub parse_makefile($)
|
||||||
${$make{"=flags"}}{"implib"} = 1 if $var eq "IMPORTLIB";
|
${$make{"=flags"}}{"implib"} = 1 if $var eq "IMPORTLIB";
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
if (/^\s*(BISON_SRCS|LEX_SRCS|IDL_SRCS|IMPLIB_SRCS|C_SRCS|OBJC_SRCS|MC_SRCS|RC_SRCS|SVG_SRCS|FONT_SRCS|IN_SRCS|PROGRAMS|EXTRA_TARGETS|MANPAGES)\s*=\s*(.*)/)
|
if (/^\s*(BISON_SRCS|LEX_SRCS|IDL_SRCS|IMPLIB_SRCS|C_SRCS|OBJC_SRCS|MC_SRCS|RC_SRCS|SVG_SRCS|FONT_SRCS|IN_SRCS|PROGRAMS|EXTRA_TARGETS|MANPAGES|INSTALL_LIB|INSTALL_DEV)\s*=\s*(.*)/)
|
||||||
{
|
{
|
||||||
my $var = $1;
|
my $var = $1;
|
||||||
my @list = split(/\s+/, $2);
|
my @list = split(/\s+/, $2);
|
||||||
$make{$var} = \@list;
|
$make{$var} = \@list;
|
||||||
${$make{"=flags"}}{"clean"} = 1 if $var eq "PROGRAMS";
|
|
||||||
${$make{"=flags"}}{"clean"} = 1 if $var eq "EXTRA_TARGETS";
|
|
||||||
next;
|
|
||||||
}
|
|
||||||
if (/^\s*INSTALL_(LIB|DEV)\s*=\s*/)
|
|
||||||
{
|
|
||||||
${$make{"=flags"}}{$1 eq "LIB" ? "install-lib" : "install-dev"} = 1;
|
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
if (/(install-lib|install-dev|clean)\s*:/)
|
if (/(install-lib|install-dev|clean)\s*:/)
|
||||||
|
@ -296,9 +267,24 @@ sub parse_makefile($)
|
||||||
|
|
||||||
if ($file =~ /^programs\/([^\/]+)\/Makefile/)
|
if ($file =~ /^programs\/([^\/]+)\/Makefile/)
|
||||||
{
|
{
|
||||||
${$make{"=flags"}}{"install"} = 1 unless $dont_install{$1};
|
my $prog = $1;
|
||||||
${$make{"=flags"}}{"installbin"} = 1 if $bin_install{$1};
|
if (defined $make{"INSTALL_LIB"})
|
||||||
|
{
|
||||||
|
${$make{"=flags"}}{"install"} = 1 if grep { "$prog.exe" eq $_; } @{$make{"INSTALL_LIB"}};
|
||||||
|
${$make{"=flags"}}{"installbin"} = 1 if grep { $prog eq $_; } @{$make{"INSTALL_LIB"}};
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
${$make{"=flags"}}{"install"} = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
unless (defined $make{"MODULE"})
|
||||||
|
{
|
||||||
|
${$make{"=flags"}}{"install-lib"} = 1 if defined $make{"INSTALL_LIB"};
|
||||||
|
${$make{"=flags"}}{"install-dev"} = 1 if defined $make{"INSTALL_DEV"};
|
||||||
|
}
|
||||||
|
${$make{"=flags"}}{"clean"} = 1 if defined $make{"PROGRAMS"} || defined $make{"EXTRA_TARGETS"};
|
||||||
|
|
||||||
if (defined $make{"=flags"} && defined $make{"MODULE"})
|
if (defined $make{"=flags"} && defined $make{"MODULE"})
|
||||||
{
|
{
|
||||||
|
|
|
@ -2214,11 +2214,17 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
|
||||||
{
|
{
|
||||||
strarray_add( &all_targets, strmake( "%s%s", make->module, dll_ext ));
|
strarray_add( &all_targets, strmake( "%s%s", make->module, dll_ext ));
|
||||||
strarray_add( &all_targets, strmake( "%s.fake", make->module ));
|
strarray_add( &all_targets, strmake( "%s.fake", make->module ));
|
||||||
|
add_install_rule( make, make->module, strmake( "%s%s", make->module, dll_ext ),
|
||||||
|
strmake( "p$(dlldir)/%s%s", make->module, dll_ext ));
|
||||||
|
add_install_rule( make, make->module, strmake( "%s.fake", make->module ),
|
||||||
|
strmake( "d$(fakedlldir)/%s", make->module ));
|
||||||
output( "%s%s %s.fake:", module_path, dll_ext, module_path );
|
output( "%s%s %s.fake:", module_path, dll_ext, module_path );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
strarray_add( &all_targets, make->module );
|
strarray_add( &all_targets, make->module );
|
||||||
|
add_install_rule( make, make->module, make->module,
|
||||||
|
strmake( "p$(%s)/%s", spec_file ? "dlldir" : "bindir", make->module ));
|
||||||
output( "%s:", module_path );
|
output( "%s:", module_path );
|
||||||
}
|
}
|
||||||
if (spec_file) output_filename( spec_file );
|
if (spec_file) output_filename( spec_file );
|
||||||
|
@ -2253,6 +2259,8 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
|
||||||
output_filenames( target_flags );
|
output_filenames( target_flags );
|
||||||
if (make->is_win16) output_filename( "-m16" );
|
if (make->is_win16) output_filename( "-m16" );
|
||||||
output( "\n" );
|
output( "\n" );
|
||||||
|
add_install_rule( make, make->importlib, strmake( "lib%s.def", make->importlib ),
|
||||||
|
strmake( "d$(dlldir)/lib%s.def", make->importlib ));
|
||||||
if (implib_objs.count)
|
if (implib_objs.count)
|
||||||
{
|
{
|
||||||
strarray_add( &clean_files, strmake( "lib%s.def.a", make->importlib ));
|
strarray_add( &clean_files, strmake( "lib%s.def.a", make->importlib ));
|
||||||
|
@ -2264,6 +2272,8 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
|
||||||
output_filenames_obj_dir( make, implib_objs );
|
output_filenames_obj_dir( make, implib_objs );
|
||||||
output( "\n" );
|
output( "\n" );
|
||||||
output( "\t$(RANLIB) $@\n" );
|
output( "\t$(RANLIB) $@\n" );
|
||||||
|
add_install_rule( make, make->importlib, strmake( "lib%s.def.a", make->importlib ),
|
||||||
|
strmake( "d$(dlldir)/lib%s.def.a", make->importlib ));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -2276,6 +2286,8 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
|
||||||
output_filenames( target_flags );
|
output_filenames( target_flags );
|
||||||
output_filenames_obj_dir( make, implib_objs );
|
output_filenames_obj_dir( make, implib_objs );
|
||||||
output( "\n" );
|
output( "\n" );
|
||||||
|
add_install_rule( make, make->importlib, strmake( "lib%s.a", make->importlib ),
|
||||||
|
strmake( "d$(dlldir)/lib%s.a", make->importlib ));
|
||||||
}
|
}
|
||||||
if (crosstarget && !make->is_win16)
|
if (crosstarget && !make->is_win16)
|
||||||
{
|
{
|
||||||
|
@ -2334,6 +2346,12 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
|
||||||
}
|
}
|
||||||
else output( "manpages htmlpages sgmlpages xmlpages::\n" );
|
else output( "manpages htmlpages sgmlpages xmlpages::\n" );
|
||||||
}
|
}
|
||||||
|
else if (*dll_ext)
|
||||||
|
{
|
||||||
|
char *binary = replace_extension( make->module, ".exe", "" );
|
||||||
|
add_install_rule( make, binary, tools_dir_path( make, "wineapploader" ),
|
||||||
|
strmake( "s$(bindir)/%s", binary ));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (make->staticlib)
|
if (make->staticlib)
|
||||||
|
@ -2819,6 +2837,7 @@ static void update_makefile( const char *path )
|
||||||
|
|
||||||
make->install_lib_rules = empty_strarray;
|
make->install_lib_rules = empty_strarray;
|
||||||
make->install_dev_rules = empty_strarray;
|
make->install_dev_rules = empty_strarray;
|
||||||
|
if (make->module && !make->install_lib.count) strarray_add( &make->install_lib, make->module );
|
||||||
|
|
||||||
make->include_args = empty_strarray;
|
make->include_args = empty_strarray;
|
||||||
make->define_args = empty_strarray;
|
make->define_args = empty_strarray;
|
||||||
|
|
Loading…
Reference in a new issue