mirror of
https://github.com/openssl/openssl.git
synced 2024-12-09 05:51:54 +08:00
3a55c92bba
Adding uplink and applink to some builds was done by "magic", the configuration for "mingw" only had a macro definition, the Configure would react to its presence by adding the uplink source files to cpuid_asm_src, and crypto/build.info inherited dance to get it compiled, and Makefile.shared made sure applink.o would be appropriately linked in. That was a lot under the hood. To replace this, we create a few template configurations in Configurations/00-base-templates.conf, inherit one of them in the "mingw" configuration, the rest is just about refering to the $target{apps_aux_src} / $target{apps_obj} in the right places. Reviewed-by: Andy Polyakov <appro@openssl.org>
150 lines
3.8 KiB
Makefile
150 lines
3.8 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=
|
|
|
|
APPS_OBJ=
|
|
|
|
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) $(APPS_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 $(DESTDIR)$(INSTALLTOP)/bin/$$i.new; \
|
|
chmod 755 $(DESTDIR)$(INSTALLTOP)/bin/$$i.new; \
|
|
mv -f $(DESTDIR)$(INSTALLTOP)/bin/$$i.new $(DESTDIR)$(INSTALLTOP)/bin/$$i ); \
|
|
done;
|
|
@set -e; for i in $(SCRIPTS); \
|
|
do \
|
|
(echo installing $$i; \
|
|
cp $$i $(DESTDIR)$(OPENSSLDIR)/misc/$$i.new; \
|
|
chmod 755 $(DESTDIR)$(OPENSSLDIR)/misc/$$i.new; \
|
|
mv -f $(DESTDIR)$(OPENSSLDIR)/misc/$$i.new $(DESTDIR)$(OPENSSLDIR)/misc/$$i ); \
|
|
done
|
|
@cp openssl.cnf $(DESTDIR)$(OPENSSLDIR)/openssl.cnf.new; \
|
|
chmod 644 $(DESTDIR)$(OPENSSLDIR)/openssl.cnf.new; \
|
|
mv -f $(DESTDIR)$(OPENSSLDIR)/openssl.cnf.new $(DESTDIR)$(OPENSSLDIR)/openssl.cnf
|
|
|
|
uninstall:
|
|
@set -e; for i in $(EXE); \
|
|
do \
|
|
echo $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$i; \
|
|
$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$i; \
|
|
done;
|
|
@set -e; for i in $(SCRIPTS); \
|
|
do \
|
|
echo $(RM) $(DESTDIR)$(OPENSSLDIR)/misc/$$i; \
|
|
$(RM) $(DESTDIR)$(OPENSSLDIR)/misc/$$i; \
|
|
done
|
|
$(RM) $(DESTDIR)$(OPENSSLDIR)/openssl.cnf
|
|
|
|
generate: openssl-vms.cnf progs.h
|
|
|
|
depend:
|
|
$(TOP)/util/domd $(CFLAG) $(INCLUDES) -- $(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.
|