-{- use File::Spec::Functions qw/catdir catfile rel2abs/;
- our @cmd_srcs = (
- "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",
- );
- "";
- -}
-PROGRAMS=openssl
-SOURCE[openssl]=\
- openssl.c \
- {- join(" ", @cmd_srcs); -} \
- apps.c opt.c s_cb.c s_socket.c \
- app_rand.c \
- {- $target{apps_aux_src} -}
-DEPEND[openssl.o]=progs.h
-DEPEND[progs.h]={- join(" ", @cmd_srcs); -} ../configdata.pm
-GENERATE[progs.h]=progs.pl {- join(" ", map { catfile($sourcedir, $_) } @cmd_srcs); -}
+{- our @apps_openssl_src =
+ qw(openssl.c
+ 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 storeutl.c);
+ our @apps_lib_src =
+ ( qw(apps.c opt.c s_cb.c s_socket.c app_rand.c bf_prefix.c),
+ split(/\s+/, $target{apps_aux_src}) );
+ our @apps_init_src = split(/\s+/, $target{apps_init_src});
+ "" -}
+IF[{- !$disabled{apps} -}]
+ LIBS_NO_INST=libapps.a
+ SOURCE[libapps.a]={- join(" ", @apps_lib_src) -}
+ INCLUDE[libapps.a]=.. ../include
-INCLUDE[openssl]={- rel2abs(catdir($builddir,"../include")) -} .. ../include
-DEPEND[openssl]=../libssl
+ PROGRAMS=openssl
+ SOURCE[openssl]={- join(" ", @apps_init_src) -}
+ SOURCE[openssl]={- join(" ", @apps_openssl_src) -}
+ INCLUDE[openssl]=.. ../include
+ DEPEND[openssl]=libapps.a ../libssl
-SCRIPTS=CA.pl
-SOURCE[CA.pl]=CA.pl.in
+IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-)/ -}]
+ GENERATE[openssl.rc]=../util/mkrc.pl openssl
+ SOURCE[openssl]=openssl.rc
+ENDIF
+
+ {- join("\n ", map { (my $x = $_) =~ s|\.c$|.o|; "DEPEND[$x]=progs.h" }
+ @apps_openssl_src) -}
+ GENERATE[progs.h]=progs.pl $(APPS_OPENSSL)
+ DEPEND[progs.h]=../configdata.pm
+
+ SCRIPTS=CA.pl tsget.pl
+ SOURCE[CA.pl]=CA.pl.in
+ SOURCE[tsget.pl]=tsget.in
+ENDIF