diff options
author | Andy Polyakov <appro@openssl.org> | 2016-06-26 14:40:35 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2016-06-27 23:26:12 +0200 |
commit | cfef7e9e681bb981ebd5af08eac3432eec336032 (patch) | |
tree | 6ebbe8045ab4105dbff361ec2b318b931daae655 | |
parent | c3fd55d4a6ed1025c471603b67fbbbce606a5171 (diff) |
windows-makefile.tmpl: don't use $? in library targets.
Problem with Microsoft lib.exe is that it doesn't *update* modules
in .lib archive, but creates new one upon every invocation. As result
if a source file was updated and nmake was executed, a useless archive
with only one module was created. In other words one has to always
pass all .obj modules on command line, not only recently recompiled.
[This also creates dilemma for directory targets, e.g. crypto\aes,
that were added to simplify every-day life for developer. Since
whole idea behind those targets is to minimize the re-compile time
upon single file modification, the only sensible thing to do is to
omit intended library update.]
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
-rw-r--r-- | Configurations/windows-makefile.tmpl | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl index 0d21c50f03..aae7de3655 100644 --- a/Configurations/windows-makefile.tmpl +++ b/Configurations/windows-makefile.tmpl @@ -484,7 +484,7 @@ EOF return <<"EOF"; $lib$libext: $deps \$(AR) \$(ARFLAGS) \$(AROUTFLAG)$lib$libext @<< -\$\? +\$** << EOF } @@ -530,11 +530,7 @@ EOF next unless defined($unified_info{dirinfo}->{$dir}->{products}->{$type}); if ($type eq "lib") { foreach my $lib (@{$unified_info{dirinfo}->{$dir}->{products}->{$type}}) { - push @actions, <<"EOF"; - \$(AR) \$(ARFLAGS) \$(AROUTFLAG)$lib$libext @<< -\$\? -<< -EOF + push @actions, ""; } } else { foreach my $prod (@{$unified_info{dirinfo}->{$dir}->{products}->{$type}}) { |