Apps: divide the modules in direct command modules, support library and init
[openssl.git] / apps / build.info
index c7dc19f7a500ecb1a0e789dc74cd8954fa4a7420..4a36ab564a5360eafcf4154b3fba893c50a7b877 100644 (file)
@@ -1,21 +1,32 @@
-{- use File::Spec::Functions qw/catdir rel2abs/;
-   our $tsget_name = $config{target} =~ /^(VC|vms)-/ ? "tsget.pl" : "tsget";
+{- our $tsget_name = $config{target} =~ /^(VC|vms)-/ ? "tsget.pl" : "tsget";
+   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),
+         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
+
   PROGRAMS=openssl
-  SOURCE[openssl]=\
-          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 \
-          apps.c opt.c s_cb.c s_socket.c \
-          app_rand.c \
-          {- $target{apps_aux_src} -}
-  INCLUDE[openssl]="{- rel2abs(catdir($builddir,"../include")) -}" .. ../include
-  DEPEND[openssl]=../libssl
+  SOURCE[openssl]={- join(" ", @apps_init_src) -}
+  SOURCE[openssl]={- join(" ", @apps_openssl_src) -}
+  INCLUDE[openssl]=.. ../include
+  DEPEND[openssl]=libapps.a ../libssl
+
+  {- 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_name -}
   SOURCE[CA.pl]=CA.pl.in