You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wine/wine-revert-makefiles.patch

2622 lines
96 KiB

From c1ed02fb85b6992388afab9a5607069d124b64ec Mon Sep 17 00:00:00 2001
9 years ago
From: Michael Cronenworth <mike@cchtml.com>
Date: Wed, 4 Nov 2015 23:15:31 -0600
Subject: [PATCH 01/12] Revert "makefiles: Specify whether to install program
binaries in the individual makefiles."
This reverts commit 17ac5ba7f9909bfbd3c80c87a077f72ef4c1d19b.
---
programs/msiexec/Makefile.in | 2 --
programs/notepad/Makefile.in | 2 --
programs/regedit/Makefile.in | 2 --
programs/regsvr32/Makefile.in | 2 --
programs/wineboot/Makefile.in | 2 --
programs/winecfg/Makefile.in | 2 --
programs/wineconsole/Makefile.in | 2 --
programs/winedbg/Makefile.in | 2 --
programs/winefile/Makefile.in | 2 --
programs/winemine/Makefile.in | 2 --
programs/winepath/Makefile.in | 2 --
programs/winetest/Makefile.in | 2 --
tools/make_makefiles | 50 +++++++++++++++++++++++++---------------
tools/makedep.c | 19 ---------------
14 files changed, 32 insertions(+), 61 deletions(-)
diff --git a/programs/msiexec/Makefile.in b/programs/msiexec/Makefile.in
index 7686b10..6d0cf9a 100644
--- a/programs/msiexec/Makefile.in
+++ b/programs/msiexec/Makefile.in
@@ -11,5 +11,3 @@ RC_SRCS = rsrc.rc
MANPAGES = msiexec.man.in
SVG_SRCS = msiexec.svg
-
-INSTALL_LIB = msiexec.exe msiexec
diff --git a/programs/notepad/Makefile.in b/programs/notepad/Makefile.in
index e5d39a8..26e977d 100644
--- a/programs/notepad/Makefile.in
+++ b/programs/notepad/Makefile.in
@@ -11,5 +11,3 @@ RC_SRCS = notepad.rc
MANPAGES = notepad.man.in
SVG_SRCS = notepad.svg
-
-INSTALL_LIB = notepad.exe notepad
diff --git a/programs/regedit/Makefile.in b/programs/regedit/Makefile.in
index acbfbd4..c5dfd81 100644
--- a/programs/regedit/Makefile.in
+++ b/programs/regedit/Makefile.in
@@ -20,5 +20,3 @@ RC_SRCS = regedit.rc
MANPAGES = regedit.man.in
SVG_SRCS = regedit.svg
-
-INSTALL_LIB = regedit.exe regedit
diff --git a/programs/regsvr32/Makefile.in b/programs/regsvr32/Makefile.in
index e91f206..15646a6 100644
--- a/programs/regsvr32/Makefile.in
+++ b/programs/regsvr32/Makefile.in
@@ -8,5 +8,3 @@ C_SRCS = \
RC_SRCS = regsvr32.rc
MANPAGES = regsvr32.man.in
-
-INSTALL_LIB = regsvr32.exe regsvr32
diff --git a/programs/wineboot/Makefile.in b/programs/wineboot/Makefile.in
index 419ec16..f6da0f9 100644
--- a/programs/wineboot/Makefile.in
+++ b/programs/wineboot/Makefile.in
@@ -10,5 +10,3 @@ C_SRCS = \
RC_SRCS = wineboot.rc
MANPAGES = wineboot.man.in
-
-INSTALL_LIB = wineboot.exe wineboot
diff --git a/programs/winecfg/Makefile.in b/programs/winecfg/Makefile.in
index 7b52a69..4e66e04 100644
--- a/programs/winecfg/Makefile.in
+++ b/programs/winecfg/Makefile.in
@@ -22,5 +22,3 @@ MANPAGES = winecfg.man.in
SVG_SRCS = \
logo.svg \
winecfg.svg
-
-INSTALL_LIB = winecfg.exe winecfg
diff --git a/programs/wineconsole/Makefile.in b/programs/wineconsole/Makefile.in
index b1ba9ef..6cde7e3 100644
--- a/programs/wineconsole/Makefile.in
+++ b/programs/wineconsole/Makefile.in
@@ -13,5 +13,3 @@ C_SRCS = \
RC_SRCS = wineconsole.rc
MANPAGES = wineconsole.man.in
-
-INSTALL_LIB = wineconsole.exe wineconsole
diff --git a/programs/winedbg/Makefile.in b/programs/winedbg/Makefile.in
index 739c4eb..a56c359 100644
--- a/programs/winedbg/Makefile.in
+++ b/programs/winedbg/Makefile.in
@@ -34,5 +34,3 @@ LEX_SRCS = debug.l
BISON_SRCS = dbg.y
MANPAGES = winedbg.man.in
-
-INSTALL_LIB = winedbg.exe winedbg
diff --git a/programs/winefile/Makefile.in b/programs/winefile/Makefile.in
index f400846..ac58f26 100644
--- a/programs/winefile/Makefile.in
+++ b/programs/winefile/Makefile.in
@@ -12,5 +12,3 @@ RC_SRCS = winefile.rc
MANPAGES = winefile.man.in
SVG_SRCS = winefile.svg
-
-INSTALL_LIB = winefile.exe winefile
diff --git a/programs/winemine/Makefile.in b/programs/winemine/Makefile.in
index ea9b9d3..f72e1b1 100644
--- a/programs/winemine/Makefile.in
+++ b/programs/winemine/Makefile.in
@@ -12,5 +12,3 @@ RC_SRCS = winemine.rc
MANPAGES = winemine.man.in
SVG_SRCS = winemine.svg
-
-INSTALL_LIB = winemine.exe winemine
diff --git a/programs/winepath/Makefile.in b/programs/winepath/Makefile.in
index ca28e30..16b5627 100644
--- a/programs/winepath/Makefile.in
+++ b/programs/winepath/Makefile.in
@@ -4,5 +4,3 @@ APPMODE = -mconsole -municode
C_SRCS = winepath.c
MANPAGES = winepath.man.in
-
-INSTALL_LIB = winepath.exe winepath
diff --git a/programs/winetest/Makefile.in b/programs/winetest/Makefile.in
index 4070016..7bdfe2a 100644
--- a/programs/winetest/Makefile.in
+++ b/programs/winetest/Makefile.in
@@ -18,8 +18,6 @@ EXTRA_OBJS = build.res @ALL_TEST_RESOURCES@
EXTRA_TARGETS = build.rc build.nfo
-INSTALL_LIB = none
-
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)
diff --git a/tools/make_makefiles b/tools/make_makefiles
index 96d8c01..4b539cd 100755
--- a/tools/make_makefiles
+++ b/tools/make_makefiles
@@ -21,6 +21,28 @@
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
my %modules16 =
(
@@ -243,11 +265,18 @@ sub parse_makefile($)
${$make{"=flags"}}{"implib"} = 1 if $var eq "IMPORTLIB";
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|INSTALL_LIB|INSTALL_DEV)\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)\s*=\s*(.*)/)
{
my $var = $1;
my @list = split(/\s+/, $2);
$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;
}
if (/(install-lib|install-dev|clean)\s*:/)
@@ -267,24 +296,9 @@ sub parse_makefile($)
if ($file =~ /^programs\/([^\/]+)\/Makefile/)
{
- my $prog = $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"}}{"install"} = 1 unless $dont_install{$1};
+ ${$make{"=flags"}}{"installbin"} = 1 if $bin_install{$1};
}
- ${$make{"=flags"}}{"clean"} = 1 if defined $make{"PROGRAMS"} || defined $make{"EXTRA_TARGETS"};
if (defined $make{"=flags"} && defined $make{"MODULE"})
{
diff --git a/tools/makedep.c b/tools/makedep.c
index 2a1b8d4..7af3bc9 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -2214,17 +2214,11 @@ 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.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 );
}
else
{
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 );
}
if (spec_file) output_filename( spec_file );
@@ -2259,8 +2253,6 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
output_filenames( target_flags );
if (make->is_win16) output_filename( "-m16" );
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)
{
strarray_add( &clean_files, strmake( "lib%s.def.a", make->importlib ));
@@ -2272,8 +2264,6 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
output_filenames_obj_dir( make, implib_objs );
output( "\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
@@ -2286,8 +2276,6 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
output_filenames( target_flags );
output_filenames_obj_dir( make, implib_objs );
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)
{
@@ -2346,12 +2334,6 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
}
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)
@@ -2837,7 +2819,6 @@ static void update_makefile( const char *path )
make->install_lib_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->define_args = empty_strarray;
--
2.4.3
From e1b0769c11dc8f53e089eafedca66161484c0465 Mon Sep 17 00:00:00 2001
From: Michael Cronenworth <mike@cchtml.com>
Date: Wed, 4 Nov 2015 23:15:33 -0600
Subject: [PATCH 02/12] Revert "makefiles: Fix the source path for ttf font
installs."
This reverts commit a748b7bc47345f9fd3b10377da6817c3e6e29fe2.
---
tools/makedep.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/makedep.c b/tools/makedep.c
index 7af3bc9..2c2a97d 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -2057,7 +2057,7 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
}
if (source->file->flags & FLAG_INSTALL)
{
- strarray_add( &make->install_lib_rules, strmake( "%s.ttf", obj ));
+ strarray_add( &make->install_lib_rules, ttf_file );
strarray_add( &make->install_lib_rules, strmake( "D$(fontdir)/%s.ttf", obj ));
}
if (source->file->flags & FLAG_SFD_FONTS)
--
2.4.3
From 4acb2bf30de244cb8aad6ed62af36aa68e9015b4 Mon Sep 17 00:00:00 2001
From: Michael Cronenworth <mike@cchtml.com>
Date: Wed, 4 Nov 2015 23:15:34 -0600
Subject: [PATCH 03/12] Revert "makefiles: Don't add source dependency for
symlinks."
This reverts commit cc5d07fc8a58f3f87137992247344cdbdad9ef8d.
---
tools/makedep.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/makedep.c b/tools/makedep.c
index 2c2a97d..30bbc3e 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -1796,7 +1796,7 @@ static void output_install_rules( struct makefile *make, struct strarray files,
if (!files.count) return;
for (i = 0; i < files.count; i += 2)
- if (strchr( "dps", files.str[i + 1][0] )) /* only for files copied from object dir */
+ if (files.str[i + 1][0] >= 'a' && files.str[i + 1][0] <= 'z') /* only for files in object dir */
strarray_add_uniq( &targets, files.str[i] );
output( "install %s::", target );
--
2.4.3
From 0c2d10f1c63546f8bba8a29adeb30224adc6064c Mon Sep 17 00:00:00 2001
From: Michael Cronenworth <mike@cchtml.com>
Date: Wed, 4 Nov 2015 23:16:39 -0600
Subject: [PATCH 04/12] Revert "makefiles: Generate rules for installing
symlinks."
This reverts commit 356e46a1ef9f866f4a548674b4811a98d1b1847c.
---
tools/makedep.c | 23 +----------------------
tools/winegcc/Makefile.in | 21 ++++++++++++++++++---
2 files changed, 19 insertions(+), 25 deletions(-)
diff --git a/tools/makedep.c b/tools/makedep.c
index 30bbc3e..ffd286f 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -1831,9 +1831,6 @@ static void output_install_rules( struct makefile *make, struct strarray files,
output( "\t%s $(INSTALL_SCRIPT_FLAGS) %s $(DESTDIR)%s\n",
install_sh, src_dir_path( make, file ), dest + 1 );
break;
- case 'y': /* symlink */
- output( "\t$(RM) $(DESTDIR)%s && $(LN_S) %s $(DESTDIR)%s\n", dest + 1, file, dest + 1 );
- break;
default:
assert(0);
}
@@ -1856,7 +1853,7 @@ static void output_install_rules( struct makefile *make, struct strarray files,
static struct strarray output_sources( struct makefile *make, struct strarray *testlist_files )
{
struct incl_file *source;
- unsigned int i, j;
+ unsigned int i;
struct strarray object_files = empty_strarray;
struct strarray crossobj_files = empty_strarray;
struct strarray res_files = empty_strarray;
@@ -2021,7 +2018,6 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
{
if (strendswith( obj, ".man" ) && source->file->args)
{
- struct strarray symlinks;
char *dir, *dest = replace_extension( obj, ".man", "" );
char *lang = strchr( dest, '.' );
char *section = source->file->args;
@@ -2032,10 +2028,6 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
}
else dir = strmake( "$(mandir)/man%s", section );
add_install_rule( make, dest, xstrdup(obj), strmake( "d%s/%s.%s", dir, dest, section ));
- symlinks = get_expanded_make_var_array( make, file_local_var( dest, "SYMLINKS" ));
- for (j = 0; j < symlinks.count; j++)
- add_install_rule( make, symlinks.str[j], strmake( "%s.%s", dest, section ),
- strmake( "y%s/%s.%s", dir, symlinks.str[j], section ));
free( dest );
free( dir );
strarray_add( &all_targets, xstrdup(obj) );
@@ -2455,8 +2447,6 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
struct strarray all_libs = empty_strarray;
struct strarray objs = get_expanded_make_var_array( make,
file_local_var( make->programs.str[i], "OBJS" ));
- struct strarray symlinks = get_expanded_make_var_array( make,
- file_local_var( make->programs.str[i], "SYMLINKS" ));
if (!objs.count) objs = object_files;
output( "%s:", obj_dir_path( make, program ) );
@@ -2495,19 +2485,8 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
output( "\n" );
strarray_add( &all_targets, program );
- if (symlinks.count)
- {
- output_filenames_obj_dir( make, symlinks );
- output( ": %s\n", obj_dir_path( make, program ));
- output( "\t$(RM) $@ && $(LN_S) %s $@\n", obj_dir_path( make, program ));
- strarray_addall( &all_targets, symlinks );
- }
-
add_install_rule( make, program, program_installed ? program_installed : program,
strmake( "p$(bindir)/%s", program ));
- for (j = 0; j < symlinks.count; j++)
- add_install_rule( make, symlinks.str[j], program,
- strmake( "y$(bindir)/%s%s", symlinks.str[j], exe_ext ));
}
for (i = 0; i < make->scripts.count; i++)
diff --git a/tools/winegcc/Makefile.in b/tools/winegcc/Makefile.in
index daeb91b..1a3b2a7 100644
--- a/tools/winegcc/Makefile.in
+++ b/tools/winegcc/Makefile.in
@@ -2,8 +2,6 @@ PROGRAMS = winegcc
MANPAGES = winegcc.man.in
-winegcc_SYMLINKS = winecpp wineg++
-
C_SRCS = \
utils.c \
winegcc.c
@@ -18,4 +16,21 @@ winegcc_EXTRADEFS = \
-DLD="\"$(LD)\"" \
-DPRELINK="\"$(PRELINK)\""
-INSTALL_DEV = $(PROGRAMS) $(winegcc_SYMLINKS)
+INSTALL_DEV = $(PROGRAMS)
+
+EXTRA_TARGETS = winecpp$(EXEEXT) wineg++$(EXEEXT)
+
+all: $(EXTRA_TARGETS)
+
+winecpp$(EXEEXT) wineg++$(EXEEXT): winegcc$(EXEEXT)
+ $(RM) $@ && $(LN_S) winegcc$(EXEEXT) $@
+
+install install-dev::
+ cd $(DESTDIR)$(bindir) && $(RM) wineg++$(EXEEXT) && $(LN_S) winegcc$(EXEEXT) wineg++$(EXEEXT)
+ cd $(DESTDIR)$(bindir) && $(RM) winecpp$(EXEEXT) && $(LN_S) winegcc$(EXEEXT) winecpp$(EXEEXT)
+ cd $(DESTDIR)$(mandir)/man$(prog_manext) && $(RM) wineg++.$(prog_manext) && $(LN_S) winegcc.$(prog_manext) wineg++.$(prog_manext)
+ cd $(DESTDIR)$(mandir)/man$(prog_manext) && $(RM) winecpp.$(prog_manext) && $(LN_S) winegcc.$(prog_manext) winecpp.$(prog_manext)
+
+uninstall::
+ $(RM) $(DESTDIR)$(bindir)/wineg++$(EXEEXT) $(DESTDIR)$(bindir)/winecpp$(EXEEXT)
+ $(RM) $(DESTDIR)$(mandir)/man$(prog_manext)/wineg++.$(prog_manext) $(DESTDIR)$(mandir)/man$(prog_manext)/winecpp.$(prog_manext)
--
2.4.3
From 6fc5a15518b51a55681bb20c51dfc93f45816cc2 Mon Sep 17 00:00:00 2001
From: Michael Cronenworth <mike@cchtml.com>
Date: Wed, 4 Nov 2015 23:16:49 -0600
Subject: [PATCH 05/12] Revert "makefiles: Generate rules for installing
scripts."
This reverts commit 5cd3395975f687ba8390fddda38bd110d98b30ed.
---
tools/makedep.c | 6 ------
tools/winedump/Makefile.in | 9 +++++++--
tools/winemaker/Makefile.in | 10 +++++++---
3 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/tools/makedep.c b/tools/makedep.c
index ffd286f..9a21397 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -150,7 +150,6 @@ struct makefile
struct strarray include_args;
struct strarray define_args;
struct strarray programs;
- struct strarray scripts;
struct strarray appmode;
struct strarray imports;
struct strarray delayimports;
@@ -2489,10 +2488,6 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
strmake( "p$(bindir)/%s", program ));
}
- for (i = 0; i < make->scripts.count; i++)
- add_install_rule( make, make->scripts.str[i], make->scripts.str[i],
- strmake( "S$(bindir)/%s", make->scripts.str[i] ));
-
if (all_targets.count)
{
output( "all:" );
@@ -2780,7 +2775,6 @@ static void update_makefile( const char *path )
make->importlib = get_expanded_make_variable( make, "IMPORTLIB" );
make->programs = get_expanded_make_var_array( make, "PROGRAMS" );
- make->scripts = get_expanded_make_var_array( make, "SCRIPTS" );
make->appmode = get_expanded_make_var_array( make, "APPMODE" );
make->imports = get_expanded_make_var_array( make, "IMPORTS" );
make->delayimports = get_expanded_make_var_array( make, "DELAYIMPORTS" );
diff --git a/tools/winedump/Makefile.in b/tools/winedump/Makefile.in
index b55ac72..a93f078 100644
--- a/tools/winedump/Makefile.in
+++ b/tools/winedump/Makefile.in
@@ -1,6 +1,5 @@
PROGRAMS = winedump
MANPAGES = winedump.man.in
-SCRIPTS = function_grep.pl
C_SRCS = \
debug.c \
@@ -24,4 +23,10 @@ C_SRCS = \
symbol.c \
tlb.c
-INSTALL_DEV = $(PROGRAMS) $(SCRIPTS)
+INSTALL_DEV = $(PROGRAMS)
+
+install install-dev::
+ $(INSTALL_SCRIPT) $(srcdir)/function_grep.pl $(DESTDIR)$(bindir)/function_grep.pl
+
+uninstall::
+ $(RM) $(DESTDIR)$(bindir)/function_grep.pl
diff --git a/tools/winemaker/Makefile.in b/tools/winemaker/Makefile.in
index 37e345d..6afa016 100644
--- a/tools/winemaker/Makefile.in
+++ b/tools/winemaker/Makefile.in
@@ -1,8 +1,12 @@
-SCRIPTS = winemaker
-
MANPAGES = \
winemaker.de.UTF-8.man.in \
winemaker.fr.UTF-8.man.in \
winemaker.man.in
-INSTALL_DEV = $(SCRIPTS)
+INSTALL_DEV = winemaker
+
+install install-dev::
+ $(INSTALL_SCRIPT) $(srcdir)/winemaker $(DESTDIR)$(bindir)/winemaker
+
+uninstall::
+ $(RM) $(DESTDIR)$(bindir)/winemaker
--
2.4.3
From 2b9f92aa8ed4a88321b0e60af01a2715cab19f11 Mon Sep 17 00:00:00 2001
From: Michael Cronenworth <mike@cchtml.com>
Date: Wed, 4 Nov 2015 23:16:57 -0600
Subject: [PATCH 06/12] Revert "makefiles: Generate rules for installing
programs."
This reverts commit da340169d6518cf42f1cbe169fbf120383202bdc.
---
configure | 15 ++++-
configure.ac | 15 ++++-
server/Makefile.in | 8 ++-
tools/make_makefiles | 5 --
tools/makedep.c | 135 ++++++++------------------------------------
tools/widl/Makefile.in | 8 ++-
tools/winebuild/Makefile.in | 8 ++-
tools/winedump/Makefile.in | 7 ++-
tools/winegcc/Makefile.in | 9 +--
tools/winemaker/Makefile.in | 4 +-
tools/wmc/Makefile.in | 8 ++-
tools/wrc/Makefile.in | 8 ++-
12 files changed, 97 insertions(+), 133 deletions(-)
diff --git a/configure b/configure
index b3a1f26..8cf26e4 100755
--- a/configure
+++ b/configure
@@ -7852,6 +7852,12 @@ libwine_soversion=`expr $libwine_version : '\([0-9]*\)\..*'`
LOADER_RULES="
all: wine.inf
+
+install install-lib:: $wine_binary-installed
+ \$(INSTALL_PROGRAM) $wine_binary-installed \$(DESTDIR)\$(bindir)/$wine_binary
+
+uninstall::
+ \$(RM) \$(DESTDIR)\$(bindir)/$wine_binary
"
@@ -14939,13 +14945,18 @@ case $host_os in
preloader_EXTRADEFS = $BUILTINFLAG
${wine_binary}_preloader_OBJS = preloader.o
${wine_binary}_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000
+
+install install-lib:: $wine_binary-preloader
+ \$(INSTALL_PROGRAM) $wine_binary-preloader \$(DESTDIR)\$(bindir)/$wine_binary-preloader
+
+uninstall::
+ \$(RM) \$(DESTDIR)\$(bindir)/$wine_binary-preloader
" ;;
esac
;;
esac
as_fn_append LOADER_RULES "
PROGRAMS = $loader_programs
-INSTALL_LIB = $loader_programs
"
@@ -18280,7 +18291,7 @@ clean::
\$(RM) fonts server tools $with_wine64/loader/wine $with_wine64/loader/wine-preloader"
else
as_fn_append LOADER_RULES "
-install install-lib:: wine.inf
+install install-lib:: wine.inf install-man-pages
\$(INSTALL_DATA) wine.inf \$(DESTDIR)\$(datadir)/wine/wine.inf
\$(INSTALL_DATA) \$(srcdir)/l_intl.nls \$(DESTDIR)\$(datadir)/wine/l_intl.nls
diff --git a/configure.ac b/configure.ac
index 3d48b67..ff74f8d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -691,6 +691,12 @@ libwine_soversion=`expr $libwine_version : '\([[0-9]]*\)\..*'`
AC_SUBST(LOADER_RULES,["
all: wine.inf
+
+install install-lib:: $wine_binary-installed
+ \$(INSTALL_PROGRAM) $wine_binary-installed \$(DESTDIR)\$(bindir)/$wine_binary
+
+uninstall::
+ \$(RM) \$(DESTDIR)\$(bindir)/$wine_binary
"])
case $host_os in
@@ -2033,13 +2039,18 @@ case $host_os in
preloader_EXTRADEFS = $BUILTINFLAG
${wine_binary}_preloader_OBJS = preloader.o
${wine_binary}_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000
+
+install install-lib:: $wine_binary-preloader
+ \$(INSTALL_PROGRAM) $wine_binary-preloader \$(DESTDIR)\$(bindir)/$wine_binary-preloader
+
+uninstall::
+ \$(RM) \$(DESTDIR)\$(bindir)/$wine_binary-preloader
"]) ;;
esac
;;
esac
AS_VAR_APPEND([LOADER_RULES],["
PROGRAMS = $loader_programs
-INSTALL_LIB = $loader_programs
"])
dnl **** Check for functions ****
@@ -3747,7 +3758,7 @@ clean::
\$(RM) fonts server tools $with_wine64/loader/wine $with_wine64/loader/wine-preloader])
else
AS_VAR_APPEND([LOADER_RULES],["
-install install-lib:: wine.inf
+install install-lib:: wine.inf install-man-pages
\$(INSTALL_DATA) wine.inf \$(DESTDIR)\$(datadir)/wine/wine.inf
\$(INSTALL_DATA) \$(srcdir)/l_intl.nls \$(DESTDIR)\$(datadir)/wine/l_intl.nls
diff --git a/server/Makefile.in b/server/Makefile.in
index 75ba199..7a1ac11 100644
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -52,4 +52,10 @@ MANPAGES = \
EXTRALIBS = -lwine $(POLL_LIBS) $(RT_LIBS)
-INSTALL_LIB = $(PROGRAMS)
+.PHONY: install install-lib uninstall
+
+install install-lib:: wineserver-installed install-man-pages
+ $(INSTALL_PROGRAM) wineserver-installed $(DESTDIR)$(bindir)/wineserver
+
+uninstall::
+ $(RM) $(DESTDIR)$(bindir)/wineserver
diff --git a/tools/make_makefiles b/tools/make_makefiles
index 4b539cd..069d0ae 100755
--- a/tools/make_makefiles
+++ b/tools/make_makefiles
@@ -274,11 +274,6 @@ sub parse_makefile($)
${$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;
- }
if (/(install-lib|install-dev|clean)\s*:/)
{
${$make{"=flags"}}{$1} = 1;
diff --git a/tools/makedep.c b/tools/makedep.c
index 9a21397..295e5e8 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -154,10 +154,6 @@ struct makefile
struct strarray imports;
struct strarray delayimports;
struct strarray extradllflags;
- struct strarray install_lib;
- struct strarray install_dev;
- struct strarray install_lib_rules;
- struct strarray install_dev_rules;
struct list sources;
struct list includes;
const char *base_dir;
@@ -1761,92 +1757,6 @@ static void output_include( struct incl_file *pFile, struct incl_file *owner )
/*******************************************************************
- * add_install_rule
- */
-static void add_install_rule( struct makefile *make, const char *target,
- const char *file, const char *dest )
-{
- if (strarray_exists( &make->install_lib, target ))
- {
- strarray_add( &make->install_lib_rules, file );
- strarray_add( &make->install_lib_rules, dest );
- }
- else if (strarray_exists( &make->install_dev, target ))
- {
- strarray_add( &make->install_dev_rules, file );
- strarray_add( &make->install_dev_rules, dest );
- }
-}
-
-
-/*******************************************************************
- * output_install_rules
- *
- * Rules are stored as a (file,dest) pair of values.
- * The first char of dest indicates the type of install.
- */
-static void output_install_rules( struct makefile *make, struct strarray files,
- const char *target, struct strarray *phony_targets )
-{
- unsigned int i;
- char *install_sh;
- struct strarray targets = empty_strarray;
-
- if (!files.count) return;
-
- for (i = 0; i < files.count; i += 2)
- if (files.str[i + 1][0] >= 'a' && files.str[i + 1][0] <= 'z') /* only for files in object dir */
- strarray_add_uniq( &targets, files.str[i] );
-
- output( "install %s::", target );
- output_filenames_obj_dir( make, targets );
- output( "\n" );
-
- install_sh = top_dir_path( make, "tools/install-sh" );
- for (i = 0; i < files.count; i += 2)
- {
- const char *file = files.str[i];
- const char *dest = files.str[i + 1];
-
- switch (*dest)
- {
- case 'd': /* data file */
- output( "\t%s -m 644 $(INSTALL_DATA_FLAGS) %s $(DESTDIR)%s\n",
- install_sh, obj_dir_path( make, file ), dest + 1 );
- break;
- case 'D': /* data file in source dir */
- output( "\t%s -m 644 $(INSTALL_DATA_FLAGS) %s $(DESTDIR)%s\n",
- install_sh, src_dir_path( make, file ), dest + 1 );
- break;
- case 'p': /* program file */
- output( "\tSTRIPPROG=\"$(STRIP)\" %s $(INSTALL_PROGRAM_FLAGS) %s $(DESTDIR)%s\n",
- install_sh, obj_dir_path( make, file ), dest + 1 );
- break;
- case 's': /* script */
- output( "\t%s $(INSTALL_SCRIPT_FLAGS) %s $(DESTDIR)%s\n",
- install_sh, obj_dir_path( make, file ), dest + 1 );
- break;
- case 'S': /* script in source dir */
- output( "\t%s $(INSTALL_SCRIPT_FLAGS) %s $(DESTDIR)%s\n",
- install_sh, src_dir_path( make, file ), dest + 1 );
- break;
- default:
- assert(0);
- }
- }
-
- output( "uninstall::\n" );
- output( "\t$(RM)" );
- for (i = 0; i < files.count; i += 2) output_filename( strmake( "$(DESTDIR)%s", files.str[i + 1] + 1 ));
- output( "\n" );
-
- strarray_add( phony_targets, "install" );
- strarray_add( phony_targets, target );
- strarray_add( phony_targets, "uninstall" );
-}
-
-
-/*******************************************************************
* output_sources
*/
static struct strarray output_sources( struct makefile *make, struct strarray *testlist_files )
@@ -2023,13 +1933,18 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
if (lang)
{
*lang++ = 0;
- dir = strmake( "$(mandir)/%s/man%s", lang, section );
+ dir = strmake( "$(DESTDIR)$(mandir)/%s/man%s", lang, section );
}
- else dir = strmake( "$(mandir)/man%s", section );
- add_install_rule( make, dest, xstrdup(obj), strmake( "d%s/%s.%s", dir, dest, section ));
+ else dir = strmake( "$(DESTDIR)$(mandir)/man%s", section );
+ output( "install-man-pages:: %s\n", obj_dir_path( make, obj ));
+ output( "\t$(INSTALL_DATA) %s %s/%s.%s\n", obj_dir_path( make, obj ), dir, dest, section );
+ output( "uninstall::\n" );
+ output( "\t$(RM) %s/%s.%s\n", dir, dest, section );
free( dest );
free( dir );
strarray_add( &all_targets, xstrdup(obj) );
+ strarray_add_uniq( &phony_targets, "install-man-pages" );
+ strarray_add_uniq( &phony_targets, "uninstall" );
}
else strarray_add( &clean_files, xstrdup(obj) );
output( "%s: %s\n", obj_dir_path( make, obj ), source->filename );
@@ -2048,8 +1963,10 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
}
if (source->file->flags & FLAG_INSTALL)
{
- strarray_add( &make->install_lib_rules, ttf_file );
- strarray_add( &make->install_lib_rules, strmake( "D$(fontdir)/%s.ttf", obj ));
+ output( "install install-lib::\n" );
+ output( "\t$(INSTALL_DATA) %s $(DESTDIR)$(fontdir)/%s.ttf\n", ttf_file, obj );
+ output( "uninstall::\n" );
+ output( "\t$(RM) $(DESTDIR)$(fontdir)/%s.ttf\n", obj );
}
if (source->file->flags & FLAG_SFD_FONTS)
{
@@ -2064,10 +1981,19 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
output( "%s: %s %s\n", obj_dir_path( make, font ),
tools_path( make, "sfnt2fon" ), ttf_file );
output( "\t%s -o $@ %s %s\n", tools_path( make, "sfnt2fon" ), ttf_file, args );
- strarray_add( &make->install_lib_rules, xstrdup(font) );
- strarray_add( &make->install_lib_rules, strmake( "d$(fontdir)/%s", font ));
+ output( "install install-lib:: %s\n", font );
+ output( "\t$(INSTALL_DATA) %s $(DESTDIR)$(fontdir)/%s\n",
+ obj_dir_path( make, font ), font );
+ output( "uninstall::\n" );
+ output( "\t$(RM) $(DESTDIR)$(fontdir)/%s\n", font );
}
}
+ if (source->file->flags & (FLAG_INSTALL | FLAG_SFD_FONTS))
+ {
+ strarray_add_uniq( &phony_targets, "install" );
+ strarray_add_uniq( &phony_targets, "install-lib" );
+ strarray_add_uniq( &phony_targets, "uninstall" );
+ }
continue; /* no dependencies */
}
else if (!strcmp( ext, "svg" )) /* svg file */
@@ -2441,7 +2367,6 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
for (i = 0; i < make->programs.count; i++)
{
- char *program_installed = NULL;
char *program = strmake( "%s%s", make->programs.str[i], exe_ext );
struct strarray all_libs = empty_strarray;
struct strarray objs = get_expanded_make_var_array( make,
@@ -2464,7 +2389,8 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
strarray_add( &all_libs, strmake( "-L%s", top_obj_dir_path( make, "libs/wine" )));
if (ldrpath_local && ldrpath_install)
{
- program_installed = strmake( "%s-installed%s", make->programs.str[i], exe_ext );
+ char *program_installed = strmake( "%s-installed%s", make->programs.str[i], exe_ext );
+
output_filename( ldrpath_local );
output_filenames( all_libs );
output_filename( "$(LDFLAGS)" );
@@ -2483,9 +2409,6 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
output_filename( "$(LDFLAGS)" );
output( "\n" );
strarray_add( &all_targets, program );
-
- add_install_rule( make, program, program_installed ? program_installed : program,
- strmake( "p$(bindir)/%s", program ));
}
if (all_targets.count)
@@ -2495,9 +2418,6 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
output( "\n" );
}
- output_install_rules( make, make->install_lib_rules, "install-lib", &phony_targets );
- output_install_rules( make, make->install_dev_rules, "install-dev", &phony_targets );
-
strarray_addall( &clean_files, object_files );
strarray_addall( &clean_files, crossobj_files );
strarray_addall( &clean_files, res_files );
@@ -2779,8 +2699,6 @@ static void update_makefile( const char *path )
make->imports = get_expanded_make_var_array( make, "IMPORTS" );
make->delayimports = get_expanded_make_var_array( make, "DELAYIMPORTS" );
make->extradllflags = get_expanded_make_var_array( make, "EXTRADLLFLAGS" );
- make->install_lib = get_expanded_make_var_array( make, "INSTALL_LIB" );
- make->install_dev = get_expanded_make_var_array( make, "INSTALL_DEV" );
if (make->module && strendswith( make->module, ".a" )) make->staticlib = make->module;
@@ -2790,9 +2708,6 @@ static void update_makefile( const char *path )
for (i = 0; i < make->imports.count && !make->use_msvcrt; i++)
make->use_msvcrt = !strncmp( make->imports.str[i], "msvcr", 5 );
- make->install_lib_rules = empty_strarray;
- make->install_dev_rules = empty_strarray;
-
make->include_args = empty_strarray;
make->define_args = empty_strarray;
strarray_add( &make->define_args, "-D__WINESRC__" );
diff --git a/tools/widl/Makefile.in b/tools/widl/Makefile.in
index f8111f3..0c5595e 100644
--- a/tools/widl/Makefile.in
+++ b/tools/widl/Makefile.in
@@ -23,4 +23,10 @@ widl_EXTRADEFS = -DDEFAULT_INCLUDE_DIR=\"${includedir}/windows/\"
EXTRALIBS = $(LIBWPP)
-INSTALL_DEV = $(PROGRAMS)
+.PHONY: install install-dev uninstall
+
+install install-dev:: widl$(EXEEXT) install-man-pages
+ $(INSTALL_PROGRAM) widl$(EXEEXT) $(DESTDIR)$(bindir)/widl$(EXEEXT)
+
+uninstall::
+ $(RM) $(DESTDIR)$(bindir)/widl$(EXEEXT)
diff --git a/tools/winebuild/Makefile.in b/tools/winebuild/Makefile.in
index 0511012..3958902 100644
--- a/tools/winebuild/Makefile.in
+++ b/tools/winebuild/Makefile.in
@@ -12,4 +12,10 @@ C_SRCS = \
spec32.c \
utils.c
-INSTALL_DEV = $(PROGRAMS)
+.PHONY: install install-dev uninstall
+
+install install-dev:: winebuild$(EXEEXT) install-man-pages
+ $(INSTALL_PROGRAM) winebuild$(EXEEXT) $(DESTDIR)$(bindir)/winebuild$(EXEEXT)
+
+uninstall::
+ $(RM) $(DESTDIR)$(bindir)/winebuild$(EXEEXT)
diff --git a/tools/winedump/Makefile.in b/tools/winedump/Makefile.in
index a93f078..dd36cff 100644
--- a/tools/winedump/Makefile.in
+++ b/tools/winedump/Makefile.in
@@ -23,10 +23,11 @@ C_SRCS = \
symbol.c \
tlb.c
-INSTALL_DEV = $(PROGRAMS)
+.PHONY: install install-dev uninstall
-install install-dev::
+install install-dev:: winedump$(EXEEXT) install-man-pages
+ $(INSTALL_PROGRAM) winedump$(EXEEXT) $(DESTDIR)$(bindir)/winedump$(EXEEXT)
$(INSTALL_SCRIPT) $(srcdir)/function_grep.pl $(DESTDIR)$(bindir)/function_grep.pl
uninstall::
- $(RM) $(DESTDIR)$(bindir)/function_grep.pl
+ $(RM) $(DESTDIR)$(bindir)/function_grep.pl $(DESTDIR)$(bindir)/winedump$(EXEEXT)
diff --git a/tools/winegcc/Makefile.in b/tools/winegcc/Makefile.in
index 1a3b2a7..3c0670b 100644
--- a/tools/winegcc/Makefile.in
+++ b/tools/winegcc/Makefile.in
@@ -16,8 +16,6 @@ winegcc_EXTRADEFS = \
-DLD="\"$(LD)\"" \
-DPRELINK="\"$(PRELINK)\""
-INSTALL_DEV = $(PROGRAMS)
-
EXTRA_TARGETS = winecpp$(EXEEXT) wineg++$(EXEEXT)
all: $(EXTRA_TARGETS)
@@ -25,12 +23,15 @@ all: $(EXTRA_TARGETS)
winecpp$(EXEEXT) wineg++$(EXEEXT): winegcc$(EXEEXT)
$(RM) $@ && $(LN_S) winegcc$(EXEEXT) $@
-install install-dev::
+.PHONY: install install-dev uninstall
+
+install install-dev:: winegcc$(EXEEXT) install-man-pages
+ $(INSTALL_PROGRAM) winegcc$(EXEEXT) $(DESTDIR)$(bindir)/winegcc$(EXEEXT)
cd $(DESTDIR)$(bindir) && $(RM) wineg++$(EXEEXT) && $(LN_S) winegcc$(EXEEXT) wineg++$(EXEEXT)
cd $(DESTDIR)$(bindir) && $(RM) winecpp$(EXEEXT) && $(LN_S) winegcc$(EXEEXT) winecpp$(EXEEXT)
cd $(DESTDIR)$(mandir)/man$(prog_manext) && $(RM) wineg++.$(prog_manext) && $(LN_S) winegcc.$(prog_manext) wineg++.$(prog_manext)
cd $(DESTDIR)$(mandir)/man$(prog_manext) && $(RM) winecpp.$(prog_manext) && $(LN_S) winegcc.$(prog_manext) winecpp.$(prog_manext)
uninstall::
- $(RM) $(DESTDIR)$(bindir)/wineg++$(EXEEXT) $(DESTDIR)$(bindir)/winecpp$(EXEEXT)
+ $(RM) $(DESTDIR)$(bindir)/winegcc$(EXEEXT) $(DESTDIR)$(bindir)/wineg++$(EXEEXT) $(DESTDIR)$(bindir)/winecpp$(EXEEXT)
$(RM) $(DESTDIR)$(mandir)/man$(prog_manext)/wineg++.$(prog_manext) $(DESTDIR)$(mandir)/man$(prog_manext)/winecpp.$(prog_manext)
diff --git a/tools/winemaker/Makefile.in b/tools/winemaker/Makefile.in
index 6afa016..7095ecf 100644
--- a/tools/winemaker/Makefile.in
+++ b/tools/winemaker/Makefile.in
@@ -3,9 +3,9 @@ MANPAGES = \
winemaker.fr.UTF-8.man.in \
winemaker.man.in
-INSTALL_DEV = winemaker
+.PHONY: install install-dev uninstall
-install install-dev::
+install install-dev:: install-man-pages
$(INSTALL_SCRIPT) $(srcdir)/winemaker $(DESTDIR)$(bindir)/winemaker
uninstall::
diff --git a/tools/wmc/Makefile.in b/tools/wmc/Makefile.in
index 41b7236..12a917d 100644
--- a/tools/wmc/Makefile.in
+++ b/tools/wmc/Makefile.in
@@ -13,4 +13,10 @@ BISON_SRCS = mcy.y
EXTRALIBS = $(GETTEXTPO_LIBS) $(LIBWINE_STATIC)
-INSTALL_DEV = $(PROGRAMS)
+.PHONY: install install-dev uninstall
+
+install install-dev:: wmc$(EXEEXT) install-man-pages
+ $(INSTALL_PROGRAM) wmc$(EXEEXT) $(DESTDIR)$(bindir)/wmc$(EXEEXT)
+
+uninstall::
+ $(RM) $(DESTDIR)$(bindir)/wmc$(EXEEXT)
diff --git a/tools/wrc/Makefile.in b/tools/wrc/Makefile.in
index 37dbe03..b6f8093 100644
--- a/tools/wrc/Makefile.in
+++ b/tools/wrc/Makefile.in
@@ -19,4 +19,10 @@ wrc_EXTRADEFS = -DINCLUDEDIR="\"${includedir}\""
EXTRALIBS = $(GETTEXTPO_LIBS) $(LIBWPP) $(LIBWINE_STATIC)
-INSTALL_DEV = $(PROGRAMS)
+.PHONY: install install-dev uninstall
+
+install install-dev:: wrc$(EXEEXT) install-man-pages
+ $(INSTALL_PROGRAM) wrc$(EXEEXT) $(DESTDIR)$(bindir)/wrc$(EXEEXT)
+
+uninstall::
+ $(RM) $(DESTDIR)$(bindir)/wrc$(EXEEXT)
--
2.4.3
From d6efc2ae486683881d5e13f455cc1e3f04a6b3c4 Mon Sep 17 00:00:00 2001
From: Michael Cronenworth <mike@cchtml.com>
Date: Wed, 4 Nov 2015 23:17:06 -0600
Subject: [PATCH 07/12] Revert "makefiles: Automatically add RPATH support for
programs that use libwine."
This reverts commit a1515c68d4d4b4334f44b098debba2548a16ca38.
---
configure | 48 +++++++++++++++++++++++++++++-------------------
configure.ac | 48 +++++++++++++++++++++++++++++-------------------
loader/Makefile.in | 2 ++
server/Makefile.in | 14 ++++++++++++--
tools/makedep.c | 24 ------------------------
5 files changed, 72 insertions(+), 64 deletions(-)
diff --git a/configure b/configure
index 8cf26e4..534afff 100755
--- a/configure
+++ b/configure
@@ -7847,14 +7847,14 @@ distclean::
wine_binary="wine"
test "x$enable_win64" != "xyes" || wine_binary="wine64"
-loader_programs="$wine_binary"
+loader_programs="$wine_binary wine-installed"
libwine_soversion=`expr $libwine_version : '\([0-9]*\)\..*'`
LOADER_RULES="
all: wine.inf
-install install-lib:: $wine_binary-installed
- \$(INSTALL_PROGRAM) $wine_binary-installed \$(DESTDIR)\$(bindir)/$wine_binary
+install install-lib:: wine-installed
+ \$(INSTALL_PROGRAM) wine-installed \$(DESTDIR)\$(bindir)/$wine_binary
uninstall::
\$(RM) \$(DESTDIR)\$(bindir)/$wine_binary
@@ -8017,7 +8017,7 @@ done
LIBEXT="dylib"
DLLFLAGS="$DLLFLAGS -fPIC"
LIBWINE_LDFLAGS="-multiply_defined suppress"
- LDRPATH_INSTALL="-Wl,-rpath,@loader_path/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
+ LDRPATH_INSTALL="-Wl,-rpath,@loader_path/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`"
LDRPATH_LOCAL="-Wl,-rpath,@loader_path/\$(top_builddir)/libs/wine"
COREFOUNDATION_LIBS="-framework CoreFoundation"
@@ -8262,9 +8262,11 @@ uninstall::
as_fn_append LOADER_RULES "
-${wine_binary}_OBJS = main.o
-${wine_binary}_LDFLAGS = $LDEXECFLAGS -lwine \$(PTHREAD_LIBS)
-$wine_binary $wine_binary-installed: wine_info.plist
+$wine_binary: main.o wine_info.plist
+ \$(CC) -o \$@ $LDEXECFLAGS main.o \$(LIBWINE) \$(LIBPORT) \$(EXTRALIBS) \$(LDFLAGS) \$(LDRPATH_LOCAL)
+
+wine-installed: main.o wine_info.plist
+ \$(CC) -o \$@ $LDEXECFLAGS main.o \$(LIBWINE) \$(LIBPORT) \$(EXTRALIBS) \$(LDFLAGS) \$(LDRPATH_INSTALL)
"
;;
@@ -8323,7 +8325,7 @@ eval ac_res=\$$as_ac_var
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
+ LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`"
LDRPATH_LOCAL="-Wl,--rpath,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"
else
as_ac_var=`$as_echo "ac_cv_cflags_-fPIC -Wl,-R,\\$ORIGIN/../lib" | $as_tr_sh`
@@ -8351,7 +8353,7 @@ eval ac_res=\$$as_ac_var
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
+ LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`"
LDRPATH_LOCAL="-Wl,-R,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"
fi
fi
@@ -8430,8 +8432,11 @@ uninstall::
as_fn_append LOADER_RULES "
-${wine_binary}_OBJS = main.o
-${wine_binary}_LDFLAGS = $LDEXECFLAGS -lwine \$(PTHREAD_LIBS)
+$wine_binary: main.o
+ \$(CC) -o \$@ $LDEXECFLAGS main.o \$(LIBWINE) \$(LIBPORT) \$(EXTRALIBS) \$(LDFLAGS) \$(LDRPATH_LOCAL)
+
+wine-installed: main.o
+ \$(CC) -o \$@ $LDEXECFLAGS main.o \$(LIBWINE) \$(LIBPORT) \$(EXTRALIBS) \$(LDFLAGS) \$(LDRPATH_INSTALL)
"
;;
@@ -8594,7 +8599,7 @@ eval ac_res=\$$as_ac_var
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
+ LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`"
LDRPATH_LOCAL="-Wl,--rpath,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"
else
as_ac_var=`$as_echo "ac_cv_cflags_-fPIC -Wl,-R,\\$ORIGIN/../lib" | $as_tr_sh`
@@ -8622,7 +8627,7 @@ eval ac_res=\$$as_ac_var
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
+ LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`"
LDRPATH_LOCAL="-Wl,-R,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"
fi
fi
@@ -8814,8 +8819,11 @@ uninstall::
as_fn_append LOADER_RULES "
-${wine_binary}_OBJS = main.o
-${wine_binary}_LDFLAGS = $LDEXECFLAGS -lwine \$(PTHREAD_LIBS)
+$wine_binary: main.o
+ \$(CC) -o \$@ $LDEXECFLAGS main.o \$(LIBWINE) \$(LIBPORT) \$(EXTRALIBS) \$(LDFLAGS) \$(LDRPATH_LOCAL)
+
+wine-installed: main.o
+ \$(CC) -o \$@ $LDEXECFLAGS main.o \$(LIBWINE) \$(LIBPORT) \$(EXTRALIBS) \$(LDFLAGS) \$(LDRPATH_INSTALL)
"
if test -z "$with_wine64"
then
@@ -14942,21 +14950,23 @@ case $host_os in
test "$wine_binary" = wine || wine_fn_ignore_file "loader/wine-preloader"
loader_programs="$loader_programs $wine_binary-preloader"
as_fn_append LOADER_RULES "
-preloader_EXTRADEFS = $BUILTINFLAG
-${wine_binary}_preloader_OBJS = preloader.o
-${wine_binary}_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000
+$wine_binary-preloader: preloader.o
+ \$(CC) -o \$@ -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000 preloader.o \$(LIBPORT) \$(LDFLAGS)
install install-lib:: $wine_binary-preloader
\$(INSTALL_PROGRAM) $wine_binary-preloader \$(DESTDIR)\$(bindir)/$wine_binary-preloader
uninstall::
\$(RM) \$(DESTDIR)\$(bindir)/$wine_binary-preloader
+
+preloader_EXTRADEFS = $BUILTINFLAG
" ;;
esac
;;
esac
as_fn_append LOADER_RULES "
-PROGRAMS = $loader_programs
+EXTRA_TARGETS = $loader_programs
+all: $loader_programs
"
diff --git a/configure.ac b/configure.ac
index ff74f8d..cdc68fe 100644
--- a/configure.ac
+++ b/configure.ac
@@ -686,14 +686,14 @@ WINE_CONFIG_HELPERS
wine_binary="wine"
test "x$enable_win64" != "xyes" || wine_binary="wine64"
-loader_programs="$wine_binary"
+loader_programs="$wine_binary wine-installed"
libwine_soversion=`expr $libwine_version : '\([[0-9]]*\)\..*'`
AC_SUBST(LOADER_RULES,["
all: wine.inf
-install install-lib:: $wine_binary-installed
- \$(INSTALL_PROGRAM) $wine_binary-installed \$(DESTDIR)\$(bindir)/$wine_binary
+install install-lib:: wine-installed
+ \$(INSTALL_PROGRAM) wine-installed \$(DESTDIR)\$(bindir)/$wine_binary
uninstall::
\$(RM) \$(DESTDIR)\$(bindir)/$wine_binary
@@ -754,7 +754,7 @@ uninstall::
LIBEXT="dylib"
DLLFLAGS="$DLLFLAGS -fPIC"
LIBWINE_LDFLAGS="-multiply_defined suppress"
- LDRPATH_INSTALL="-Wl,-rpath,@loader_path/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
+ LDRPATH_INSTALL="-Wl,-rpath,@loader_path/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`"
LDRPATH_LOCAL="-Wl,-rpath,@loader_path/\$(top_builddir)/libs/wine"
dnl declare needed frameworks
AC_SUBST(COREFOUNDATION_LIBS,"-framework CoreFoundation")
@@ -891,9 +891,11 @@ uninstall::
"])
AS_VAR_APPEND([LOADER_RULES],["
-${wine_binary}_OBJS = main.o
-${wine_binary}_LDFLAGS = $LDEXECFLAGS -lwine \$(PTHREAD_LIBS)
-$wine_binary $wine_binary-installed: wine_info.plist
+$wine_binary: main.o wine_info.plist
+ \$(CC) -o \$@ $LDEXECFLAGS main.o \$(LIBWINE) \$(LIBPORT) \$(EXTRALIBS) \$(LDFLAGS) \$(LDRPATH_LOCAL)
+
+wine-installed: main.o wine_info.plist
+ \$(CC) -o \$@ $LDEXECFLAGS main.o \$(LIBWINE) \$(LIBPORT) \$(EXTRALIBS) \$(LDFLAGS) \$(LDRPATH_INSTALL)
"])
;;
@@ -905,10 +907,10 @@ $wine_binary $wine_binary-installed: wine_info.plist
WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
[LDEXECFLAGS="-Wl,--export-dynamic"])
WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
- [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
+ [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`"
LDRPATH_LOCAL="-Wl,--rpath,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"],
[WINE_TRY_CFLAGS([-fPIC -Wl,-R,\$ORIGIN/../lib],
- [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
+ [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`"
LDRPATH_LOCAL="-Wl,-R,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"])])
WINE_TRY_CFLAGS([-Wl,--enable-new-dtags],
@@ -938,8 +940,11 @@ uninstall::
"])
AS_VAR_APPEND([LOADER_RULES],["
-${wine_binary}_OBJS = main.o
-${wine_binary}_LDFLAGS = $LDEXECFLAGS -lwine \$(PTHREAD_LIBS)
+$wine_binary: main.o
+ \$(CC) -o \$@ $LDEXECFLAGS main.o \$(LIBWINE) \$(LIBPORT) \$(EXTRALIBS) \$(LDFLAGS) \$(LDRPATH_LOCAL)
+
+wine-installed: main.o
+ \$(CC) -o \$@ $LDEXECFLAGS main.o \$(LIBWINE) \$(LIBPORT) \$(EXTRALIBS) \$(LDFLAGS) \$(LDRPATH_INSTALL)
"])
;;
@@ -966,10 +971,10 @@ ${wine_binary}_LDFLAGS = $LDEXECFLAGS -lwine \$(PTHREAD_LIBS)
[LDEXECFLAGS="-Wl,--export-dynamic"])
WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
- [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
+ [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`"
LDRPATH_LOCAL="-Wl,--rpath,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"],
[WINE_TRY_CFLAGS([-fPIC -Wl,-R,\$ORIGIN/../lib],
- [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
+ [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`"
LDRPATH_LOCAL="-Wl,-R,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"])])
WINE_TRY_CFLAGS([-Wl,--enable-new-dtags],
@@ -1028,8 +1033,11 @@ uninstall::
"])
AS_VAR_APPEND([LOADER_RULES],["
-${wine_binary}_OBJS = main.o
-${wine_binary}_LDFLAGS = $LDEXECFLAGS -lwine \$(PTHREAD_LIBS)
+$wine_binary: main.o
+ \$(CC) -o \$@ $LDEXECFLAGS main.o \$(LIBWINE) \$(LIBPORT) \$(EXTRALIBS) \$(LDFLAGS) \$(LDRPATH_LOCAL)
+
+wine-installed: main.o
+ \$(CC) -o \$@ $LDEXECFLAGS main.o \$(LIBWINE) \$(LIBPORT) \$(EXTRALIBS) \$(LDFLAGS) \$(LDRPATH_INSTALL)
"])
if test -z "$with_wine64"
then
@@ -2036,21 +2044,23 @@ case $host_os in
test "$wine_binary" = wine || WINE_IGNORE_FILE("loader/wine-preloader")
loader_programs="$loader_programs $wine_binary-preloader"
AS_VAR_APPEND([LOADER_RULES],["
-preloader_EXTRADEFS = $BUILTINFLAG
-${wine_binary}_preloader_OBJS = preloader.o
-${wine_binary}_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000
+$wine_binary-preloader: preloader.o
+ \$(CC) -o \$@ -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000 preloader.o \$(LIBPORT) \$(LDFLAGS)
install install-lib:: $wine_binary-preloader
\$(INSTALL_PROGRAM) $wine_binary-preloader \$(DESTDIR)\$(bindir)/$wine_binary-preloader
uninstall::
\$(RM) \$(DESTDIR)\$(bindir)/$wine_binary-preloader
+
+preloader_EXTRADEFS = $BUILTINFLAG
"]) ;;
esac
;;
esac
AS_VAR_APPEND([LOADER_RULES],["
-PROGRAMS = $loader_programs
+EXTRA_TARGETS = $loader_programs
+all: $loader_programs
"])
dnl **** Check for functions ****
diff --git a/loader/Makefile.in b/loader/Makefile.in
index 7719801..95e4798 100644
--- a/loader/Makefile.in
+++ b/loader/Makefile.in
@@ -1,3 +1,5 @@
+EXTRALIBS = $(PTHREAD_LIBS)
+
C_SRCS = \
main.c \
preloader.c
diff --git a/server/Makefile.in b/server/Makefile.in
index 7a1ac11..e7fb603 100644
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -1,4 +1,4 @@
-PROGRAMS = wineserver
+EXTRALIBS = $(POLL_LIBS) $(RT_LIBS)
C_SRCS = \
async.c \
@@ -45,12 +45,22 @@ C_SRCS = \
window.c \
winstation.c
+EXTRA_TARGETS = wineserver wineserver-installed
+
MANPAGES = \
wineserver.de.UTF-8.man.in \
wineserver.fr.UTF-8.man.in \
wineserver.man.in
-EXTRALIBS = -lwine $(POLL_LIBS) $(RT_LIBS)
+OBJS = $(C_SRCS:.c=.o)
+
+all: $(EXTRA_TARGETS)
+
+wineserver: $(OBJS)
+ $(CC) -o $@ $(OBJS) $(LIBWINE) $(LIBPORT) $(LDFLAGS) $(EXTRALIBS) $(LIBS) $(LDRPATH_LOCAL)
+
+wineserver-installed: $(OBJS)
+ $(CC) -o $@ $(OBJS) $(LIBWINE) $(LIBPORT) $(LDFLAGS) $(EXTRALIBS) $(LIBS) $(LDRPATH_INSTALL)
.PHONY: install install-lib uninstall
diff --git a/tools/makedep.c b/tools/makedep.c
index 295e5e8..8c5abde 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -1778,8 +1778,6 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
struct strarray subdirs = empty_strarray;
struct strarray phony_targets = empty_strarray;
struct strarray all_targets = empty_strarray;
- char *ldrpath_local = get_expanded_make_variable( make, "LDRPATH_LOCAL" );
- char *ldrpath_install = get_expanded_make_variable( make, "LDRPATH_INSTALL" );
for (i = 0; i < linguas.count; i++)
strarray_add( &mo_files, strmake( "%s/%s.mo", top_obj_dir_path( make, "po" ), linguas.str[i] ));
@@ -2383,28 +2381,6 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
strarray_addall( &all_libs, libs );
strarray_addall( &all_libs, get_expanded_make_var_array( make,
file_local_var( make->programs.str[i], "LDFLAGS" )));
-
- if (strarray_exists( &all_libs, "-lwine" ))
- {
- strarray_add( &all_libs, strmake( "-L%s", top_obj_dir_path( make, "libs/wine" )));
- if (ldrpath_local && ldrpath_install)
- {
- char *program_installed = strmake( "%s-installed%s", make->programs.str[i], exe_ext );
-
- output_filename( ldrpath_local );
- output_filenames( all_libs );
- output_filename( "$(LDFLAGS)" );
- output( "\n" );
- output( "%s:", obj_dir_path( make, program_installed ) );
- output_filenames_obj_dir( make, objs );
- output( "\n" );
- output( "\t$(CC) -o $@" );
- output_filenames_obj_dir( make, objs );
- output_filename( ldrpath_install );
- strarray_add( &all_targets, program_installed );
- }
- }
-
output_filenames( all_libs );
output_filename( "$(LDFLAGS)" );
output( "\n" );
--
2.4.3
From 15ac6de3059fb8b0ebcf0b682a9fe013aba63f33 Mon Sep 17 00:00:00 2001
From: Michael Cronenworth <mike@cchtml.com>
Date: Wed, 4 Nov 2015 23:18:40 -0600
Subject: [PATCH 08/12] Revert "makefiles: Read variable definitions from the
top makefile instead of using Make.vars.in."
This reverts commit ef557a8a8a47100a3a0eb0662c93e38634afed89.
# Conflicts:
# aclocal.m4
# configure
# tools/makedep.c
---
configure | 3 +--
configure.ac | 3 +--
server/Makefile.in | 4 +---
tools/Makefile.in | 16 ++++++++++++++--
tools/make_makefiles | 1 -
tools/makedep.c | 46 +++------------------------------------------
tools/sfnt2fon/Makefile.in | 7 +++++--
tools/widl/Makefile.in | 9 ++++++---
tools/winebuild/Makefile.in | 9 +++++++--
tools/winedump/Makefile.in | 9 +++++++--
tools/winegcc/Makefile.in | 12 +++++++-----
tools/wmc/Makefile.in | 8 ++++++--
tools/wrc/Makefile.in | 8 ++++++--
13 files changed, 64 insertions(+), 71 deletions(-)
diff --git a/configure b/configure
index 534afff..4717706 100755
--- a/configure
+++ b/configure
@@ -14965,8 +14965,7 @@ preloader_EXTRADEFS = $BUILTINFLAG
;;
esac
as_fn_append LOADER_RULES "
-EXTRA_TARGETS = $loader_programs
-all: $loader_programs
+PROGRAMS = $loader_programs
"
diff --git a/configure.ac b/configure.ac
index cdc68fe..c915638 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2059,8 +2059,7 @@ preloader_EXTRADEFS = $BUILTINFLAG
;;
esac
AS_VAR_APPEND([LOADER_RULES],["
-EXTRA_TARGETS = $loader_programs
-all: $loader_programs
+PROGRAMS = $loader_programs
"])
dnl **** Check for functions ****
diff --git a/server/Makefile.in b/server/Makefile.in
index e7fb603..19a4fac 100644
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -45,7 +45,7 @@ C_SRCS = \
window.c \
winstation.c
-EXTRA_TARGETS = wineserver wineserver-installed
+PROGRAMS = wineserver wineserver-installed
MANPAGES = \
wineserver.de.UTF-8.man.in \
@@ -54,8 +54,6 @@ MANPAGES = \
OBJS = $(C_SRCS:.c=.o)
-all: $(EXTRA_TARGETS)
-
wineserver: $(OBJS)
$(CC) -o $@ $(OBJS) $(LIBWINE) $(LIBPORT) $(LDFLAGS) $(EXTRALIBS) $(LIBS) $(LDRPATH_LOCAL)
diff --git a/tools/Makefile.in b/tools/Makefile.in
index bc13cc9..fa7e990 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -1,10 +1,22 @@
PROGRAMS = \
- make_xftmpl
+ make_xftmpl$(EXEEXT)
C_SRCS = \
- make_xftmpl.c
+ make_xftmpl.c \
+ makedep.c
IN_SRCS = \
wineapploader.in
all: wineapploader
+
+make_xftmpl$(EXEEXT): make_xftmpl.o
+ $(CC) $(CFLAGS) -o $@ make_xftmpl.o $(LIBPORT) $(LDFLAGS)
+
+.PHONY: install install-dev uninstall
+
+install install-dev:: install-man-pages
+ $(INSTALL_SCRIPT) $(srcdir)/winemaker $(DESTDIR)$(bindir)/winemaker
+
+uninstall::
+ $(RM) $(DESTDIR)$(bindir)/winemaker
diff --git a/tools/make_makefiles b/tools/make_makefiles
index 069d0ae..266f33a 100755
--- a/tools/make_makefiles
+++ b/tools/make_makefiles
@@ -110,7 +110,6 @@ my %ignored_source_files = (
"dlls/wineps.drv/afm2c.c" => 1,
"dlls/wineps.drv/mkagl.c" => 1,
"programs/winetest/dist.rc" => 1,
- "tools/makedep.c" => 1,
);
my (@linguas, @makefiles, %makefiles);
diff --git a/tools/makedep.c b/tools/makedep.c
index 8c5abde..3c30a0c 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -149,7 +149,6 @@ struct makefile
struct strarray vars;
struct strarray include_args;
struct strarray define_args;
- struct strarray programs;
struct strarray appmode;
struct strarray imports;
struct strarray delayimports;
@@ -1561,19 +1560,6 @@ static struct strarray get_expanded_make_var_array( struct makefile *make, const
/*******************************************************************
- * file_local_var
- */
-static char *file_local_var( const char *file, const char *name )
-{
- char *p, *var;
-
- var = strmake( "%s_%s", file, name );
- for (p = var; *p; p++) if (!isalnum( *p )) *p = '_';
- return var;
-}
-
-
-/*******************************************************************
* set_make_variable
*/
static int set_make_variable( struct strarray *array, const char *assignment )
@@ -1777,7 +1763,7 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
struct strarray includes = empty_strarray;
struct strarray subdirs = empty_strarray;
struct strarray phony_targets = empty_strarray;
- struct strarray all_targets = empty_strarray;
+ struct strarray all_targets = get_expanded_make_var_array( make, "PROGRAMS" );
for (i = 0; i < linguas.count; i++)
strarray_add( &mo_files, strmake( "%s/%s.mo", top_obj_dir_path( make, "po" ), linguas.str[i] ));
@@ -1807,7 +1793,7 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
strarray_add_uniq( &subdirs, subdir );
}
- extradefs = get_expanded_make_var_array( make, file_local_var( obj, "EXTRADEFS" ));
+ extradefs = get_expanded_make_var_array( make, strmake( "%s_EXTRADEFS", obj ));
if (!strcmp( ext, "y" )) /* yacc file */
{
@@ -2283,7 +2269,7 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
for (i = 0; i < make->imports.count; i++)
strarray_add( &all_libs, strmake( "-l%s", make->imports.str[i] ));
- strarray_addall( &all_libs, libs );
+ strarray_addall( &all_libs, get_expanded_make_var_array( make, "LIBS" ));
strarray_add( &all_targets, strmake( "%s%s", testmodule, dll_ext ));
strarray_add( &clean_files, strmake( "%s%s", stripped, dll_ext ));
@@ -2363,30 +2349,6 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
*testlist_files = strarray_replace_extension( &ok_files, ".ok", "" );
}
- for (i = 0; i < make->programs.count; i++)
- {
- char *program = strmake( "%s%s", make->programs.str[i], exe_ext );
- struct strarray all_libs = empty_strarray;
- struct strarray objs = get_expanded_make_var_array( make,
- file_local_var( make->programs.str[i], "OBJS" ));
-
- if (!objs.count) objs = object_files;
- output( "%s:", obj_dir_path( make, program ) );
- output_filenames_obj_dir( make, objs );
- output( "\n" );
- output( "\t$(CC) -o $@" );
- output_filenames_obj_dir( make, objs );
- strarray_add( &all_libs, top_obj_dir_path( make, "libs/port/libwine_port.a" ));
- strarray_addall( &all_libs, get_expanded_make_var_array( make, "EXTRALIBS" ));
- strarray_addall( &all_libs, libs );
- strarray_addall( &all_libs, get_expanded_make_var_array( make,
- file_local_var( make->programs.str[i], "LDFLAGS" )));
- output_filenames( all_libs );
- output_filename( "$(LDFLAGS)" );
- output( "\n" );
- strarray_add( &all_targets, program );
- }
-
if (all_targets.count)
{
output( "all:" );
@@ -2670,7 +2632,6 @@ static void update_makefile( const char *path )
make->staticlib = get_expanded_make_variable( make, "STATICLIB" );
make->importlib = get_expanded_make_variable( make, "IMPORTLIB" );
- make->programs = get_expanded_make_var_array( make, "PROGRAMS" );
make->appmode = get_expanded_make_var_array( make, "APPMODE" );
make->imports = get_expanded_make_var_array( make, "IMPORTS" );
make->delayimports = get_expanded_make_var_array( make, "DELAYIMPORTS" );
@@ -2855,7 +2816,6 @@ int main( int argc, char *argv[] )
if (root_src_dir && !strcmp( root_src_dir, "." )) root_src_dir = NULL;
if (tools_dir && !strcmp( tools_dir, "." )) tools_dir = NULL;
- if (!exe_ext) exe_ext = "";
if (!tools_ext) tools_ext = "";
if (!dll_prefix) dll_prefix = "";
if (!man_ext) man_ext = "3w";
diff --git a/tools/sfnt2fon/Makefile.in b/tools/sfnt2fon/Makefile.in
index 5a92d85..a975154 100644
--- a/tools/sfnt2fon/Makefile.in
+++ b/tools/sfnt2fon/Makefile.in
@@ -1,6 +1,9 @@
-PROGRAMS = sfnt2fon
+PROGRAMS = sfnt2fon$(EXEEXT)
C_SRCS = sfnt2fon.c
EXTRAINCL = $(FREETYPE_CFLAGS)
-EXTRALIBS = $(FREETYPE_LIBS) $(LIBWINE_STATIC)
+EXTRALIBS = $(FREETYPE_LIBS)
+
+sfnt2fon$(EXEEXT): sfnt2fon.o
+ $(CC) $(CFLAGS) -o $@ sfnt2fon.o $(LIBWINE_STATIC) $(LIBPORT) $(EXTRALIBS) $(LDFLAGS)
diff --git a/tools/widl/Makefile.in b/tools/widl/Makefile.in
index 0c5595e..a57f54f 100644
--- a/tools/widl/Makefile.in
+++ b/tools/widl/Makefile.in
@@ -1,4 +1,4 @@
-PROGRAMS = widl
+PROGRAMS = widl$(EXEEXT)
MANPAGES = widl.man.in
C_SRCS = \
@@ -21,11 +21,14 @@ BISON_SRCS = parser.y
widl_EXTRADEFS = -DDEFAULT_INCLUDE_DIR=\"${includedir}/windows/\"
-EXTRALIBS = $(LIBWPP)
+OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o)
+
+widl$(EXEEXT): $(OBJS) $(LIBWPP)
+ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBWPP) $(LIBPORT) $(LDFLAGS)
.PHONY: install install-dev uninstall
-install install-dev:: widl$(EXEEXT) install-man-pages
+install install-dev:: $(PROGRAMS) install-man-pages
$(INSTALL_PROGRAM) widl$(EXEEXT) $(DESTDIR)$(bindir)/widl$(EXEEXT)
uninstall::
diff --git a/tools/winebuild/Makefile.in b/tools/winebuild/Makefile.in
index 3958902..f5f4603 100644
--- a/tools/winebuild/Makefile.in
+++ b/tools/winebuild/Makefile.in
@@ -1,4 +1,4 @@
-PROGRAMS = winebuild
+PROGRAMS = winebuild$(EXEEXT)
MANPAGES = winebuild.man.in
C_SRCS = \
@@ -12,9 +12,14 @@ C_SRCS = \
spec32.c \
utils.c
+OBJS = $(C_SRCS:.c=.o)
+
+winebuild$(EXEEXT): $(OBJS)
+ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBPORT) $(LDFLAGS)
+
.PHONY: install install-dev uninstall
-install install-dev:: winebuild$(EXEEXT) install-man-pages
+install install-dev:: $(PROGRAMS) install-man-pages
$(INSTALL_PROGRAM) winebuild$(EXEEXT) $(DESTDIR)$(bindir)/winebuild$(EXEEXT)
uninstall::
diff --git a/tools/winedump/Makefile.in b/tools/winedump/Makefile.in
index dd36cff..7b925c3 100644
--- a/tools/winedump/Makefile.in
+++ b/tools/winedump/Makefile.in
@@ -1,4 +1,4 @@
-PROGRAMS = winedump
+PROGRAMS = winedump$(EXEEXT)
MANPAGES = winedump.man.in
C_SRCS = \
@@ -23,9 +23,14 @@ C_SRCS = \
symbol.c \
tlb.c
+OBJS = $(C_SRCS:.c=.o)
+
+winedump$(EXEEXT): $(OBJS)
+ $(CC) $(CFLAGS) -o winedump$(EXEEXT) $(OBJS) $(LIBPORT) $(LDFLAGS)
+
.PHONY: install install-dev uninstall
-install install-dev:: winedump$(EXEEXT) install-man-pages
+install install-dev:: $(PROGRAMS) install-man-pages
$(INSTALL_PROGRAM) winedump$(EXEEXT) $(DESTDIR)$(bindir)/winedump$(EXEEXT)
$(INSTALL_SCRIPT) $(srcdir)/function_grep.pl $(DESTDIR)$(bindir)/function_grep.pl
diff --git a/tools/winegcc/Makefile.in b/tools/winegcc/Makefile.in
index 3c0670b..370a2e4 100644
--- a/tools/winegcc/Makefile.in
+++ b/tools/winegcc/Makefile.in
@@ -1,4 +1,7 @@
-PROGRAMS = winegcc
+PROGRAMS = \
+ winecpp$(EXEEXT) \
+ winegcc$(EXEEXT) \
+ wineg++$(EXEEXT)
MANPAGES = winegcc.man.in
@@ -16,16 +19,15 @@ winegcc_EXTRADEFS = \
-DLD="\"$(LD)\"" \
-DPRELINK="\"$(PRELINK)\""
-EXTRA_TARGETS = winecpp$(EXEEXT) wineg++$(EXEEXT)
-
-all: $(EXTRA_TARGETS)
+winegcc$(EXEEXT): winegcc.o utils.o
+ $(CC) $(CFLAGS) -o $@ winegcc.o utils.o $(LIBPORT) $(LDFLAGS)
winecpp$(EXEEXT) wineg++$(EXEEXT): winegcc$(EXEEXT)
$(RM) $@ && $(LN_S) winegcc$(EXEEXT) $@
.PHONY: install install-dev uninstall
-install install-dev:: winegcc$(EXEEXT) install-man-pages
+install install-dev:: $(PROGRAMS) install-man-pages
$(INSTALL_PROGRAM) winegcc$(EXEEXT) $(DESTDIR)$(bindir)/winegcc$(EXEEXT)
cd $(DESTDIR)$(bindir) && $(RM) wineg++$(EXEEXT) && $(LN_S) winegcc$(EXEEXT) wineg++$(EXEEXT)
cd $(DESTDIR)$(bindir) && $(RM) winecpp$(EXEEXT) && $(LN_S) winegcc$(EXEEXT) winecpp$(EXEEXT)
diff --git a/tools/wmc/Makefile.in b/tools/wmc/Makefile.in
index 12a917d..c163e34 100644
--- a/tools/wmc/Makefile.in
+++ b/tools/wmc/Makefile.in
@@ -1,5 +1,6 @@
-PROGRAMS = wmc
+PROGRAMS = wmc$(EXEEXT)
MANPAGES = wmc.man.in
+ALL_LIBS = $(GETTEXTPO_LIBS) $(LIBWINE_STATIC) $(LIBPORT)
C_SRCS = \
lang.c \
@@ -11,7 +12,10 @@ C_SRCS = \
BISON_SRCS = mcy.y
-EXTRALIBS = $(GETTEXTPO_LIBS) $(LIBWINE_STATIC)
+OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o)
+
+wmc$(EXEEXT): $(OBJS)
+ $(CC) $(CFLAGS) -o $@ $(OBJS) $(ALL_LIBS) $(LDFLAGS)
.PHONY: install install-dev uninstall
diff --git a/tools/wrc/Makefile.in b/tools/wrc/Makefile.in
index b6f8093..056de1c 100644
--- a/tools/wrc/Makefile.in
+++ b/tools/wrc/Makefile.in
@@ -1,5 +1,6 @@
-PROGRAMS = wrc
+PROGRAMS = wrc$(EXEEXT)
MANPAGES = wrc.man.in
+ALL_LIBS = $(GETTEXTPO_LIBS) $(LIBWPP) $(LIBWINE_STATIC) $(LIBPORT)
C_SRCS = \
dumpres.c \
@@ -17,7 +18,10 @@ BISON_SRCS = parser.y
wrc_EXTRADEFS = -DINCLUDEDIR="\"${includedir}\""
-EXTRALIBS = $(GETTEXTPO_LIBS) $(LIBWPP) $(LIBWINE_STATIC)
+OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o)
+
+wrc$(EXEEXT): $(OBJS) $(LIBWPP)
+ $(CC) $(CFLAGS) -o $@ $(OBJS) $(ALL_LIBS) $(LDFLAGS)
.PHONY: install install-dev uninstall
--
2.4.3
From 049cf292e292f135ca304a23a596bb9e32e9ae9b Mon Sep 17 00:00:00 2001
From: Michael Cronenworth <mike@cchtml.com>
Date: Wed, 4 Nov 2015 23:18:56 -0600
Subject: [PATCH 09/12] Revert "makefiles: Fix expansion of '$$' in make
variables."
This reverts commit 581be47a45b2c566083e543d28609708b26002e2.
---
tools/makedep.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/tools/makedep.c b/tools/makedep.c
index 3c30a0c..c81a57e 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -1518,21 +1518,23 @@ static char *get_expanded_make_variable( struct makefile *make, const char *name
var = get_make_variable( make, p + 2 );
tmp = replace_substr( expand, p, end - p, var ? var : "" );
free( var );
- /* switch to the new string */
- p = tmp + (p - expand);
- free( expand );
- expand = tmp;
}
else if (p[1] == '{') /* don't expand ${} variables */
{
if (!(end = strchr( p + 2, '}' ))) fatal_error( "syntax error in '%s'\n", expand );
p = end + 1;
+ continue;
}
else if (p[1] == '$')
{
- p += 2;
+ tmp = replace_substr( expand, p, 2, "$" );
}
else fatal_error( "syntax error in '%s'\n", expand );
+
+ /* switch to the new string */
+ p = tmp + (p - expand);
+ free( expand );
+ expand = tmp;
}
/* consider empty variables undefined */
--
2.4.3
From 0b4781cbc1c55118361539779557e64211b9a246 Mon Sep 17 00:00:00 2001
From: Michael Cronenworth <mike@cchtml.com>
Date: Wed, 4 Nov 2015 23:19:06 -0600
Subject: [PATCH 10/12] Revert "makefiles: Avoid running config.status when not
necessary."
This reverts commit e0b1e8154dccd8a238a7cf6afb8e96520248ebd7.
---
aclocal.m4 | 17 +++--------------
configure | 23 ++++++-----------------
configure.ac | 6 +++---
tools/make_makefiles | 4 ----
tools/makedep.c | 48 +++++++++---------------------------------------
5 files changed, 21 insertions(+), 77 deletions(-)
diff --git a/aclocal.m4 b/aclocal.m4
index e236c92..13bab9b 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -225,24 +225,13 @@ wine_fn_has_flag ()
wine_fn_depend_rules ()
{
- if wine_fn_has_flag config
- then
- wine_fn_append_rule \
+ wine_fn_append_rule \
"$ac_dir/Makefile: $srcdir/$ac_dir/Makefile.in Makefile config.status \$(MAKEDEP)
- @./config.status --file $ac_dir/Makefile && \$(MAKEDEP) -iMakefile $ac_dir
+ @./config.status --file $ac_dir/Makefile && \$(MAKEDEP) $ac_dir
depend: $ac_dir/depend
.PHONY: $ac_dir/depend
$ac_dir/depend: \$(MAKEDEP) dummy
- @./config.status --file $ac_dir/Makefile && \$(MAKEDEP) -iMakefile $ac_dir"
- else
- wine_fn_append_rule \
-"$ac_dir/Makefile: $srcdir/$ac_dir/Makefile.in Makefile \$(MAKEDEP)
- \$(MAKEDEP) $ac_dir
-depend: $ac_dir/depend
-.PHONY: $ac_dir/depend
-$ac_dir/depend: \$(MAKEDEP) dummy
- \$(MAKEDEP) $ac_dir"
- fi
+ @./config.status --file $ac_dir/Makefile && \$(MAKEDEP) $ac_dir"
}
wine_fn_pot_rules ()
diff --git a/configure b/configure
index 4717706..659f513 100755
--- a/configure
+++ b/configure
@@ -7389,24 +7389,13 @@ wine_fn_has_flag ()
wine_fn_depend_rules ()
{
- if wine_fn_has_flag config
- then
- wine_fn_append_rule \
+ wine_fn_append_rule \
"$ac_dir/Makefile: $srcdir/$ac_dir/Makefile.in Makefile config.status \$(MAKEDEP)
- @./config.status --file $ac_dir/Makefile && \$(MAKEDEP) -iMakefile $ac_dir
+ @./config.status --file $ac_dir/Makefile && \$(MAKEDEP) $ac_dir
depend: $ac_dir/depend
.PHONY: $ac_dir/depend
$ac_dir/depend: \$(MAKEDEP) dummy
- @./config.status --file $ac_dir/Makefile && \$(MAKEDEP) -iMakefile $ac_dir"
- else
- wine_fn_append_rule \
-"$ac_dir/Makefile: $srcdir/$ac_dir/Makefile.in Makefile \$(MAKEDEP)
- \$(MAKEDEP) $ac_dir
-depend: $ac_dir/depend
-.PHONY: $ac_dir/depend
-$ac_dir/depend: \$(MAKEDEP) dummy
- \$(MAKEDEP) $ac_dir"
- fi
+ @./config.status --file $ac_dir/Makefile && \$(MAKEDEP) $ac_dir"
}
wine_fn_pot_rules ()
@@ -18055,9 +18044,9 @@ wine_fn_config_makefile documentation enable_documentation clean
wine_fn_config_makefile fonts enable_fonts clean,install-lib
wine_fn_config_makefile include enable_include clean,install-dev
wine_fn_config_makefile libs/port enable_libs_port
-wine_fn_config_makefile libs/wine enable_libs_wine clean,config,install-dev,install-lib
+wine_fn_config_makefile libs/wine enable_libs_wine clean,install-dev,install-lib
wine_fn_config_makefile libs/wpp enable_libs_wpp
-wine_fn_config_makefile loader enable_loader clean,config,install-lib,manpage
+wine_fn_config_makefile loader enable_loader clean,install-lib,manpage
wine_fn_config_program arp enable_arp install
wine_fn_config_program aspnet_regiis enable_aspnet_regiis install
wine_fn_config_program attrib enable_attrib install,po
@@ -18135,7 +18124,7 @@ wine_fn_config_program winemenubuilder enable_winemenubuilder install
wine_fn_config_program winemine enable_winemine install,installbin,manpage,po
wine_fn_config_program winemsibuilder enable_winemsibuilder install
wine_fn_config_program winepath enable_winepath install,installbin,manpage
-wine_fn_config_program winetest enable_winetest clean,config
+wine_fn_config_program winetest enable_winetest clean
wine_fn_config_program winevdm enable_win16 install
wine_fn_config_program winhelp.exe16 enable_win16 install
wine_fn_config_program winhlp32 enable_winhlp32 install,po
diff --git a/configure.ac b/configure.ac
index c915638..f6449a6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3504,9 +3504,9 @@ WINE_CONFIG_MAKEFILE([documentation],,[clean])
WINE_CONFIG_MAKEFILE([fonts],,[clean,install-lib])
WINE_CONFIG_MAKEFILE([include],,[clean,install-dev])
WINE_CONFIG_MAKEFILE([libs/port])
-WINE_CONFIG_MAKEFILE([libs/wine],,[clean,config,install-dev,install-lib])
+WINE_CONFIG_MAKEFILE([libs/wine],,[clean,install-dev,install-lib])
WINE_CONFIG_MAKEFILE([libs/wpp])
-WINE_CONFIG_MAKEFILE([loader],,[clean,config,install-lib,manpage])
+WINE_CONFIG_MAKEFILE([loader],,[clean,install-lib,manpage])
WINE_CONFIG_PROGRAM(arp,,[install])
WINE_CONFIG_PROGRAM(aspnet_regiis,,[install])
WINE_CONFIG_PROGRAM(attrib,,[install,po])
@@ -3584,7 +3584,7 @@ WINE_CONFIG_PROGRAM(winemenubuilder,,[install])
WINE_CONFIG_PROGRAM(winemine,,[install,installbin,manpage,po])
WINE_CONFIG_PROGRAM(winemsibuilder,,[install])
WINE_CONFIG_PROGRAM(winepath,,[install,installbin,manpage])
-WINE_CONFIG_PROGRAM(winetest,,[clean,config])
+WINE_CONFIG_PROGRAM(winetest,,[clean])
WINE_CONFIG_PROGRAM(winevdm,enable_win16,[install])
WINE_CONFIG_PROGRAM(winhelp.exe16,enable_win16,[install])
WINE_CONFIG_PROGRAM(winhlp32,,[install,po])
diff --git a/tools/make_makefiles b/tools/make_makefiles
index 266f33a..f0b40c0 100755
--- a/tools/make_makefiles
+++ b/tools/make_makefiles
@@ -282,10 +282,6 @@ sub parse_makefile($)
{
die "Variable $1 in $file.in is obsolete";
}
- if (/\@[A-Z_]+\@/) # config.status substitution variable
- {
- ${$make{"=flags"}}{"config"} = 1;
- }
}
if ($file =~ /^programs\/([^\/]+)\/Makefile/)
diff --git a/tools/makedep.c b/tools/makedep.c
index c81a57e..104711e 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -171,8 +171,7 @@ struct makefile
static struct makefile *top_makefile;
-static const char *output_makefile_name = "Makefile";
-static const char *input_makefile_name;
+static const char *makefile_name = "Makefile";
static const char *input_file_name;
static const char *output_file_name;
static const char *temp_file_name;
@@ -185,8 +184,7 @@ static const char Usage[] =
"Usage: makedep [options] directories\n"
"Options:\n"
" -R from to Compute the relative path between two directories\n"
- " -fxxx Store output in file 'xxx' (default: Makefile)\n"
- " -ixxx Read input from file 'xxx' (default: Makefile.in)\n";
+ " -fxxx Store output in file 'xxx' (default: Makefile)\n";
#ifndef __GNUC__
@@ -1462,28 +1460,6 @@ static struct incl_file *add_src_file( struct makefile *make, const char *name )
/*******************************************************************
- * open_input_makefile
- */
-static FILE *open_input_makefile( struct makefile *make )
-{
- FILE *ret;
-
- if (make->base_dir)
- input_file_name = base_dir_path( make, input_makefile_name );
- else
- input_file_name = output_makefile_name; /* always use output name for main Makefile */
-
- input_line = 0;
- if (!(ret = fopen( input_file_name, "r" )))
- {
- input_file_name = root_dir_path( input_file_name );
- if (!(ret = fopen( input_file_name, "r" ))) fatal_perror( "open" );
- }
- return ret;
-}
-
-
-/*******************************************************************
* get_make_variable
*/
static char *get_make_variable( struct makefile *make, const char *name )
@@ -1602,7 +1578,10 @@ static struct makefile *parse_makefile( const char *path, const char *separator
if (!strcmp( make->base_dir, "." )) make->base_dir = NULL;
}
- file = open_input_makefile( make );
+ input_file_name = base_dir_path( make, makefile_name );
+ if (!(file = fopen( input_file_name, "r" ))) fatal_perror( "open" );
+
+ input_line = 0;
while ((buffer = get_line( file )))
{
if (separator && !strncmp( buffer, separator, strlen(separator) )) break;
@@ -2559,16 +2538,15 @@ static void output_dependencies( struct makefile *make )
char buffer[1024];
FILE *src_file;
- output_file_name = base_dir_path( make, output_makefile_name );
+ output_file_name = base_dir_path( make, makefile_name );
output_file = create_temp_file( output_file_name );
output_top_variables( make );
/* copy the contents of the source makefile */
- src_file = open_input_makefile( make );
+ if (!(src_file = fopen( output_file_name, "r" ))) fatal_perror( "open" );
while (fgets( buffer, sizeof(buffer), src_file ))
if (fwrite( buffer, 1, strlen(buffer), output_file ) != strlen(buffer)) fatal_perror( "write" );
if (fclose( src_file )) fatal_perror( "close" );
- input_file_name = NULL;
targets = output_sources( make, &testlist_files );
@@ -2662,9 +2640,6 @@ static void update_makefile( const char *path )
list_init( &make->sources );
list_init( &make->includes );
- /* FIXME: target dir has to exist to allow locating srcdir-relative include files */
- if (make->base_dir) create_dir( make->base_dir );
-
for (var = source_vars; *var; var++)
{
value = get_expanded_make_var_array( make, *var );
@@ -2725,10 +2700,7 @@ static int parse_option( const char *opt )
switch(opt[1])
{
case 'f':
- if (opt[2]) output_makefile_name = opt + 2;
- break;
- case 'i':
- if (opt[2]) input_makefile_name = opt + 2;
+ if (opt[2]) makefile_name = opt + 2;
break;
case 'R':
relative_dir_mode = 1;
@@ -2790,8 +2762,6 @@ int main( int argc, char *argv[] )
for (i = 0; i < HASH_SIZE; i++) list_init( &files[i] );
- if (!input_makefile_name) input_makefile_name = strmake( "%s.in", output_makefile_name );
-
top_makefile = parse_makefile( NULL, "# End of common header" );
linguas = get_expanded_make_var_array( top_makefile, "LINGUAS" );
--
2.4.3
From c28d8ee034dcabeed5cbddc03d64914c5ca36aab Mon Sep 17 00:00:00 2001
From: Michael Cronenworth <mike@cchtml.com>
Date: Wed, 4 Nov 2015 23:19:13 -0600
Subject: [PATCH 11/12] Revert "makefiles: Get rid of the support for updating
a makefile in place."
This reverts commit 6222e49c37c1fa9120bd3eff6fc48dc902f2d312.
---
tools/makedep.c | 49 +++++++++++++++++++++++++++++++++----------------
1 file changed, 33 insertions(+), 16 deletions(-)
diff --git a/tools/makedep.c b/tools/makedep.c
index 104711e..119294b 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -172,6 +172,7 @@ struct makefile
static struct makefile *top_makefile;
static const char *makefile_name = "Makefile";
+static const char *Separator = "### Dependencies";
static const char *input_file_name;
static const char *output_file_name;
static const char *temp_file_name;
@@ -184,7 +185,8 @@ static const char Usage[] =
"Usage: makedep [options] directories\n"
"Options:\n"
" -R from to Compute the relative path between two directories\n"
- " -fxxx Store output in file 'xxx' (default: Makefile)\n";
+ " -fxxx Store output in file 'xxx' (default: Makefile)\n"
+ " -sxxx Use 'xxx' as separator (default: \"### Dependencies\")\n";
#ifndef __GNUC__
@@ -2532,27 +2534,38 @@ static void output_top_variables( struct makefile *make )
/*******************************************************************
* output_dependencies
*/
-static void output_dependencies( struct makefile *make )
+static void output_dependencies( struct makefile *make, const char *path )
{
struct strarray targets, testlist_files = empty_strarray, ignore_files = empty_strarray;
- char buffer[1024];
FILE *src_file;
- output_file_name = base_dir_path( make, makefile_name );
- output_file = create_temp_file( output_file_name );
- output_top_variables( make );
+ if (Separator && ((src_file = fopen( path, "r" ))))
+ {
+ char buffer[1024];
+ int found = 0;
- /* copy the contents of the source makefile */
- if (!(src_file = fopen( output_file_name, "r" ))) fatal_perror( "open" );
- while (fgets( buffer, sizeof(buffer), src_file ))
- if (fwrite( buffer, 1, strlen(buffer), output_file ) != strlen(buffer)) fatal_perror( "write" );
- if (fclose( src_file )) fatal_perror( "close" );
+ output_file = create_temp_file( path );
+ output_top_variables( make );
+ while (fgets( buffer, sizeof(buffer), src_file ) && !found)
+ {
+ if (fwrite( buffer, 1, strlen(buffer), output_file ) != strlen(buffer)) fatal_perror( "write" );
+ found = !strncmp( buffer, Separator, strlen(Separator) );
+ }
+ if (fclose( src_file )) fatal_perror( "close" );
+ if (!found) output( "\n%s\n", Separator );
+ }
+ else
+ {
+ if (!(output_file = fopen( path, Separator ? "a" : "w" )))
+ fatal_perror( "%s", path );
+ output_top_variables( make );
+ }
targets = output_sources( make, &testlist_files );
fclose( output_file );
output_file = NULL;
- rename_temp_file( output_file_name );
+ if (temp_file_name) rename_temp_file( path );
strarray_add( &ignore_files, ".gitignore" );
strarray_add( &ignore_files, "Makefile" );
@@ -2563,8 +2576,6 @@ static void output_dependencies( struct makefile *make )
output_testlist( base_dir_path( make, "testlist.c" ), testlist_files );
if (!make->src_dir && make->base_dir)
output_gitignore( base_dir_path( make, ".gitignore" ), ignore_files );
-
- output_file_name = NULL;
}
@@ -2595,7 +2606,7 @@ static void update_makefile( const char *path )
struct incl_file *file;
struct makefile *make;
- make = parse_makefile( path, NULL );
+ make = parse_makefile( path, Separator );
if (root_src_dir)
{
@@ -2660,7 +2671,9 @@ static void update_makefile( const char *path )
LIST_FOR_EACH_ENTRY( file, &make->includes, struct incl_file, entry ) parse_file( make, file, 0 );
- output_dependencies( make );
+ output_file_name = base_dir_path( make, makefile_name );
+ output_dependencies( make, output_file_name );
+ output_file_name = NULL;
}
@@ -2705,6 +2718,10 @@ static int parse_option( const char *opt )
case 'R':
relative_dir_mode = 1;
break;
+ case 's':
+ if (opt[2]) Separator = opt + 2;
+ else Separator = NULL;
+ break;
default:
fprintf( stderr, "Unknown option '%s'\n%s", opt, Usage );
exit(1);
--
2.4.3
From 6b23dbddf40220c570d0b73fba2c8355ce0f8aa4 Mon Sep 17 00:00:00 2001
From: Michael Cronenworth <mike@cchtml.com>
Date: Wed, 4 Nov 2015 23:19:21 -0600
Subject: [PATCH 12/12] Revert "makefiles: Read variable definitions from the
top makefile instead of using Make.vars.in."
9 years ago
This reverts commit ef557a8a8a47100a3a0eb0662c93e38634afed89.
---
Make.vars.in | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Makefile.in | 76 --------------------------------------------------------
aclocal.m4 | 6 ++---
configure | 12 ++++-----
configure.ac | 4 +--
tools/makedep.c | 33 +++++--------------------
6 files changed, 94 insertions(+), 114 deletions(-)
create mode 100644 Make.vars.in
diff --git a/Make.vars.in b/Make.vars.in
new file mode 100644
index 0000000..e2de171
--- /dev/null
+++ b/Make.vars.in
@@ -0,0 +1,77 @@
+# @configure_input@ -*-Makefile-*-
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+libdir = @libdir@
+datarootdir = @datarootdir@
+datadir = @datadir@
+mandir = @mandir@
+fontdir = ${datadir}/wine/fonts
+includedir = @includedir@/wine
+dlldir = @dlldir@
+fakedlldir = ${dlldir}/fakedlls
+top_srcdir = @top_srcdir@
+top_builddir = @top_builddir@
+srcdir = @srcdir@
+SHELL = /bin/sh
+RM = rm -f
+MV = mv
+CC = @CC@
+CXX = @CXX@
+CPPBIN = @CPPBIN@
+CROSSCC = @CROSSCC@
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+EXTRACFLAGS = @EXTRACFLAGS@
+MSVCRTFLAGS = @BUILTINFLAG@
+TARGETFLAGS = @TARGETFLAGS@
+UNWINDFLAGS = @UNWINDFLAGS@
+LIBS = @LIBS@
+BISON = @BISON@
+FLEX = @FLEX@
+EXEEXT = @EXEEXT@
+DLLPREFIX = @DLLPREFIX@
+TOOLSEXT = @TOOLSEXT@
+DLLTOOL = @DLLTOOL@
+AR = @AR@
+ARFLAGS = @ARFLAGS@
+RANLIB = @RANLIB@
+STRIP = @STRIP@
+LN_S = @LN_S@
+TOOLSDIR = @TOOLSDIR@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+DLLFLAGS = @DLLFLAGS@
+PRELINK = @PRELINK@
+FONTFORGE = @FONTFORGE@
+RSVG = @RSVG@
+CONVERT = @CONVERT@
+ICOTOOL = @ICOTOOL@
+MSGFMT = @MSGFMT@
+CROSSTARGET = @CROSSTARGET@
+LINGUAS = @LINGUAS@
+RUNTESTFLAGS = -q -P wine
+MAKEDEP = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
+WINEBUILD = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT)
+WRC = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT)
+LIBPORT = $(top_builddir)/libs/port/libwine_port.a
+LIBWPP = $(top_builddir)/libs/wpp/libwpp.a
+LIBWINE = -L$(top_builddir)/libs/wine -lwine
+LIBWINE_STATIC = $(top_builddir)/libs/wine/libwine_static.a
+SED_CMD = LC_ALL=C sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,@PACKAGE_STRING@,g' -e 's,@PACKAGE_VERSION\@,@PACKAGE_VERSION@,g'
+LDRPATH_INSTALL = @LDRPATH_INSTALL@
+LDRPATH_LOCAL = @LDRPATH_LOCAL@
+INSTALL_PROGRAM = STRIPPROG="$(STRIP)" $(top_srcdir)/tools/install-sh $(INSTALL_PROGRAM_FLAGS)
+INSTALL_SCRIPT = $(top_srcdir)/tools/install-sh $(INSTALL_SCRIPT_FLAGS)
+INSTALL_DATA = $(top_srcdir)/tools/install-sh -m 644 $(INSTALL_DATA_FLAGS)
+prog_manext = 1
+api_manext = 3w
+conf_manext = 5
+@ALL_VARS_RULES@
+@SET_MAKE@
+
+all:
+.PHONY: all
+
+# End of common header
diff --git a/Makefile.in b/Makefile.in
index fc37ae2..9c5158d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -18,82 +18,6 @@
# sgmlpages: compile sgml source for the Wine API Guide
# xmlpages: compile xml source for the Wine API Guide
-# Start of common header
-# The following variable definitions are copied into all makefiles
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-bindir = @bindir@
-libdir = @libdir@
-datarootdir = @datarootdir@
-datadir = @datadir@
-mandir = @mandir@
-fontdir = ${datadir}/wine/fonts
-includedir = @includedir@/wine
-dlldir = @dlldir@
-fakedlldir = ${dlldir}/fakedlls
-top_srcdir = @top_srcdir@
-top_builddir = @top_builddir@
-srcdir = @srcdir@
-SHELL = /bin/sh
-RM = rm -f
-MV = mv
-CC = @CC@
-CXX = @CXX@
-CPPBIN = @CPPBIN@
-CROSSCC = @CROSSCC@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
-EXTRACFLAGS = @EXTRACFLAGS@
-MSVCRTFLAGS = @BUILTINFLAG@
-TARGETFLAGS = @TARGETFLAGS@
-UNWINDFLAGS = @UNWINDFLAGS@
-LIBS = @LIBS@
-BISON = @BISON@
-FLEX = @FLEX@
-EXEEXT = @EXEEXT@
-DLLPREFIX = @DLLPREFIX@
-TOOLSEXT = @TOOLSEXT@
-DLLTOOL = @DLLTOOL@
-AR = @AR@
-ARFLAGS = @ARFLAGS@
-RANLIB = @RANLIB@
-STRIP = @STRIP@
-LN_S = @LN_S@
-TOOLSDIR = @TOOLSDIR@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-DLLFLAGS = @DLLFLAGS@
-PRELINK = @PRELINK@
-FONTFORGE = @FONTFORGE@
-RSVG = @RSVG@
-CONVERT = @CONVERT@
-ICOTOOL = @ICOTOOL@
-MSGFMT = @MSGFMT@
-CROSSTARGET = @CROSSTARGET@
-LINGUAS = @LINGUAS@
-RUNTESTFLAGS = -q -P wine
-MAKEDEP = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
-WINEBUILD = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT)
-WRC = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT)
-LIBPORT = $(top_builddir)/libs/port/libwine_port.a
-LIBWPP = $(top_builddir)/libs/wpp/libwpp.a
-LIBWINE = -L$(top_builddir)/libs/wine -lwine
-LIBWINE_STATIC = $(top_builddir)/libs/wine/libwine_static.a
-SED_CMD = LC_ALL=C sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,@PACKAGE_STRING@,g' -e 's,@PACKAGE_VERSION\@,@PACKAGE_VERSION@,g'
-LDRPATH_INSTALL = @LDRPATH_INSTALL@
-LDRPATH_LOCAL = @LDRPATH_LOCAL@
-INSTALL_PROGRAM = STRIPPROG="$(STRIP)" $(top_srcdir)/tools/install-sh $(INSTALL_PROGRAM_FLAGS)
-INSTALL_SCRIPT = $(top_srcdir)/tools/install-sh $(INSTALL_SCRIPT_FLAGS)
-INSTALL_DATA = $(top_srcdir)/tools/install-sh -m 644 $(INSTALL_DATA_FLAGS)
-prog_manext = 1
-api_manext = 3w
-conf_manext = 5
-@ALL_VARS_RULES@
-@SET_MAKE@
-
-# End of common header
-
all: wine
@echo "Wine build complete."
diff --git a/aclocal.m4 b/aclocal.m4
index 13bab9b..f7a12f1 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -226,12 +226,12 @@ wine_fn_has_flag ()
wine_fn_depend_rules ()
{
wine_fn_append_rule \
-"$ac_dir/Makefile: $srcdir/$ac_dir/Makefile.in Makefile config.status \$(MAKEDEP)
- @./config.status --file $ac_dir/Makefile && \$(MAKEDEP) $ac_dir
+"$ac_dir/Makefile: $srcdir/$ac_dir/Makefile.in $srcdir/Make.vars.in config.status \$(MAKEDEP)
+ @./config.status --file $ac_dir/Makefile:Make.vars.in:$ac_dir/Makefile.in && \$(MAKEDEP) $ac_dir
depend: $ac_dir/depend
.PHONY: $ac_dir/depend
$ac_dir/depend: \$(MAKEDEP) dummy
- @./config.status --file $ac_dir/Makefile && \$(MAKEDEP) $ac_dir"
+ @./config.status --file $ac_dir/Makefile:Make.vars.in:$ac_dir/Makefile.in && \$(MAKEDEP) $ac_dir"
}
wine_fn_pot_rules ()
diff --git a/configure b/configure
index 659f513..dcaf8a8 100755
9 years ago
--- a/configure
+++ b/configure
@@ -7390,12 +7390,12 @@ wine_fn_has_flag ()
wine_fn_depend_rules ()
{
wine_fn_append_rule \
-"$ac_dir/Makefile: $srcdir/$ac_dir/Makefile.in Makefile config.status \$(MAKEDEP)
- @./config.status --file $ac_dir/Makefile && \$(MAKEDEP) $ac_dir
+"$ac_dir/Makefile: $srcdir/$ac_dir/Makefile.in $srcdir/Make.vars.in config.status \$(MAKEDEP)
+ @./config.status --file $ac_dir/Makefile:Make.vars.in:$ac_dir/Makefile.in && \$(MAKEDEP) $ac_dir
depend: $ac_dir/depend
.PHONY: $ac_dir/depend
$ac_dir/depend: \$(MAKEDEP) dummy
- @./config.status --file $ac_dir/Makefile && \$(MAKEDEP) $ac_dir"
+ @./config.status --file $ac_dir/Makefile:Make.vars.in:$ac_dir/Makefile.in && \$(MAKEDEP) $ac_dir"
}
wine_fn_pot_rules ()
@@ -17221,7 +17221,7 @@ CLEAN_FILES = *.o *.a *.so *.res *.fake *.ok *.tab.[ch] *.yy.c
9 years ago
.INIT: Makefile
.MAKEFILEDEPS:
all: Makefile
-Makefile: $srcdir/Makefile.in config.status \$(MAKEDEP)
+Makefile: $srcdir/Makefile.in $srcdir/Make.vars.in config.status \$(MAKEDEP)
@./config.status Make.tmp Makefile"
test "$srcdir" = . && wine_fn_append_rule "all: .gitignore
@@ -18222,7 +18222,7 @@ fi
9 years ago
ac_config_commands="$ac_config_commands Makefile"
-ac_config_files="$ac_config_files Make.tmp:Makefile.in"
+ac_config_files="$ac_config_files Make.tmp:Make.vars.in:Makefile.in"
@@ -19039,7 +19039,7 @@ do
9 years ago
"wine64") CONFIG_LINKS="$CONFIG_LINKS wine64:tools/winewrapper" ;;
"tools/makedep") CONFIG_COMMANDS="$CONFIG_COMMANDS tools/makedep" ;;
"Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
- "Make.tmp") CONFIG_FILES="$CONFIG_FILES Make.tmp:Makefile.in" ;;
+ "Make.tmp") CONFIG_FILES="$CONFIG_FILES Make.tmp:Make.vars.in:Makefile.in" ;;
".gitignore") CONFIG_COMMANDS="$CONFIG_COMMANDS .gitignore" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
diff --git a/configure.ac b/configure.ac
index f6449a6..8f77155 100644
9 years ago
--- a/configure.ac
+++ b/configure.ac
@@ -2692,7 +2692,7 @@ CLEAN_FILES = *.o *.a *.so *.res *.fake *.ok *.tab.[[ch]] *.yy.c
9 years ago
.INIT: Makefile
.MAKEFILEDEPS:
all: Makefile
-Makefile: $srcdir/Makefile.in config.status \$(MAKEDEP)
+Makefile: $srcdir/Makefile.in $srcdir/Make.vars.in config.status \$(MAKEDEP)
@./config.status Make.tmp Makefile])
test "$srcdir" = . && WINE_APPEND_RULE(
@@ -3693,7 +3693,7 @@ _WINE_EOF
9 years ago
AS_ERROR([could not create Makefile])
}])
-AC_CONFIG_FILES([Make.tmp:Makefile.in])
+AC_CONFIG_FILES([Make.tmp:Make.vars.in:Makefile.in])
dnl Some final makefile rules
diff --git a/tools/makedep.c b/tools/makedep.c
index 119294b..54aab45 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -1751,7 +1751,6 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
for (i = 0; i < linguas.count; i++)
strarray_add( &mo_files, strmake( "%s/%s.mo", top_obj_dir_path( make, "po" ), linguas.str[i] ));
- strarray_add( &phony_targets, "all" );
strarray_add( &includes, strmake( "-I%s", obj_dir_path( make, "" )));
if (make->src_dir) strarray_add( &includes, strmake( "-I%s", make->src_dir ));
if (make->parent_dir) strarray_add( &includes, strmake( "-I%s", src_dir_path( make, make->parent_dir )));
@@ -2514,51 +2513,31 @@ static void output_gitignore( const char *dest, struct strarray files )
/*******************************************************************
- * output_top_variables
- */
-static void output_top_variables( struct makefile *make )
-{
- unsigned int i;
- struct strarray *vars = &top_makefile->vars;
-
- if (!make->base_dir) return; /* don't output variables in the top makefile */
-
- output( "# Automatically generated by make depend; DO NOT EDIT!!\n\n" );
- output( "all:\n\n" );
- for (i = 0; i < vars->count; i += 2)
- output( "%s = %s\n", vars->str[i], get_make_variable( make, vars->str[i] ));
- output( "\n" );
-}
-
-
-/*******************************************************************
* output_dependencies
*/
static void output_dependencies( struct makefile *make, const char *path )
{
struct strarray targets, testlist_files = empty_strarray, ignore_files = empty_strarray;
- FILE *src_file;
- if (Separator && ((src_file = fopen( path, "r" ))))
+ if (Separator && ((output_file = fopen( path, "r" ))))
{
char buffer[1024];
+ FILE *tmp_file = create_temp_file( path );
int found = 0;
- output_file = create_temp_file( path );
- output_top_variables( make );
- while (fgets( buffer, sizeof(buffer), src_file ) && !found)
+ while (fgets( buffer, sizeof(buffer), output_file ) && !found)
{
- if (fwrite( buffer, 1, strlen(buffer), output_file ) != strlen(buffer)) fatal_perror( "write" );
+ if (fwrite( buffer, 1, strlen(buffer), tmp_file ) != strlen(buffer)) fatal_perror( "write" );
found = !strncmp( buffer, Separator, strlen(Separator) );
}
- if (fclose( src_file )) fatal_perror( "close" );
+ if (fclose( output_file )) fatal_perror( "write" );
+ output_file = tmp_file;
if (!found) output( "\n%s\n", Separator );
}
else
{
if (!(output_file = fopen( path, Separator ? "a" : "w" )))
fatal_perror( "%s", path );
- output_top_variables( make );
}
targets = output_sources( make, &testlist_files );
--
2.4.3