Document UTF-8 expectation for pass phrases passed to OSSL_STORE
[openssl.git] / Configurations / unix-Makefile.tmpl
index cc66abe46d949351326b0d0734817b82b01d924d..44512320464592767a698fe11f832a9c34bb4ba9 100644 (file)
@@ -106,12 +106,9 @@ DEPS={- join(" ", map { (my $x = $_) =~ s|\.o$|$depext|; $x; }
                   grep { $unified_info{sources}->{$_}->[0] =~ /\.c$/ }
                   keys %{$unified_info{sources}}); -}
 {- output_on() if $disabled{makedepend}; "" -}
-GENERATED_MANDATORY={- join(" ", @{$unified_info{depends}->{""}} ) -}
-GENERATED={- join(" ",
-                  ( grep { defined $unified_info{generate}->{$_} }
-                    map { @{$unified_info{sources}->{$_}} }
-                    grep { /\.(?:o|res)$/ } keys %{$unified_info{sources}} ),
-                  ( grep { /\.h$/ } keys %{$unified_info{generate}} )) -}
+GENERATED_MANDATORY={- join(" ", @{$unified_info{depends}->{""}}) -}
+GENERATED={- # common0.tmpl provides @generated
+             join(" ", @generated ) -}
 
 INSTALL_LIBS={- join(" ", map { lib($_) } @{$unified_info{install}->{libraries}}) -}
 INSTALL_SHLIBS={- join(" ", map { shlib($_) } @{$unified_info{install}->{libraries}}) -}
@@ -356,6 +353,11 @@ build_apps build_tests: build_programs
 # Convenience target to prebuild all generated files, not just the mandatory
 # ones
 build_all_generated: $(GENERATED_MANDATORY) $(GENERATED)
+       @ : {- output_off() if $disabled{makedepend}; "" -}
+       @echo "Warning: consider configuring with no-makedepend, because if"
+       @echo "         target system doesn't have $(PERL),"
+       @echo "         then make will fail..."
+       @ : {- output_on() if $disabled{makedepend}; "" -}
 
 test: tests
 {- dependmagic('tests'); -}: build_programs_nodep build_engines_nodep link-utils
@@ -367,7 +369,7 @@ test: tests
          RESULT_D=test-runs \
          PERL="$(PERL)" \
          EXE_EXT={- $exeext -} \
-         OPENSSL_ENGINES=`cd ../$(BLDDIR)/engines; pwd` \
+         OPENSSL_ENGINES=`cd ../$(BLDDIR)/engines 2>/dev/null && pwd` \
          OPENSSL_DEBUG_MEMORY=on \
            $(PERL) ../$(SRCDIR)/test/run_tests.pl $(TESTS) )
        @ : {- if ($disabled{tests}) { output_on(); } else { output_off(); } "" -}
@@ -388,9 +390,13 @@ uninstall: uninstall_docs uninstall_sw
 
 libclean:
        @set -e; for s in $(SHLIB_INFO); do \
+               if [ "$$s" = ";" ]; then continue; fi; \
                s1=`echo "$$s" | cut -f1 -d";"`; \
                s2=`echo "$$s" | cut -f2 -d";"`; \
-               $(ECHO) $(RM) $$s1; \
+               $(ECHO) $(RM) $$s1; {- output_off() unless windowsdll(); "" -}\
+               $(RM) apps/$$s1; \
+               $(RM) test/$$s1; \
+               $(RM) fuzz/$$s1; {- output_on() unless windowsdll(); "" -}\
                $(RM) $$s1; \
                if [ "$$s1" != "$$s2" ]; then \
                        $(ECHO) $(RM) $$s2; \
@@ -402,7 +408,7 @@ libclean:
 
 clean: libclean
        $(RM) $(PROGRAMS) $(TESTPROGS) $(ENGINES) $(SCRIPTS)
-       $(RM) $(GENERATED)
+       $(RM) $(GENERATED_MANDATORY) $(GENERATED)
        -$(RM) `find . -name '*{- $depext -}' -a \! -path "./.git/*"`
        -$(RM) `find . -name '*{- $objext -}' -a \! -path "./.git/*"`
        $(RM) core
@@ -791,7 +797,7 @@ tar:
        mkdir -p $$TMPDIR/$$DISTDIR; \
        (cd $(SRCDIR); \
         excl_re=`git submodule status | sed -e 's/^.//' | cut -d' ' -f2`; \
-        excl_re="^(fuzz/corpora|`echo $$excl_re | sed -e 's/ /$$|/g'`\$$)"; \
+        excl_re="^(fuzz/corpora|Configurations/.*\.norelease\.conf|`echo $$excl_re | sed -e 's/ /$$|/g'`\$$)"; \
         echo "$$excl_re"; \
         git ls-tree -r --name-only --full-tree HEAD \
         | egrep -v "$$excl_re" \
@@ -954,7 +960,7 @@ EOF
           }
           return <<"EOF";
 $args{src}: $args{generator}->[0] $deps
-       \$(CPP) $incs $cppflags $args{generator}->[0] | \\
+       \$(CC) $incs $cppflags -E $args{generator}->[0] | \\
        \$(PERL) -ne '/^#(line)?\\s*[0-9]+/ or print' > \$@
 EOF
       }
@@ -977,7 +983,6 @@ EOF
           $cmd = '$(RC)';
           $cmdflags = '$(RCFLAGS)';
           $cmdcompile = '';
-          $makedepprog = undef;
       } elsif (grep /\.(cc|cpp)$/, @srcs) {
           $cmd = '$(CXX)';
           $cmdcompile = ' -c';
@@ -1003,20 +1008,17 @@ $obj$objext: $deps
        $cmd $cmdflags -c -o \$\@ $srcs
 EOF
       } elsif (grep /\.S$/, @srcs) {
-          # In case one wonders why not just $(CC) -c file.S. While it
-          # does work with contemporary compilers, there are some legacy
-          # ones that get it wrong. Hence the elaborate scheme... We
-          # don't care to maintain dependecy lists, because dependency
-          # is rather weak, at most one header file that lists constants
-          # which are assigned in ascending order.
+          # Originally there was mutli-step rule with $(CC) -E file.S
+          # followed by $(CC) -c file.s. It compensated for one of
+          # legacy platform compiler's inability to handle .S files.
+          # The platform is long discontinued by vendor so there is
+          # hardly a point to drag it along...
           $recipe .= <<"EOF";
 $obj$objext: $deps
-       ( trap "rm -f \$@.*" INT 0; \\
-         \$(CPP) $incs $cmdflags $srcs | \\
-         \$(PERL) -ne '/^#(line)?\\s*[0-9]+/ or print' > \$@.s && \\
-         $cmd $cmdflags -c -o \$\@ \$@.s )
+       $cmd $incs $cmdflags -c -o \$\@ $srcs
 EOF
-      } elsif (defined $makedepprog && $makedepprog !~ /\/makedepend/) {
+      } elsif (defined $makedepprog && $makedepprog !~ /\/makedepend/
+               && !grep /\.rc$/, @srcs) {
           $recipe .= <<"EOF";
 $obj$objext: $deps
        $cmd $incs $cmdflags -MMD -MF $obj$depext.tmp -MT \$\@ -c -o \$\@ $srcs