Last arg to EVP_PKEY_assign() should be void *.
[openssl.git] / Makefile.org
index ba60f70696c510ef9ef0d479800ef907c1aed40d..fc1c90d2fa698d7619e536358a4ad766f9c51330 100644 (file)
@@ -95,23 +95,28 @@ RC5_ENC= rc5_enc.o
 MD5_ASM_OBJ= 
 SHA1_ASM_OBJ= 
 RMD160_ASM_OBJ= 
+WP_ASM_OBJ=
 
 # KRB5 stuff
 KRB5_INCLUDES=
 LIBKRB5=
 
+# Zlib stuff
+ZLIB_INCLUDE=
+LIBZLIB=
+
 DIRS=   crypto ssl engines apps test tools
 SHLIBDIRS= crypto ssl
 
 # dirs in crypto to build
 SDIRS=  \
        objects \
-       md2 md4 md5 sha mdc2 hmac ripemd \
+       md2 md4 md5 sha mdc2 hmac ripemd whrlpool \
        des aes rc2 rc4 rc5 idea bf cast \
        bn ec rsa dsa ecdsa dh ecdh dso engine \
        buffer bio stack lhash rand err \
        evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
-       store pqueue
+       store pqueue ts
 # keep in mind that the above list is adjusted by ./Configure
 # according to no-xxx arguments...
 
@@ -146,7 +151,7 @@ WTARFILE=       $(NAME)-win.tar
 EXHEADER=       e_os2.h
 HEADER=         e_os.h
 
-all: Makefile build_all openssl.pc
+all: Makefile build_all openssl.pc libssl.pc libcrypto.pc
 
 # as we stick to -e, CLEARENV ensures that local variables in lower
 # Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn
@@ -187,16 +192,34 @@ BUILDENV= PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
                SHA1_ASM_OBJ='${SHA1_ASM_OBJ}'                  \
                MD5_ASM_OBJ='${MD5_ASM_OBJ}'                    \
                RMD160_ASM_OBJ='${RMD160_ASM_OBJ}'              \
+               WP_ASM_OBJ='${WP_ASM_OBJ}'                      \
                THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES=
 # MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors,
 # which in turn eliminates ambiguities in variable treatment with -e.
 
+# BUILD_CMD is a generic macro to build a given target in a given
+# subdirectory.  The target must be given through the shell variable
+# `target' and the subdirectory to build in must be given through `dir'.
+# This macro shouldn't be used directly, use RECURSIVE_BUILD_CMD or
+# BUILD_ONE_CMD instead.
+#
+# BUILD_ONE_CMD is a macro to build a given target in a given
+# subdirectory if that subdirectory is part of $(DIRS).  It requires
+# exactly the same shell variables as BUILD_CMD.
+#
+# RECURSIVE_BUILD_CMD is a macro to build a given target in all
+# subdirectories defined in $(DIRS).  It requires that the target
+# is given through the shell variable `target'.
 BUILD_CMD=  if [ -d "$$dir" ]; then \
            (   cd $$dir && echo "making $$target in $$dir..." && \
                $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. DIR=$$dir $$target \
            ) || exit 1; \
            fi
 RECURSIVE_BUILD_CMD=for dir in $(DIRS); do $(BUILD_CMD); done
+BUILD_ONE_CMD=\
+       if echo " $(DIRS) " | grep " $$dir " >/dev/null 2>/dev/null; then \
+               $(BUILD_CMD); \
+       fi
 
 reflect:
        @[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV)
@@ -207,21 +230,21 @@ build_all: build_libs build_apps build_tests build_tools
 build_libs: build_crypto build_ssl build_engines
 
 build_crypto:
-       @dir=crypto; target=all; $(BUILD_CMD)
+       @dir=crypto; target=all; $(BUILD_ONE_CMD)
 build_ssl:
-       @dir=ssl; target=all; $(BUILD_CMD)
+       @dir=ssl; target=all; $(BUILD_ONE_CMD)
 build_engines:
-       @dir=engines; target=all; $(BUILD_CMD)
+       @dir=engines; target=all; $(BUILD_ONE_CMD)
 build_apps:
-       @dir=apps; target=all; $(BUILD_CMD)
+       @dir=apps; target=all; $(BUILD_ONE_CMD)
 build_tests:
-       @dir=test; target=all; $(BUILD_CMD)
+       @dir=test; target=all; $(BUILD_ONE_CMD)
 build_tools:
-       @dir=tools; target=all; $(BUILD_CMD)
+       @dir=tools; target=all; $(BUILD_ONE_CMD)
 
 all_testapps: build_libs build_testapps
 build_testapps:
-       @dir=crypto; target=testapps; $(BUILD_CMD)
+       @dir=crypto; target=testapps; $(BUILD_ONE_CMD)
 
 libcrypto$(SHLIB_EXT): libcrypto.a
        @if [ "$(SHLIB_TARGET)" != "" ]; then \
@@ -255,7 +278,7 @@ clean-shared:
 
 link-shared:
        @ set -e; for i in ${SHLIBDIRS}; do \
-               $(MAKE) -f $(HERE)/Makefile.shared \
+               $(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \
                        LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
                        LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \
                        symlink.$(SHLIB_TARGET); \
@@ -277,6 +300,32 @@ do_$(SHLIB_TARGET):
                libs="-l$$i $$libs"; \
        done
 
+libcrypto.pc: Makefile
+       @ ( echo 'prefix=$(INSTALLTOP)'; \
+           echo 'exec_prefix=$${prefix}'; \
+           echo 'libdir=$${exec_prefix}/lib'; \
+           echo 'includedir=$${prefix}/include'; \
+           echo ''; \
+           echo 'Name: OpenSSL-libcrypto'; \
+           echo 'Description: OpenSSL cryptography library'; \
+           echo 'Version: '$(VERSION); \
+           echo 'Requires: '; \
+           echo 'Libs: -L$${libdir} -lcrypto $(EX_LIBS)'; \
+           echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc
+
+libssl.pc: Makefile
+       @ ( echo 'prefix=$(INSTALLTOP)'; \
+           echo 'exec_prefix=$${prefix}'; \
+           echo 'libdir=$${exec_prefix}/lib'; \
+           echo 'includedir=$${prefix}/include'; \
+           echo ''; \
+           echo 'Name: OpenSSL'; \
+           echo 'Description: Secure Sockets Layer and cryptography libraries'; \
+           echo 'Version: '$(VERSION); \
+           echo 'Requires: '; \
+           echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
+           echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc
+
 openssl.pc: Makefile
        @ ( echo 'prefix=$(INSTALLTOP)'; \
            echo 'exec_prefix=$${prefix}'; \
@@ -302,7 +351,7 @@ clean:      libclean
        rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c
        @set -e; target=clean; $(RECURSIVE_BUILD_CMD)
        rm -f $(LIBS)
-       rm -f openssl.pc
+       rm -f openssl.pc libssl.pc libcrypto.pc
        rm -f speed.* .pure
        rm -f $(TARFILE)
        @set -e; for i in $(ONEDIRS) ;\
@@ -484,6 +533,10 @@ install_sw:
                        sed -e '1,/^$$/d' doc/openssl-shared.txt; \
                fi; \
        fi
+       cp libcrypto.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
+       chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/libcrypto.pc
+       cp libssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
+       chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/libssl.pc
        cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
        chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/openssl.pc