linux-elf bugfix
[openssl.git] / util / mk1mf.pl
index 100d76f279336f5efc01da47c3b18faebf0eebda..ffb3c1083421cfaa705bd22d5e4588187690683d 100755 (executable)
@@ -273,6 +273,8 @@ LFLAGS=$lflags
 
 BN_ASM_OBJ=$bn_asm_obj
 BN_ASM_SRC=$bn_asm_src
+BNCO_ASM_OBJ=$bnco_asm_obj
+BNCO_ASM_SRC=$bnco_asm_src
 DES_ENC_OBJ=$des_enc_obj
 DES_ENC_SRC=$des_enc_src
 BF_ENC_OBJ=$bf_enc_obj
@@ -360,6 +362,10 @@ all: banner \$(TMP_D) \$(BIN_D) \$(TEST_D) \$(LIB_D) \$(INCO_D) headers lib exe
 banner:
 $banner
 
+# Generate perlasm output files
+%.cpp:
+       (cd \$(\@D)/..; PERL=perl make -f Makefile.ssl asm/\$(\@F))
+
 \$(TMP_D):
        \$(MKDIR) \$(TMP_D)
 # NB: uncomment out these lines if BIN_D, TEST_D and LIB_D are different
@@ -379,6 +385,7 @@ $banner
        \$(MKDIR) \$(INC_D)
 
 headers: \$(HEADER) \$(EXHEADER)
+       @
 
 lib: \$(LIBS_DEP)
 
@@ -539,6 +546,11 @@ foreach (values %lib_nam)
                $lib_obj =~ s/\s\S*\/bn_asm\S*/ \$(BN_ASM_OBJ)/;
                $rules.=&do_asm_rule($bn_asm_obj,$bn_asm_src);
                }
+       if (($bnco_asm_obj ne "") && ($_ eq "CRYPTO"))
+               {
+               $lib_obj .= "\$(BNCO_ASM_OBJ)";
+               $rules.=&do_asm_rule($bnco_asm_obj,$bnco_asm_src);
+               }
        if (($des_enc_obj ne "") && ($_ eq "CRYPTO"))
                {
                $lib_obj =~ s/\s\S*des_enc\S*/ \$(DES_ENC_OBJ)/;
@@ -717,6 +729,7 @@ sub do_defs
                        { $pf=".c"; }
                else    { $pf=$postfix; }
                if ($_ =~ /BN_ASM/)     { $t="$_ "; }
+               elsif ($_ =~ /BNCO_ASM/){ $t="$_ "; }
                elsif ($_ =~ /DES_ENC/) { $t="$_ "; }
                elsif ($_ =~ /BF_ENC/)  { $t="$_ "; }
                elsif ($_ =~ /CAST_ENC/){ $t="$_ "; }