summaryrefslogtreecommitdiffstats
path: root/Configurations
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-09-04 08:10:22 +0200
committerRichard Levitte <levitte@openssl.org>2016-09-05 16:07:45 +0200
commit7e5b8b93f2ffa8300b992d2e79c50f0e5266c61b (patch)
treeb217bc19bc5fdd451a8c31d404e2cffe2e7a3464 /Configurations
parent6cf412c473d8145562b76219ce3da73b201b3255 (diff)
Unix build: have the makedepend and cc actions in one recipe
In the case of using an independent makedepend, we had split that into two separate recipes, one depending on the other. However, there are cases where the makedepend recipe was always trying, but doesn't update the time stamp of the .d file because there are no actual changes, and thereby causing constant updates of the object files. This change makes one recipe that takes care of both makedepend och cc, thereby avoiding these extra updates. Reviewed-by: Andy Polyakov <appro@openssl.org>
Diffstat (limited to 'Configurations')
-rw-r--r--Configurations/unix-Makefile.tmpl35
1 files changed, 16 insertions, 19 deletions
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
index 608c20417f..1392295607 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -944,38 +944,35 @@ EOF
dso => '$(DSO_CFLAGS)',
bin => '$(BIN_CFLAGS)' } -> {$args{intent}};
my $makedepprog = $config{makedepprog};
- my $recipe = "";
- if (!$disabled{makedepend} && $makedepprog =~ /\/makedepend/) {
+ my $recipe = <<"EOF";
+$obj$objext: $deps
+EOF
+ if (!$disabled{makedepend} && $makedepprog !~ /\/makedepend/) {
$recipe .= <<"EOF";
-$obj$depext: $deps
- -\$(MAKEDEPEND) -f- -o"|$obj$objext" -- $incs \$(CFLAGS) $ecflags -- $srcs \\
- >\$\@.tmp 2>/dev/null
- -\$(PERL) -i -pe 's/^.*\\|//; s/ \\/(\\\\.|[^ ])*//; \$\$_ = undef if (/: *\$\$/ || /^(#.*| *)\$\$/); \$\$_.="\\n" unless !defined(\$\$_) or /\\R\$\$/g;' \$\@.tmp
- \@if cmp \$\@.tmp \$\@ > /dev/null 2> /dev/null; then \\
- rm -f \$\@.tmp; \\
+ \$(CC) $incs \$(CFLAGS) $ecflags -MMD -MF $obj$depext.tmp -MT \$\@ -c -o \$\@ $srcs
+ \@touch $obj$depext.tmp
+ \@if cmp $obj$depext.tmp $obj$depext > /dev/null 2> /dev/null; then \\
+ rm -f $obj$depext.tmp; \\
else \\
- mv \$\@.tmp \$\@; \\
+ mv $obj$depext.tmp $obj$depext; \\
fi
EOF
- $deps = $obj.$depext;
- }
- if ($disabled{makedepend} || $makedepprog =~ /\/makedepend/) {
+ } else {
$recipe .= <<"EOF";
-$obj$objext: $deps
\$(CC) $incs \$(CFLAGS) $ecflags -c -o \$\@ $srcs
EOF
- }
- if (!$disabled{makedepend} && $makedepprog !~ /\/makedepend/) {
- $recipe .= <<"EOF";
-$obj$objext: $deps
- \$(CC) $incs \$(CFLAGS) $ecflags -MMD -MF $obj$depext.tmp -MT \$\@ -c -o \$\@ $srcs
- \@touch $obj$depext.tmp
+ if (!$disabled{makedepend} && $makedepprog =~ /\/makedepend/) {
+ $recipe .= <<"EOF";
+ -\$(MAKEDEPEND) -f- -o"|\$\@" -- $incs \$(CFLAGS) $ecflags -- $srcs \\
+ >$obj$depext.tmp 2>/dev/null
+ -\$(PERL) -i -pe 's/^.*\\|//; s/ \\/(\\\\.|[^ ])*//; \$\$_ = undef if (/: *\$\$/ || /^(#.*| *)\$\$/); \$\$_.="\\n" unless !defined(\$\$_) or /\\R\$\$/g;' $obj$depext.tmp
\@if cmp $obj$depext.tmp $obj$depext > /dev/null 2> /dev/null; then \\
rm -f $obj$depext.tmp; \\
else \\
mv $obj$depext.tmp $obj$depext; \\
fi
EOF
+ }
}
return $recipe;
}