summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2018-10-31 09:02:00 +0100
committerRichard Levitte <levitte@openssl.org>2018-11-13 16:05:52 +0100
commit5f16ab333142de832555d3265aad243eb119b195 (patch)
tree0d236827a3326fb223d6501541f7810064efa36a
parent6ab937f2df403bdda7e25b6c62a93b061171250e (diff)
downloadopenssl-new-5f16ab333142de832555d3265aad243eb119b195.tar.gz
Windows build: build foo.d after foo.obj
We made the build of foo.obj depend on foo.d, meaning the latter gets built first. Unfortunately, the way the compiler works, we are forced to redirect all output to foo.d, meaning that if the source contains an error, the build fails without showing those errors. We therefore remove the dependency and force the build of foo.d to always happen after build of foo.obj. Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/7533)
-rw-r--r--Configurations/windows-makefile.tmpl16
1 files changed, 7 insertions, 9 deletions
diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl
index ef5af42425..5c8d3e81d3 100644
--- a/Configurations/windows-makefile.tmpl
+++ b/Configurations/windows-makefile.tmpl
@@ -461,22 +461,20 @@ $obj$objext: $deps
\$(AS) \$(ASFLAGS) \$(ASOUTFLAG)\$\@ $srcs
EOF
}
- return <<"EOF" if (!$disabled{makedepend});
-$obj$depext: $deps
- \$(CC) \$(CFLAGS) $ecflags$inc /Zs /showIncludes $srcs 2>&1 | \\
+ my $recipe = <<"EOF";
+$obj$objext: $deps
+ \$(CC) $incs \$(CFLAGS) $ecflags -c \$(COUTFLAG)\$\@ $srcs
+EOF
+ $recipe .= <<"EOF" unless $disabled{makedepend};
+ \$(CC) $incs \$(CFLAGS) $ecflags /Zs /showIncludes $srcs 2>&1 | \\
"\$(PERL)" -n << > $obj$depext
chomp;
s/^Note: including file: *//;
\$\$collect{\$\$_} = 1;
END { print '$obj$objext: ',join(" ", sort keys \%collect),"\\n" }
<<
-$obj$objext: $obj$depext
- \$(CC) $incs \$(CFLAGS) $ecflags -c \$(COUTFLAG)\$\@ $srcs
-EOF
- return <<"EOF" if ($disabled{makedepend});
-$obj$objext: $deps
- \$(CC) $incs \$(CFLAGS) $ecflags -c \$(COUTFLAG)\$\@ $srcs
EOF
+ return $recipe;
}
# On Unix, we build shlibs from static libs, so we're ignoring the