Makefile 3.0 KB
Newer Older
1
#
2
# OpenSSL/engines/Makefile
3 4 5 6 7 8 9
#

DIR=	engines
TOP=	..
CC=	cc
INCLUDES= -I../include
CFLAG=-g
B
Ben Laurie 已提交
10
MAKEFILE=	Makefile
11 12
AR=		ar r

13 14
PEX_LIBS=
EX_LIBS=
15

16 17
CFLAGS= $(INCLUDES) $(CFLAG)

R
Richard Levitte 已提交
18
GENERAL=Makefile engines.com install.com engine_vector.mar
19 20 21 22
TEST=
APPS=

LIB=$(TOP)/libcrypto.a
23
LIBNAMES= 4758cca aep atalla cswift gmp chil nuron sureware ubsec
24

25
LIBSRC=	e_4758cca.c \
26 27 28
	e_aep.c \
	e_atalla.c \
	e_cswift.c \
29
	e_gmp.c \
30
	e_chil.c \
31 32 33
	e_nuron.c \
	e_sureware.c \
	e_ubsec.c
34
LIBOBJ= e_4758cca.o \
35 36 37
	e_aep.o \
	e_atalla.o \
	e_cswift.o \
38
	e_gmp.o \
39
	e_chil.o \
40 41 42 43 44 45 46
	e_nuron.o \
	e_sureware.o \
	e_ubsec.o

SRC= $(LIBSRC)

EXHEADER= 
47
HEADER=	e_4758cca_err.c e_4758cca_err.h \
48 49 50
	e_aep_err.c e_aep_err.h \
	e_atalla_err.c e_atalla_err.h \
	e_cswift_err.c e_cswift_err.h \
51
	e_gmp_err.c e_gmp_err.h \
52
	e_chil_err.c e_chil_err.h \
53 54 55 56 57 58 59 60 61
	e_nuron_err.c e_nuron_err.h \
	e_sureware_err.c e_sureware_err.h \
	e_ubsec_err.c e_ubsec_err.h

ALL=    $(GENERAL) $(SRC) $(HEADER)

top:
	(cd ..; $(MAKE) DIRS=$(DIR) all)

R
Richard Levitte 已提交
62
all:	lib
63

R
Richard Levitte 已提交
64
lib:	$(LIBOBJ)
65 66 67
	@if [ -n "$(SHARED_LIBS)" ]; then \
		set -e; \
		for l in $(LIBNAMES); do \
A
Andy Polyakov 已提交
68
			$(MAKE) -f ../Makefile.shared -e \
69
				LIBNAME=$$l LIBEXTRAS=e_$$l.o \
70
				LIBDEPS='-L.. -lcrypto $(EX_LIBS)' \
71 72 73 74 75 76
				link_o.$(SHLIB_TARGET); \
		done; \
	else \
		$(AR) $(LIB) $(LIBOBJ); \
		$(RANLIB) $(LIB) || echo Never mind.; \
	fi; \
R
Richard Levitte 已提交
77
	touch lib
78 79

files:
B
Ben Laurie 已提交
80
	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
81 82 83 84

links:

# XXXXX This currently only works on systems that use .so as suffix
85 86
# for shared libraries as well as for Cygwin which uses the
# dlfcn_name_converter and therefore stores the engines with .so suffix, too.
87
# XXXXX This was extended to HP-UX dl targets, which use .sl suffix.
88
install:
A
Andy Polyakov 已提交
89
	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
90 91 92
	@if [ -n "$(SHARED_LIBS)" ]; then \
		set -e; \
		for l in $(LIBNAMES); do \
G
Geoff Thorpe 已提交
93
			( echo installing $$l; \
94
			  if [ "$(PLATFORM)" != "Cygwin" ]; then \
95 96 97 98 99 100
				case "$(CFLAGS)" in \
				*DSO_DLFCN*)	sfx="so";;	\
				*DSO_DL*)	sfx="sl";;	\
				*)		sfx="bad";;	\
				esac; \
				cp lib$$l.$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \
101
			  else \
102 103
			  	sfx="so"; \
				cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \
104
			  fi; \
105 106
			  chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \
			  mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx ); \
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
		done; \
	fi

tags:
	ctags $(SRC)

errors:
	set -e; for l in $(LIBNAMES); do \
		$(PERL) ../util/mkerr.pl -conf e_$$l.ec \
			-nostatic -staticloader -write e_$$l.c; \
	done

tests:

lint:
	lint -DLINT $(INCLUDES) $(SRC)>fluff

depend:
125 126 127 128 129
	@if [ -z "$(THIS)" ]; then \
	    $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; \
	else \
	    $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC); \
	fi
130 131 132 133 134 135 136 137 138

dclean:
	$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
	mv -f Makefile.new $(MAKEFILE)

clean:
	rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff

# DO NOT DELETE THIS LINE -- make depend depends on it.