4
# Copyright Ericsson AB 1999-2009. All Rights Reserved.
4
# Copyright Ericsson AB 1999-2010. All Rights Reserved.
6
6
# The contents of this file are subject to the Erlang Public License,
7
7
# Version 1.1, (the "License"); you may not use this file except in
8
8
# compliance with the License. You should have received a copy of the
9
9
# Erlang Public License along with this software. If not, it can be
10
10
# retrieved online at http://www.erlang.org/.
12
12
# Software distributed under the License is distributed on an "AS IS"
13
13
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
14
14
# the License for the specific language governing rights and limitations
15
15
# under the License.
19
19
include $(ERL_TOP)/make/target.mk
68
68
# ----------------------------------------------------
70
70
# ----------------------------------------------------
71
OBJS = $(OBJDIR)/crypto_drv.o
72
DRV_MAKEFILE = $(PRIVDIR)/Makefile
71
OBJS = $(OBJDIR)/crypto$(TYPEMARKER).o
72
NIF_MAKEFILE = $(PRIVDIR)/Makefile
74
74
ifeq ($(findstring win32,$(TARGET)), win32)
75
DYN_DRIVER = $(LIBDIR)/crypto_drv.dll
75
NIF_LIB = $(LIBDIR)/crypto$(TYPEMARKER).dll
77
DYN_DRIVER = $(LIBDIR)/crypto_drv.so
77
NIF_LIB = $(LIBDIR)/crypto$(TYPEMARKER).so
81
81
HOST_OS := $(shell $(ERL_TOP)/erts/autoconf/config.guess)
83
83
DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@
84
LD_R_FLAG=@DED_LD_FLAG_RUNTIME_LIBRARY_PATH@
85
ifeq ($(strip $(LD_R_FLAG)),)
88
ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
89
LD_R_OPT = $(LD_R_FLAG)$(SSL_LIBDIR)
95
85
ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
96
CRYPTO_LINK_LIB=-L$(SSL_LIBDIR) -lcrypto
86
SSL_DED_LD_RUNTIME_LIBRARY_PATH = @SSL_DED_LD_RUNTIME_LIBRARY_PATH@
87
CRYPTO_LINK_LIB=$(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) -lcrypto
89
SSL_DED_LD_RUNTIME_LIBRARY_PATH=
98
90
CRYPTO_LINK_LIB=$(SSL_LIBDIR)/libcrypto.a
111
103
-@mkdir -p $(LIBDIR)
105
$(OBJDIR)/%$(TYPEMARKER).o: %.c
114
106
$(INSTALL_DIR) $(OBJDIR)
115
107
$(CC) -c -o $@ $(ALL_CFLAGS) $<
117
$(LIBDIR)/crypto_drv.so: $(OBJS)
109
$(LIBDIR)/crypto$(TYPEMARKER).so: $(OBJS)
118
110
$(INSTALL_DIR) $(LIBDIR)
119
$(LD) $(LDFLAGS) $(LD_R_OPT) -o $@ $^ $(LDLIBS) $(CRYPTO_LINK_LIB)
111
$(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS) $(CRYPTO_LINK_LIB)
121
$(LIBDIR)/crypto_drv.dll: $(OBJS)
113
$(LIBDIR)/crypto$(TYPEMARKER).dll: $(OBJS)
122
114
$(INSTALL_DIR) $(LIBDIR)
123
$(LD) $(LDFLAGS) -o $@ -L$(SSL_LIBDIR) $(OBJS) -llibeay32
115
$(LD) $(LDFLAGS) -o $@ $(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) $(OBJS) -llibeay32
126
rm -f $(DYN_DRIVER) $(OBJS)
118
ifeq ($(findstring win32,$(TARGET)), win32)
119
rm -f $(LIBDIR)/crypto.dll
120
rm -f $(LIBDIR)/crypto.debug.dll
122
rm -f $(LIBDIR)/crypto.so
123
rm -f $(LIBDIR)/crypto.debug.so
124
rm -f $(LIBDIR)/crypto.valgrind.so
126
rm -f $(OBJDIR)/crypto.o
127
rm -f $(OBJDIR)/crypto.debug.o
128
rm -f $(OBJDIR)/crypto.valgrind.o
136
138
release_spec: opt
137
139
$(INSTALL_DIR) $(RELSYSDIR)/priv/obj
138
140
$(INSTALL_DIR) $(RELSYSDIR)/priv/lib
139
$(INSTALL_PROGRAM) $(DRV_MAKEFILE) $(RELSYSDIR)/priv/obj
141
$(INSTALL_DATA) $(NIF_MAKEFILE) $(RELSYSDIR)/priv/obj
140
142
$(INSTALL_PROGRAM) $(OBJS) $(RELSYSDIR)/priv/obj
141
$(INSTALL_PROGRAM) $(DYN_DRIVER) $(RELSYSDIR)/priv/lib
143
$(INSTALL_PROGRAM) $(NIF_LIB) $(RELSYSDIR)/priv/lib
143
145
release_docs_spec: