When building against private (non-system) openssl library files, the Makefile generated by Curl's configuration tool expects these libraries to be located in a subdirectory named "/lib" below the directory you pass in via the --with-openssl or --with-ssl path settings.
Try copying the libcrypto.a / libcrypto.so / libssl.a / libssl.so files to a /lib subdirectory below your openssl path and then make curl again.
If the linker can't find these files it uses the system's libcrypto and libssl files. If they are older than the openssl source you get these sorts of unresolved function links.