fb3e2a88ee
apps/progs.pl counted on the caller to provide the exact command files. The unified build doesn't have that knowledge, and the easier and more flexible thing to do is to feed it all the apps/*.c files and let it figure out the command names by looking inside (looking for /int ([a-z0-9][a-z0-9_]*)_main\(int argc,/). Also, add it to the generate command, since it's a versioned file. Reviewed-by: Rich Salz <rsalz@openssl.org>
147 lines
3.9 KiB
Makefile
147 lines
3.9 KiB
Makefile
#
|
|
# apps/Makefile
|
|
#
|
|
|
|
DIR= apps
|
|
TOP= ..
|
|
CC= cc
|
|
INCLUDES= -I$(TOP) -I../crypto -I../include
|
|
CFLAG= -g -static -Wswitch
|
|
MAKEFILE= Makefile
|
|
PERL= perl
|
|
RM= rm -f
|
|
|
|
PLIB_LDFLAG=
|
|
EX_LIBS=
|
|
EXE_EXT=
|
|
|
|
SHLIB_TARGET=
|
|
|
|
CFLAGS= $(INCLUDES) $(CFLAG)
|
|
|
|
GENERAL=Makefile makeapps.com install.com
|
|
|
|
DLIBCRYPTO=../libcrypto.a
|
|
DLIBSSL=../libssl.a
|
|
LIBCRYPTO=-L.. -lcrypto
|
|
LIBSSL=-L.. -lssl
|
|
|
|
SCRIPTS=CA.pl tsget
|
|
EXE= openssl$(EXE_EXT)
|
|
|
|
COMMANDS= \
|
|
asn1pars.o ca.o ciphers.o cms.o crl.o crl2p7.o dgst.o dhparam.o \
|
|
dsa.o dsaparam.o ec.o ecparam.o enc.o engine.o errstr.o gendsa.o \
|
|
genpkey.o genrsa.o nseq.o ocsp.o passwd.o pkcs12.o pkcs7.o pkcs8.o \
|
|
pkey.o pkeyparam.o pkeyutl.o prime.o rand.o req.o rsa.o rsautl.o \
|
|
s_client.o s_server.o s_time.o sess_id.o smime.o speed.o spkac.o \
|
|
srp.o ts.o verify.o version.o x509.o rehash.o
|
|
|
|
EXTRA_OBJ=apps.o opt.o s_cb.o s_socket.o
|
|
EXTRA_SRC=apps.c opt.c s_cb.c s_socket.c
|
|
RAND_OBJ=app_rand.o
|
|
RAND_SRC=app_rand.c
|
|
|
|
OBJ = $(COMMANDS)
|
|
|
|
SRC = \
|
|
asn1pars.c ca.c ciphers.c cms.c crl.c crl2p7.c dgst.c dhparam.c \
|
|
dsa.c dsaparam.c ec.c ecparam.c enc.c engine.c errstr.c gendsa.c \
|
|
genpkey.c genrsa.c nseq.c ocsp.c passwd.c pkcs12.c pkcs7.c pkcs8.c \
|
|
pkey.c pkeyparam.c pkeyutl.c prime.c rand.c req.c rsa.c rsautl.c \
|
|
s_client.c s_server.c s_time.c sess_id.c smime.c speed.c spkac.c \
|
|
srp.c ts.c verify.c version.c x509.c rehash.c
|
|
|
|
EXE_OBJ = openssl.o $(OBJ) $(EXTRA_OBJ) $(RAND_OBJ)
|
|
EXE_SRC = openssl.c $(SRC) $(EXTRA_SRC) $(RAND_SRC)
|
|
|
|
HEADER= apps.h progs.h s_apps.h \
|
|
testdsa.h testrsa.h timeouts.h
|
|
|
|
ALL= $(GENERAL) $(EXE_SRC) $(HEADER)
|
|
|
|
top:
|
|
@(cd ..; $(MAKE) DIRS=$(DIR) all)
|
|
|
|
all: exe scripts
|
|
|
|
exe: $(EXE)
|
|
|
|
scripts: $(SCRIPTS)
|
|
|
|
openssl-vms.cnf: openssl.cnf
|
|
$(PERL) $(TOP)/VMS/VMSify-conf.pl < openssl.cnf > openssl-vms.cnf
|
|
|
|
files:
|
|
$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
|
|
|
|
install:
|
|
@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
|
|
@set -e; for i in $(EXE); \
|
|
do \
|
|
(echo installing $$i; \
|
|
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
|
|
chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
|
|
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \
|
|
done;
|
|
@set -e; for i in $(SCRIPTS); \
|
|
do \
|
|
(echo installing $$i; \
|
|
cp $$i $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \
|
|
chmod 755 $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \
|
|
mv -f $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i ); \
|
|
done
|
|
@cp openssl.cnf $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new; \
|
|
chmod 644 $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new; \
|
|
mv -f $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf
|
|
|
|
uninstall:
|
|
@set -e; for i in $(EXE); \
|
|
do \
|
|
echo $(RM) $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i; \
|
|
$(RM) $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i; \
|
|
done;
|
|
@set -e; for i in $(SCRIPTS); \
|
|
do \
|
|
echo $(RM) $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i; \
|
|
$(RM) $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i; \
|
|
done
|
|
$(RM) $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf
|
|
|
|
generate: openssl-vms.cnf progs.h
|
|
|
|
depend:
|
|
$(TOP)/util/domd $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(EXE_SRC)
|
|
|
|
clean:
|
|
rm -f *.o *.obj *.dll lib tags core .pure .nfs* *.old *.bak fluff $(EXE)
|
|
rm -f req
|
|
|
|
$(DLIBSSL):
|
|
(cd ..; $(MAKE) build_libssl)
|
|
|
|
$(DLIBCRYPTO):
|
|
(cd ..; $(MAKE) build_libcrypto)
|
|
|
|
$(EXE): $(EXE_OBJ) $(DLIBCRYPTO) $(DLIBSSL)
|
|
$(RM) $(EXE)
|
|
shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
|
|
shlib_target="$(SHLIB_TARGET)"; \
|
|
fi; \
|
|
LIBRARIES="$(LIBSSL) $(LIBCRYPTO)" ; \
|
|
$(MAKE) -f $(TOP)/Makefile.shared -e \
|
|
APPNAME=$(EXE) OBJECTS="$(EXE_OBJ)" \
|
|
LDFLAG="$(LDFLAG)" \
|
|
LIBDEPS="$(PLIB_LDFLAG) $$LIBRARIES $(EX_LIBS)" \
|
|
link_app.$${shlib_target}
|
|
|
|
progs.h: progs.pl Makefile.in
|
|
$(RM) progs.h
|
|
$(PERL) progs.pl $(EXE_SRC) > progs.h
|
|
|
|
CA.pl: CA.pl.in
|
|
$(PERL) -I$(TOP) -Mconfigdata $(TOP)/util/dofile.pl -oapps/Makefile CA.pl.in > CA.pl.new
|
|
mv CA.pl.new CA.pl
|
|
|
|
|
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|