Don't use $(EXHEADER) directly in for loops, as most shells will break
[openssl.git] / crypto / md5 / Makefile.ssl
index 5d6dc8a376a5bbc46510f2141202fcdffb42ca33..032760d54a745ceb3fa250bbd67a30b14dd6a6bd 100644 (file)
@@ -6,24 +6,26 @@ DIR=    md5
 TOP=    ../..
 CC=     cc
 CPP=    $(CC) -E
-INCLUDES=
+INCLUDES=-I.. -I$(TOP) -I../../include
 CFLAG=-g
 INSTALL_PREFIX=
 OPENSSLDIR=     /usr/local/ssl
 INSTALLTOP=/usr/local/ssl
 MAKE=           make -f Makefile.ssl
-MAKEDEPEND=    $(TOP)/util/domd $(TOP)
+MAKEDEPPROG=   makedepend
+MAKEDEPEND=    $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
 MAKEFILE=       Makefile.ssl
 AR=             ar r
 
 MD5_ASM_OBJ=
 
 CFLAGS= $(INCLUDES) $(CFLAG)
-ASFLAGS=$(CFLAGS)
+ASFLAGS= $(INCLUDES) $(ASFLAG)
+AFLAGS= $(ASFLAGS)
 
 GENERAL=Makefile
 TEST=md5test.c
-APPS=md5.c
+APPS=
 
 LIB=$(TOP)/libcrypto.a
 LIBSRC=md5_dgst.c md5_one.c
@@ -43,34 +45,33 @@ all:    lib
 
 lib:    $(LIBOBJ)
        $(AR) $(LIB) $(LIBOBJ)
-       $(RANLIB) $(LIB)
+       $(RANLIB) $(LIB) || echo Never mind.
        @touch lib
 
-# elf
-asm/mx86-elf.o: asm/mx86unix.cpp
-       $(CPP) -DELF asm/mx86unix.cpp | as -o asm/mx86-elf.o
-
-# solaris
-asm/mx86-sol.o: asm/mx86unix.cpp
-       $(CC) -E -DSOL asm/mx86unix.cpp | sed 's/^#.*//' > asm/mx86-sol.s
-       as -o asm/mx86-sol.o asm/mx86-sol.s
-       rm -f asm/mx86-sol.s
-
+# ELF
+asm/mx86-elf.s: asm/md5-586.pl ../perlasm/x86asm.pl
+       (cd asm; $(PERL) md5-586.pl elf $(CFLAGS) > ../$@)
+# COFF
+asm/mx86-cof.s: asm/md5-586.pl ../perlasm/x86asm.pl
+       (cd asm; $(PERL) md5-586.pl coff $(CFLAGS) > ../$@)
 # a.out
-asm/mx86-out.o: asm/mx86unix.cpp
-       $(CPP) -DOUT asm/mx86unix.cpp | as -o asm/mx86-out.o
-
-# bsdi
-asm/mx86bsdi.o: asm/mx86unix.cpp
-       $(CPP) -DBSDI asm/mx86unix.cpp | sed 's/ :/:/' | as -o asm/mx86bsdi.o
-
-asm/mx86unix.cpp: asm/md5-586.pl
-       (cd asm; $(PERL) md5-586.pl cpp >mx86unix.cpp)
+mx86-out.s: asm/md5-586.pl ../perlasm/x86asm.pl
+       (cd asm; $(PERL) md5-586.pl a.out $(CFLAGS) > ../$@)
 
 asm/md5-sparcv8plus.o: asm/md5-sparcv9.S
        $(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.
+asm/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) $(ASFLAGS) -DMD5_BLOCK_DATA_ORDER -c \
                -o asm/md5-sparcv9.o asm/md5-sparcv9.S
@@ -79,13 +80,13 @@ files:
        $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
 
 links:
-       @$(TOP)/util/point.sh Makefile.ssl Makefile
+       @sh $(TOP)/util/point.sh Makefile.ssl Makefile
        @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER)
        @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
        @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
 
 install:
-       @for i in $(EXHEADER) ; \
+       @headerlist="$(EXHEADER)"; for i in $$headerlist ; \
        do  \
        (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
        chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
@@ -100,17 +101,23 @@ lint:
        lint -DLINT $(INCLUDES) $(SRC)>fluff
 
 depend:
-       $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
+       $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
 
 dclean:
        $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
        mv -f Makefile.new $(MAKEFILE)
 
 clean:
-       rm -f asm/mx86unix.cpp *.o asm/*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
+       rm -f asm/mx86unix.cpp asm/*.s asm/*.o *.s *.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/opensslconf.h
-md5_dgst.o: ../../include/openssl/opensslv.h ../md32_common.h md5_locl.h
-md5_one.o: ../../include/openssl/md5.h
+md5_dgst.o: ../../include/openssl/e_os2.h ../../include/openssl/md5.h
+md5_dgst.o: ../../include/openssl/opensslconf.h
+md5_dgst.o: ../../include/openssl/opensslv.h ../md32_common.h md5_dgst.c
+md5_dgst.o: md5_locl.h
+md5_one.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+md5_one.o: ../../include/openssl/md5.h ../../include/openssl/opensslconf.h
+md5_one.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+md5_one.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+md5_one.o: ../../include/openssl/symhacks.h md5_one.c