SUBDIRS=lib

# Program init source, that don't have direct linkage with the rest of the
# source, and can therefore not be part of a library.
IF[{- !$disabled{uplink} -}]
  $INITSRC=../ms/applink.c
ENDIF
IF[{- $config{target} =~ /^vms-/ -}]
  $INITSRC=vms_decc_init.c
ENDIF

# Source for the 'openssl' program
$OPENSSLSRC=\
        openssl.c progs.c \
        asn1pars.c ca.c ciphers.c cms.c crl.c crl2p7.c dgst.c \
        enc.c errstr.c \
        genpkey.c genrsa.c kdf.c mac.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 verify.c version.c x509.c rehash.c storeutl.c \
        list.c info.c provider.c fipsinstall.c
IF[{- !$disabled{'des'} -}]
  $OPENSSLSRC=$OPENSSLSRC pkcs12.c
ENDIF
IF[{- !$disabled{'ec'} -}]
  $OPENSSLSRC=$OPENSSLSRC ec.c ecparam.c
ENDIF
IF[{- !$disabled{'ocsp'} -}]
  $OPENSSLSRC=$OPENSSLSRC ocsp.c
ENDIF
IF[{- !$disabled{'srp'} -}]
  $OPENSSLSRC=$OPENSSLSRC srp.c
ENDIF
IF[{- !$disabled{'ts'} -}]
  $OPENSSLSRC=$OPENSSLSRC ts.c
ENDIF
IF[{- !$disabled{'deprecated-3.0'} -}]
  IF[{- !$disabled{'dh'} -}]
    $OPENSSLSRC=$OPENSSLSRC dhparam.c
  ENDIF
  IF[{- !$disabled{'dsa'} -}]
    $OPENSSLSRC=$OPENSSLSRC dsa.c dsaparam.c gendsa.c
  ENDIF
  IF[{- !$disabled{'engine'} -}]
    $OPENSSLSRC=$OPENSSLSRC engine.c
  ENDIF
ENDIF
IF[{- !$disabled{'cmp'} -}]
  $OPENSSLSRC=$OPENSSLSRC cmp_mock_srv.c
ENDIF

IF[{- !$disabled{apps} -}]
  PROGRAMS=openssl
  SOURCE[openssl]=$INITSRC $OPENSSLSRC
  INCLUDE[openssl]=.. ../include include
  DEPEND[openssl]=libapps.a ../libssl

  DEPEND[${OPENSSLSRC/.c/.o}]=progs.h
  GENERATE[progs.c]=progs.pl -C $(APPS_OPENSSL)
  GENERATE[progs.h]=progs.pl -H $(APPS_OPENSSL)
  # progs.pl tries to read all 'openssl' sources, including progs.c, so we make
  # sure things are generated in the correct order.
  DEPEND[progs.h]=progs.c

  IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-)/ -}]
    GENERATE[openssl.rc]=../util/mkrc.pl openssl
    SOURCE[openssl]=openssl.rc
  ENDIF

  SCRIPTS{misc}=CA.pl
  SOURCE[CA.pl]=CA.pl.in
  # linkname tells build files that a symbolic link or copy of this script
  # without extension must be installed as well.  Unix or Unix lookalike only.
  SCRIPTS{misc,linkname=tsget}=tsget.pl
  SOURCE[tsget.pl]=tsget.in
ENDIF
