Print this page
3011 OPENSSL10_ONLY is evaluated over and over
Reviewed by: Jonathan Adams <t12nslookup@gmail.com>
Reviewed by: Gary Mills <gary_mills@fastmail.fm>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Reviewed by: Garrett D'Amore <garrett@damore.org>

@@ -150,13 +150,18 @@
 i386_ARCH32= i86
 sparc_ARCH32= sparcv7
 i386_ARCH64= amd64
 sparc_ARCH64= sparcv9
 
-OPENSSL =       /usr/bin/openssl
-OPENSSL10.cmd = $(OPENSSL) version | $(NAWK) '{if($$2<1){print "\043";}}'
-OPENSSL10_ONLY  =       $(OPENSSL10.cmd:sh)
+# The form "MACRO :sh= COMMAND" ensures that the COMMAND is executed only once,
+# whereas with the form "MACRO = $(COMMAND:sh)" the COMMAND is executed
+# whenever the reference is evaluated.
+#
+# The form "MACRO :sh= COMMAND" does not substitue macros in COMMAND, so macros
+# defined in Makefile.master is not used here.
+OPENSSL10_ONLY :sh= /usr/bin/openssl version | \
+        /usr/bin/nawk '{if($2<1){print "\043";}}'
 
 #
 # macros and transforms needed by pkgmogrify
 #
 # If you append to this list using target-specific assignments (:=),