343ec2b083
Until now, the engines in engines/ were only built as dynamicaly loadable ones if shared libraries were built. We not dissociate the two and can build dynamicaly loadable engines even if we only build static libcrypto and libssl. This is controlled with the option (enable|disable|no)-static-engine, defaulting to no-static-engine. Note that the engines in crypto/engine/ (dynamic and cryptodev) will always be built into libcrypto. Reviewed-by: Rich Salz <rsalz@openssl.org>
116 lines
2.7 KiB
Makefile
116 lines
2.7 KiB
Makefile
#
|
|
# OpenSSL/engines/Makefile
|
|
#
|
|
|
|
#The following engines have been disabled as they currently do not build
|
|
# sureware ubsec
|
|
|
|
DIR= engines
|
|
TOP= ..
|
|
CC= cc
|
|
INCLUDES= -I../include
|
|
CFLAG=-g
|
|
MAKEFILE= Makefile
|
|
AR= ar r
|
|
|
|
PADLOCK_ASM_OBJ=
|
|
|
|
PLIB_LDFLAG=
|
|
EX_LIBS=
|
|
|
|
CFLAGS= $(INCLUDES) $(CFLAG) $(SHARED_CFLAG)
|
|
ASFLAGS= $(INCLUDES) $(ASFLAG)
|
|
AFLAGS= $(ASFLAGS)
|
|
|
|
GENERAL=Makefile engines.com install.com engine_vector.mar
|
|
|
|
LIB=$(TOP)/libcrypto.a
|
|
LIBNAMES= padlock capi dasync
|
|
LIBSRC= \
|
|
e_padlock.c \
|
|
e_capi.c \
|
|
e_dasync.c
|
|
LIBOBJ= \
|
|
e_padlock.o \
|
|
e_capi.o \
|
|
e_dasync.o \
|
|
$(PADLOCK_ASM_OBJ)
|
|
|
|
TESTLIBNAMES= ossltest
|
|
TESTLIBSRC= e_ossltest.c
|
|
TESTLIBOBJ= e_ossltest.o
|
|
|
|
SRC= $(LIBSRC)
|
|
|
|
HEADER= \
|
|
e_chil_err.c e_chil_err.h \
|
|
e_ubsec_err.c e_ubsec_err.h \
|
|
e_capi_err.c e_capi_err.h \
|
|
e_ossltest_err.c e_ossltest_err.h \
|
|
e_dasync_err.c e_dasync_err.h
|
|
|
|
ALL= $(GENERAL) $(SRC) $(HEADER)
|
|
|
|
top:
|
|
(cd ..; $(MAKE) DIRS=$(DIR) all)
|
|
|
|
all: lib
|
|
|
|
lib: $(LIBOBJ) $(TESTLIBOBJ)
|
|
@if [ "$(DYNAMIC_ENGINES)" = 1 ]; then \
|
|
set -e; \
|
|
for l in $(LIBNAMES) $(TESTLIBNAMES); do \
|
|
$(MAKE) -f ../Makefile.shared -e \
|
|
LIBNAME=$$l LIBEXTRAS="e_$$l*.o" \
|
|
LIBDEPS='$(PLIB_LDFLAG) -L.. -lcrypto $(EX_LIBS)' \
|
|
link_dso.$(SHLIB_TARGET); \
|
|
done; \
|
|
else \
|
|
$(AR) $(LIB) $(LIBOBJ); \
|
|
$(RANLIB) $(LIB) || echo Never mind.; \
|
|
fi; \
|
|
touch lib
|
|
|
|
e_padlock-x86.s: asm/e_padlock-x86.pl
|
|
$(PERL) asm/e_padlock-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@
|
|
e_padlock-x86_64.s: asm/e_padlock-x86_64.pl
|
|
$(PERL) asm/e_padlock-x86_64.pl $(PERLASM_SCHEME) > $@
|
|
|
|
files:
|
|
$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
|
|
|
|
install:
|
|
@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
|
|
@if [ -n "$(SHARED_LIBS)" ]; then \
|
|
set -e; \
|
|
$(PERL) $(TOP)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/engines; \
|
|
for l in $(LIBNAMES); do \
|
|
cp $${l}$(DSO_EXT) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/engines/$${l}$(DSO_EXT).new; \
|
|
chmod 555 $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/engines/$${l}$(DSO_EXT).new; \
|
|
mv -f $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/engines/$${l}$(DSO_EXT).new $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/engines/$${l}$(DSO_EXT); \
|
|
done; \
|
|
fi
|
|
|
|
uninstall:
|
|
@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
|
|
@if [ -n "$(SHARED_LIBS)" ]; then \
|
|
set -e; \
|
|
for l in $(LIBNAMES); do \
|
|
$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/engines/$${l}$(DSO_EXT); \
|
|
done; \
|
|
fi
|
|
|
|
errors:
|
|
set -e; for l in $(LIBNAMES); do \
|
|
$(PERL) ../util/mkerr.pl -conf e_$$l.ec \
|
|
-nostatic -staticloader -write e_$$l.c; \
|
|
done
|
|
|
|
depend:
|
|
@[ -z "$(THIS)" ] || $(TOP)/util/domd $(CFLAG) $(INCLUDES) -- $(PROGS) $(LIBSRC) $(TESTLIBSRC)
|
|
@[ -z "$(THIS)" ] || (set -e; target=depend; $(RECURSIVE_MAKE) )
|
|
|
|
clean:
|
|
rm -f *.s *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
|
|
|
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|