mirror of
https://github.com/openssl/openssl.git
synced 2024-12-18 14:33:42 +08:00
d62d17b9c0
This gets rid of the BEGINRAW..ENDRAW sections in engines/build.info. This also moves the assembler generating perl scripts to take the output file name as last command line argument, where necessary. Reviewed-by: Rich Salz <rsalz@openssl.org>
124 lines
3.0 KiB
Makefile
124 lines
3.0 KiB
Makefile
#
|
|
# OpenSSL/engines/Makefile
|
|
#
|
|
|
|
DIR= engines
|
|
TOP= ..
|
|
CC= cc
|
|
INCLUDES= -I../include
|
|
CFLAG=-g
|
|
MAKEFILE= Makefile
|
|
AR= ar r
|
|
|
|
RECURSIVE_MAKE=[ -z "$(ENGDIRS)" ] || for i in $(ENGDIRS) ; do \
|
|
(cd $$i && echo "making $$target in $(DIR)/$$i..." && \
|
|
$(MAKE) -e TOP=../.. DIR=$$i $$target ) || exit 1; \
|
|
done;
|
|
|
|
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_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 subdirs
|
|
|
|
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) $@
|
|
|
|
subdirs:
|
|
@target=all; $(RECURSIVE_MAKE)
|
|
|
|
files:
|
|
$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
|
|
@target=files; $(RECURSIVE_MAKE)
|
|
|
|
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
|
|
@target=install; $(RECURSIVE_MAKE)
|
|
|
|
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
|
|
@target=install; $(RECURSIVE_MAKE)
|
|
|
|
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
|
|
@target=clean; $(RECURSIVE_MAKE)
|
|
|
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|