SPARC Solaris config updates.
[openssl.git] / crypto / md5 / Makefile.ssl
index cb0c04337403dc8082b0c8d480dd6190bb81b7fd..29ae1b74586721b68e27847c4c19b34609c5d14e 100644 (file)
@@ -19,6 +19,7 @@ AR=             ar r
 MD5_ASM_OBJ=
 
 CFLAGS= $(INCLUDES) $(CFLAG)
+ASFLAGS=$(CFLAGS)
 
 GENERAL=Makefile
 TEST=md5test.c
@@ -66,13 +67,23 @@ asm/mx86bsdi.o: asm/mx86unix.cpp
 asm/mx86unix.cpp: asm/md5-586.pl
        (cd asm; $(PERL) md5-586.pl cpp >mx86unix.cpp)
 
-# works for both SC and gcc
 asm/md5-sparcv8plus.o: asm/md5-sparcv9.S
-       $(CPP) -DULTRASPARC -DMD5_BLOCK_DATA_ORDER asm/md5-sparcv9.S | as -xarch=v8plus /dev/fd/0 -o asm/md5-sparcv8plus.o
+       $(CC) $(ASFLAGS) -DMD5_BLOCK_DATA_ORDER -c \
+               -o asm/md5-sparcv8plus.o asm/md5-sparcv9.S
+
+# Old GNU assembler doesn't understand V9 instructions, so we
+# hire /usr/ccs/bin/as to do the job. Note that option is called
+# *-gcc27, but even gcc 2>=8 users may experience similar problem
+# if they didn't bother to upgrade GNU assembler. Such users should
+# not choose this option, but be adviced to *remove* GNU assembler
+# or upgrade it.
+sm/md5-sparcv8plus-gcc27.o: asm/md5-sparcv9.S
+       $(CC) $(ASFLAGS) -DMD5_BLOCK_DATA_ORDER -E asm/md5-sparcv9.S | \
+               /usr/ccs/bin/as -xarch=v8plus - -o asm/md5-sparcv8plus-gcc27.o
 
 asm/md5-sparcv9.o: asm/md5-sparcv9.S
-       $(CC) -xarch=v9 -DULTRASPARC -DMD5_BLOCK_DATA_ORDER -c asm/md5-sparcv9.S -o asm/md5-sparcv9.o
-
+       $(CC) $(ASFLAGS) -DMD5_BLOCK_DATA_ORDER -c \
+               -o asm/md5-sparcv9.o asm/md5-sparcv9.S
 
 files:
        $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
@@ -106,10 +117,10 @@ dclean:
        mv -f Makefile.new $(MAKEFILE)
 
 clean:
-       rm -f *.o asm/*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
+       rm -f asm/mx86unix.cpp *.o asm/*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-md5_dgst.o: ../../include/openssl/md5.h ../../include/openssl/opensslv.h
-md5_dgst.o: ../md32_common.h md5_locl.h
+md5_dgst.o: ../../include/openssl/md5.h ../../include/openssl/opensslconf.h
+md5_dgst.o: ../../include/openssl/opensslv.h ../md32_common.h md5_locl.h
 md5_one.o: ../../include/openssl/md5.h