Home | History | Annotate | Line # | Download | only in hcrypto
NTMakefile revision 1.1.1.1.6.1
      1          1.1  elric ########################################################################
      2          1.1  elric #
      3  1.1.1.1.6.1    snj # Copyright (c) 2009-2016, Secure Endpoints Inc.
      4          1.1  elric # All rights reserved.
      5          1.1  elric # 
      6          1.1  elric # Redistribution and use in source and binary forms, with or without
      7          1.1  elric # modification, are permitted provided that the following conditions
      8          1.1  elric # are met:
      9          1.1  elric # 
     10          1.1  elric # - Redistributions of source code must retain the above copyright
     11          1.1  elric #   notice, this list of conditions and the following disclaimer.
     12          1.1  elric # 
     13          1.1  elric # - Redistributions in binary form must reproduce the above copyright
     14          1.1  elric #   notice, this list of conditions and the following disclaimer in
     15          1.1  elric #   the documentation and/or other materials provided with the
     16          1.1  elric #   distribution.
     17          1.1  elric # 
     18          1.1  elric # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     19          1.1  elric # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     20          1.1  elric # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
     21          1.1  elric # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
     22          1.1  elric # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
     23          1.1  elric # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
     24          1.1  elric # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     25          1.1  elric # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     26          1.1  elric # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     27          1.1  elric # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
     28          1.1  elric # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     29          1.1  elric # POSSIBILITY OF SUCH DAMAGE.
     30          1.1  elric # 
     31          1.1  elric 
     32          1.1  elric SUBDIRS=libtommath
     33          1.1  elric 
     34          1.1  elric RELDIR=lib\hcrypto
     35          1.1  elric 
     36          1.1  elric !include ../../windows/NTMakefile.w32
     37          1.1  elric 
     38  1.1.1.1.6.1    snj HCRYPTOINCLUDEDIR = $(INCDIR)\hcrypto
     39  1.1.1.1.6.1    snj 
     40  1.1.1.1.6.1    snj HEIMBASEDIR = $(SRC)\lib\base
     41  1.1.1.1.6.1    snj 
     42  1.1.1.1.6.1    snj HX509DIR = $(SRC)\lib\hx509
     43  1.1.1.1.6.1    snj 
     44  1.1.1.1.6.1    snj !ifdef INCLUDE_openssl_crypto
     45  1.1.1.1.6.1    snj openssl_inc=-I$(INCLUDE_openssl_crypto)
     46  1.1.1.1.6.1    snj !endif
     47  1.1.1.1.6.1    snj 
     48  1.1.1.1.6.1    snj intcflags=-DKRB5 -DASN1_LIB -I$(HCRYPTOINCLUDEDIR) -DUSE_HCRYPTO_LTM=1 \
     49  1.1.1.1.6.1    snj 	-I$(HX509DIR) $(openssl_inc)
     50  1.1.1.1.6.1    snj 
     51          1.1  elric # Do dependencies first
     52          1.1  elric 
     53          1.1  elric all:: subdirs
     54          1.1  elric 
     55          1.1  elric clean:: clean-subdirs
     56          1.1  elric 
     57          1.1  elric test:: test-subdirs
     58          1.1  elric 
     59          1.1  elric # Include files
     60          1.1  elric 
     61          1.1  elric INCFILES=	\
     62          1.1  elric 	$(HCRYPTOINCLUDEDIR)\aes.h	\
     63          1.1  elric 	$(HCRYPTOINCLUDEDIR)\bn.h	\
     64          1.1  elric 	$(HCRYPTOINCLUDEDIR)\des.h	\
     65          1.1  elric 	$(HCRYPTOINCLUDEDIR)\dh.h	\
     66          1.1  elric 	$(HCRYPTOINCLUDEDIR)\dsa.h	\
     67          1.1  elric 	$(HCRYPTOINCLUDEDIR)\ec.h	\
     68          1.1  elric 	$(HCRYPTOINCLUDEDIR)\ecdh.h	\
     69          1.1  elric 	$(HCRYPTOINCLUDEDIR)\ecdsa.h	\
     70          1.1  elric 	$(HCRYPTOINCLUDEDIR)\engine.h	\
     71          1.1  elric 	$(HCRYPTOINCLUDEDIR)\evp.h	\
     72          1.1  elric 	$(HCRYPTOINCLUDEDIR)\evp-hcrypto.h	\
     73          1.1  elric 	$(HCRYPTOINCLUDEDIR)\evp-cc.h	\
     74  1.1.1.1.6.1    snj 	$(HCRYPTOINCLUDEDIR)\evp-openssl.h	\
     75  1.1.1.1.6.1    snj 	$(HCRYPTOINCLUDEDIR)\evp-pkcs11.h	\
     76  1.1.1.1.6.1    snj 	$(HCRYPTOINCLUDEDIR)\evp-wincng.h	\
     77  1.1.1.1.6.1    snj 	$(HCRYPTOINCLUDEDIR)\evp-w32.h	\
     78          1.1  elric 	$(HCRYPTOINCLUDEDIR)\hmac.h	\
     79          1.1  elric 	$(HCRYPTOINCLUDEDIR)\md2.h	\
     80          1.1  elric 	$(HCRYPTOINCLUDEDIR)\md4.h	\
     81          1.1  elric 	$(HCRYPTOINCLUDEDIR)\md5.h	\
     82          1.1  elric 	$(HCRYPTOINCLUDEDIR)\pkcs12.h	\
     83          1.1  elric 	$(HCRYPTOINCLUDEDIR)\rand.h	\
     84          1.1  elric 	$(HCRYPTOINCLUDEDIR)\randi.h	\
     85          1.1  elric 	$(HCRYPTOINCLUDEDIR)\rc2.h	\
     86          1.1  elric 	$(HCRYPTOINCLUDEDIR)\rc4.h	\
     87          1.1  elric 	$(HCRYPTOINCLUDEDIR)\rsa.h	\
     88          1.1  elric 	$(HCRYPTOINCLUDEDIR)\sha.h	\
     89  1.1.1.1.6.1    snj 	$(HCRYPTOINCLUDEDIR)\ui.h	\
     90  1.1.1.1.6.1    snj 	$(HCRYPTOINCLUDEDIR)\undef.h
     91          1.1  elric 
     92          1.1  elric mkincdir:
     93          1.1  elric !if !exist($(HCRYPTOINCLUDEDIR))
     94          1.1  elric 	$(MKDIR) $(HCRYPTOINCLUDEDIR)
     95          1.1  elric !endif
     96          1.1  elric 
     97          1.1  elric {}.h{$(HCRYPTOINCLUDEDIR)}.h:
     98          1.1  elric 	$(CP) $** $@
     99          1.1  elric 
    100          1.1  elric all:: mkincdir
    101          1.1  elric 
    102          1.1  elric all:: $(INCFILES)
    103          1.1  elric 
    104          1.1  elric # libhcrypto
    105          1.1  elric 
    106          1.1  elric libhcrypto_OBJs = 			\
    107          1.1  elric 	$(OBJ)\aes.obj			\
    108          1.1  elric 	$(OBJ)\bn.obj			\
    109          1.1  elric 	$(OBJ)\camellia.obj		\
    110          1.1  elric 	$(OBJ)\camellia-ntt.obj		\
    111          1.1  elric 	$(OBJ)\common.obj		\
    112          1.1  elric 	$(OBJ)\des.obj			\
    113          1.1  elric 	$(OBJ)\dh.obj			\
    114          1.1  elric 	$(OBJ)\dh-ltm.obj		\
    115          1.1  elric 	$(OBJ)\dh-tfm.obj		\
    116          1.1  elric 	$(OBJ)\dsa.obj			\
    117          1.1  elric 	$(OBJ)\evp.obj			\
    118          1.1  elric 	$(OBJ)\evp-hcrypto.obj		\
    119          1.1  elric 	$(OBJ)\evp-cc.obj		\
    120  1.1.1.1.6.1    snj 	$(OBJ)\evp-openssl.obj		\
    121  1.1.1.1.6.1    snj 	$(OBJ)\evp-pkcs11.obj		\
    122  1.1.1.1.6.1    snj 	$(OBJ)\evp-wincng.obj		\
    123  1.1.1.1.6.1    snj 	$(OBJ)\evp-w32.obj		\
    124          1.1  elric 	$(OBJ)\engine.obj		\
    125          1.1  elric 	$(OBJ)\hmac.obj			\
    126          1.1  elric 	$(OBJ)\md2.obj			\
    127          1.1  elric 	$(OBJ)\md4.obj			\
    128          1.1  elric 	$(OBJ)\md5.obj			\
    129          1.1  elric 	$(OBJ)\pkcs5.obj		\
    130          1.1  elric 	$(OBJ)\pkcs12.obj		\
    131          1.1  elric 	$(OBJ)\rand-w32.obj		\
    132          1.1  elric 	$(OBJ)\rand.obj			\
    133          1.1  elric 	$(OBJ)\rc2.obj			\
    134          1.1  elric 	$(OBJ)\rc4.obj			\
    135          1.1  elric 	$(OBJ)\rijndael-alg-fst.obj	\
    136          1.1  elric 	$(OBJ)\rnd_keys.obj		\
    137          1.1  elric 	$(OBJ)\rsa.obj			\
    138          1.1  elric 	$(OBJ)\rsa-gmp.obj		\
    139          1.1  elric 	$(OBJ)\rsa-ltm.obj		\
    140          1.1  elric 	$(OBJ)\rsa-tfm.obj		\
    141          1.1  elric 	$(OBJ)\sha.obj			\
    142          1.1  elric 	$(OBJ)\sha256.obj		\
    143          1.1  elric 	$(OBJ)\sha512.obj		\
    144          1.1  elric 	$(OBJ)\ui.obj			\
    145          1.1  elric 	$(OBJ)\validate.obj
    146          1.1  elric 
    147          1.1  elric $(LIBHCRYPTO): $(libhcrypto_OBJs)
    148          1.1  elric 	$(LIBCON)
    149          1.1  elric 
    150          1.1  elric all:: $(LIBHCRYPTO)
    151          1.1  elric 
    152          1.1  elric clean::
    153          1.1  elric 	-$(RM) $(LIBHCRYPTO)
    154          1.1  elric 
    155          1.1  elric # Tests
    156          1.1  elric 
    157          1.1  elric TESTLIB=$(OBJ)\libhctest.lib
    158          1.1  elric 
    159          1.1  elric $(TESTLIB):		    \
    160          1.1  elric 	$(OBJ)\des.obj	    \
    161          1.1  elric 	$(OBJ)\ui.obj
    162          1.1  elric 	$(LIBCON)
    163          1.1  elric 
    164          1.1  elric test-binaries:				\
    165          1.1  elric 	$(OBJ)\destest.exe		\
    166          1.1  elric 	$(OBJ)\example_evp_cipher.exe	\
    167          1.1  elric 	$(OBJ)\mdtest.exe		\
    168          1.1  elric 	$(OBJ)\rc2test.exe		\
    169          1.1  elric 	$(OBJ)\rctest.exe		\
    170          1.1  elric 	$(OBJ)\test_bn.exe		\
    171  1.1.1.1.6.1    snj 	$(OBJ)\test_bulk.exe		\
    172          1.1  elric 	$(OBJ)\test_cipher.exe		\
    173          1.1  elric 	$(OBJ)\test_engine_dso.exe	\
    174          1.1  elric 	$(OBJ)\test_hmac.exe		\
    175          1.1  elric 	$(OBJ)\test_pkcs5.exe		\
    176          1.1  elric 	$(OBJ)\test_pkcs12.exe		\
    177          1.1  elric 	$(OBJ)\test_rsa.exe		\
    178          1.1  elric 	$(OBJ)\test_dh.exe		\
    179          1.1  elric 	$(OBJ)\test_rand.exe		\
    180          1.1  elric 	$(OBJ)\test_crypto.sh
    181          1.1  elric 
    182  1.1.1.1.6.1    snj $(OBJ)\destest.exe: $(OBJ)\destest.obj $(TESTLIB) $(LIBROKEN) $(LIBHEIMBASE)
    183  1.1.1.1.6.1    snj 	$(EXECONLINK)
    184  1.1.1.1.6.1    snj 	$(EXEPREP_NODIST)
    185  1.1.1.1.6.1    snj 
    186  1.1.1.1.6.1    snj $(OBJ)\example_evp_cipher.exe: $(OBJ)\example_evp_cipher.obj $(TESTLIB) $(LIBHEIMDAL) $(LIBROKEN) $(LIBHEIMBASE)
    187          1.1  elric 	$(EXECONLINK)
    188          1.1  elric 	$(EXEPREP_NODIST)
    189          1.1  elric 
    190  1.1.1.1.6.1    snj $(OBJ)\mdtest.exe: $(OBJ)\mdtest.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBHEIMBASE) $(OBJ)\sha512.obj
    191          1.1  elric 	$(EXECONLINK)
    192          1.1  elric 	$(EXEPREP_NODIST)
    193          1.1  elric 
    194  1.1.1.1.6.1    snj $(OBJ)\rc2test.exe: $(OBJ)\rc2test.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBHEIMBASE)
    195          1.1  elric 	$(EXECONLINK)
    196          1.1  elric 	$(EXEPREP_NODIST)
    197          1.1  elric 
    198  1.1.1.1.6.1    snj $(OBJ)\rctest.exe: $(OBJ)\rctest.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBHEIMBASE)
    199          1.1  elric 	$(EXECONLINK)
    200          1.1  elric 	$(EXEPREP_NODIST)
    201          1.1  elric 
    202  1.1.1.1.6.1    snj $(OBJ)\test_bn.exe: $(OBJ)\test_bn.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBHEIMBASE)
    203          1.1  elric 	$(EXECONLINK)
    204          1.1  elric 	$(EXEPREP_NODIST)
    205          1.1  elric 
    206  1.1.1.1.6.1    snj $(OBJ)\test_bulk.exe: $(OBJ)\test_bulk.obj $(TESTLIB) $(LIBHEIMDAL) $(LIBROKEN) $(LIBHEIMBASE) $(LIBVERS)
    207          1.1  elric 	$(EXECONLINK)
    208          1.1  elric 	$(EXEPREP_NODIST)
    209          1.1  elric 
    210  1.1.1.1.6.1    snj $(OBJ)\test_cipher.exe: $(OBJ)\test_cipher.obj $(TESTLIB) $(LIBHEIMDAL) $(LIBROKEN) $(LIBHEIMBASE) $(LIBVERS)
    211          1.1  elric 	$(EXECONLINK)
    212          1.1  elric 	$(EXEPREP_NODIST)
    213          1.1  elric 
    214  1.1.1.1.6.1    snj $(OBJ)\test_engine_dso.exe: $(OBJ)\test_engine_dso.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBHEIMBASE) $(LIBVERS)
    215          1.1  elric 	$(EXECONLINK)
    216          1.1  elric 	$(EXEPREP_NODIST)
    217          1.1  elric 
    218  1.1.1.1.6.1    snj $(OBJ)\test_hmac.exe: $(OBJ)\test_hmac.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBHEIMBASE)
    219          1.1  elric 	$(EXECONLINK)
    220          1.1  elric 	$(EXEPREP_NODIST)
    221          1.1  elric 
    222  1.1.1.1.6.1    snj $(OBJ)\test_pkcs5.exe: $(OBJ)\test_pkcs5.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBHEIMBASE)
    223          1.1  elric 	$(EXECONLINK)
    224          1.1  elric 	$(EXEPREP_NODIST)
    225          1.1  elric 
    226  1.1.1.1.6.1    snj $(OBJ)\test_pkcs12.exe: $(OBJ)\test_pkcs12.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBHEIMBASE)
    227          1.1  elric 	$(EXECONLINK)
    228          1.1  elric 	$(EXEPREP_NODIST)
    229          1.1  elric 
    230  1.1.1.1.6.1    snj $(OBJ)\test_rsa.exe: $(OBJ)\test_rsa.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBHEIMBASE) $(LIBVERS)
    231          1.1  elric 	$(EXECONLINK)
    232          1.1  elric 	$(EXEPREP_NODIST)
    233          1.1  elric 
    234  1.1.1.1.6.1    snj $(OBJ)\test_dh.exe: $(OBJ)\test_dh.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBHEIMBASE) $(LIBVERS)
    235          1.1  elric 	$(EXECONLINK)
    236          1.1  elric 	$(EXEPREP_NODIST)
    237          1.1  elric 
    238  1.1.1.1.6.1    snj $(OBJ)\test_rand.exe: $(OBJ)\test_rand.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBHEIMBASE) $(LIBVERS)
    239          1.1  elric 	$(EXECONLINK)
    240          1.1  elric 	$(EXEPREP_NODIST)
    241          1.1  elric 
    242          1.1  elric SRCDIR2=$(SRCDIR:\=\\\\)
    243          1.1  elric 
    244          1.1  elric $(OBJ)\test_crypto.sh: test_crypto.in NTMakefile
    245          1.1  elric 	$(SED) -e "s,[@]srcdir[@],$(SRCDIR2),g" -e "s,[@]exeext[@],.exe,g" -e "s,\r,," < test_crypto.in > $@ || $(RM) $@
    246          1.1  elric 
    247          1.1  elric test-run:
    248          1.1  elric 	cd $(OBJ)
    249          1.1  elric !ifdef SH
    250  1.1.1.1.6.1    snj 	-$(SH) test_crypto.sh
    251          1.1  elric !endif
    252  1.1.1.1.6.1    snj 	-destest.exe
    253  1.1.1.1.6.1    snj 	-mdtest.exe
    254  1.1.1.1.6.1    snj 	-rc2test.exe
    255  1.1.1.1.6.1    snj 	-rctest.exe
    256  1.1.1.1.6.1    snj 	-test_bn.exe
    257  1.1.1.1.6.1    snj 	-test_bulk.exe --provider=hcrypto
    258  1.1.1.1.6.1    snj 	-test_bulk.exe --provider=w32crypto
    259  1.1.1.1.6.1    snj 	-test_cipher.exe
    260  1.1.1.1.6.1    snj 	-test_engine_dso.exe
    261  1.1.1.1.6.1    snj 	-test_hmac.exe
    262  1.1.1.1.6.1    snj 	-test_pkcs5.exe
    263  1.1.1.1.6.1    snj 	-test_pkcs12.exe
    264  1.1.1.1.6.1    snj 	-test_rsa.exe
    265  1.1.1.1.6.1    snj 	-test_dh.exe
    266          1.1  elric 	cd $(SRCDIR)
    267          1.1  elric 
    268          1.1  elric test:: $(TESTLIB) test-binaries test-run
    269          1.1  elric 
    270          1.1  elric test-exports:
    271          1.1  elric 	$(PERL) ..\..\cf\w32-check-exported-symbols.pl --vs version-script.map --def libhcrypto-exports.def
    272          1.1  elric 
    273          1.1  elric test:: test-exports
    274