257 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			257 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ########################################################################
 | |
| #
 | |
| # Copyright (c) 2009, Secure Endpoints Inc.
 | |
| # All rights reserved.
 | |
| # 
 | |
| # Redistribution and use in source and binary forms, with or without
 | |
| # modification, are permitted provided that the following conditions
 | |
| # are met:
 | |
| # 
 | |
| # - Redistributions of source code must retain the above copyright
 | |
| #   notice, this list of conditions and the following disclaimer.
 | |
| # 
 | |
| # - Redistributions in binary form must reproduce the above copyright
 | |
| #   notice, this list of conditions and the following disclaimer in
 | |
| #   the documentation and/or other materials provided with the
 | |
| #   distribution.
 | |
| # 
 | |
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 | |
| # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 | |
| # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 | |
| # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 | |
| # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 | |
| # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 | |
| # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 | |
| # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 | |
| # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 | |
| # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 | |
| # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 | |
| # POSSIBILITY OF SUCH DAMAGE.
 | |
| # 
 | |
| 
 | |
| RELDIR=lib\hcrypto
 | |
| 
 | |
| AUXCFLAGS=$(AUXCFLAGS) -DKRB5 -I$(INCDIR)\hcrypto
 | |
| 
 | |
| !include ../../windows/NTMakefile.w32
 | |
| 
 | |
| # Include files
 | |
| 
 | |
| HCRYPTOINCLUDEDIR=$(INCDIR)\hcrypto
 | |
| 
 | |
| INCFILES=	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\aes.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\bn.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\des.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\dh.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\dsa.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\engine.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\evp.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\hmac.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\md2.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\md4.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\md5.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\pkcs12.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\rand.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\randi.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\rc2.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\rc4.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\rsa.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\sha.h	\
 | |
| 	$(HCRYPTOINCLUDEDIR)\ui.h
 | |
| 
 | |
| mkincdir:
 | |
| !if !exist($(HCRYPTOINCLUDEDIR))
 | |
| 	$(MKDIR) $(HCRYPTOINCLUDEDIR)
 | |
| !endif
 | |
| 
 | |
| {}.h{$(HCRYPTOINCLUDEDIR)}.h:
 | |
| 	$(CP) $** $@
 | |
| 
 | |
| all:: mkincdir
 | |
| 
 | |
| all:: $(INCFILES)
 | |
| 
 | |
| # libhcrypto
 | |
| 
 | |
| libhcrypt_OBJs = \
 | |
| 	$(OBJ)\imath.obj		\
 | |
| 	$(OBJ)\iprime.obj	\
 | |
| 	$(OBJ)\aes.obj		\
 | |
| 	$(OBJ)\bn.obj		\
 | |
| 	$(OBJ)\camellia.obj	\
 | |
| 	$(OBJ)\camellia-ntt.obj	\
 | |
| 	$(OBJ)\des.obj		\
 | |
| 	$(OBJ)\dh.obj		\
 | |
| 	$(OBJ)\dh-imath.obj	\
 | |
| 	$(OBJ)\dsa.obj		\
 | |
| 	$(OBJ)\evp.obj		\
 | |
| 	$(OBJ)\evp-hcrypto.obj	\
 | |
| 	$(OBJ)\evp-aes-cts.obj	\
 | |
| 	$(OBJ)\engine.obj	\
 | |
| 	$(OBJ)\hmac.obj		\
 | |
| 	$(OBJ)\md2.obj		\
 | |
| 	$(OBJ)\md4.obj		\
 | |
| 	$(OBJ)\md5.obj		\
 | |
| 	$(OBJ)\pkcs5.obj		\
 | |
| 	$(OBJ)\pkcs12.obj	\
 | |
| 	$(OBJ)\rand-fortuna.obj	\
 | |
| 	$(OBJ)\rand-timer.obj	\
 | |
| 	$(OBJ)\rand.obj		\
 | |
| 	$(OBJ)\rc2.obj		\
 | |
| 	$(OBJ)\rc4.obj		\
 | |
| 	$(OBJ)\rijndael-alg-fst.obj \
 | |
| 	$(OBJ)\rnd_keys.obj	\
 | |
| 	$(OBJ)\rsa.obj		\
 | |
| 	$(OBJ)\rsa-gmp.obj	\
 | |
| 	$(OBJ)\rsa-imath.obj	\
 | |
| 	$(OBJ)\sha.obj		\
 | |
| 	$(OBJ)\sha256.obj	\
 | |
| 	$(OBJ)\ui.obj
 | |
| 
 | |
| !ifndef STATICLIBS
 | |
| 
 | |
| $(LIBHCRYPTO): $(BINDIR)\libhcrypto.dll
 | |
| 
 | |
| $(BINDIR)\libhcrypto.dll: $(libhcrypt_OBJs) $(LIBROKEN) $(LIBASN1)
 | |
| 	$(DLLGUILINK) -def:libhcrypto-exports.def -implib:$(LIBHCRYPTO)
 | |
| 	$(DLLPREP)
 | |
| 
 | |
| !else
 | |
| 
 | |
| $(LIBHCRYPTO): $(libhcrypt_OBJs)
 | |
| 	$(LIBCON)
 | |
| 
 | |
| !endif
 | |
| 
 | |
| {imath/}.c{$(OBJ)}.obj:
 | |
| 	$(C2OBJ)
 | |
| 
 | |
| all:: $(LIBHCRYPTO)
 | |
| 
 | |
| clean::
 | |
| 	-$(RM) $(LIBHCRYPTO)
 | |
| 
 | |
| # Tests
 | |
| 
 | |
| TESTLIB=$(OBJ)\libhctest.lib
 | |
| 
 | |
| $(TESTLIB): \
 | |
| 	$(OBJ)\imath.obj	\
 | |
| 	$(OBJ)\des.obj	\
 | |
| 	$(OBJ)\ui.obj
 | |
| 	$(LIBCON)
 | |
| 
 | |
| test-binaries:	\
 | |
| 	$(OBJ)\destest.exe \
 | |
| 	$(OBJ)\mdtest.exe \
 | |
| 	$(OBJ)\rc2test.exe  \
 | |
| 	$(OBJ)\rctest.exe \
 | |
| 	$(OBJ)\test_bn.exe \
 | |
| 	$(OBJ)\test_cipher.exe \
 | |
| 	$(OBJ)\test_engine_dso.exe \
 | |
| 	$(OBJ)\test_hmac.exe \
 | |
| 	$(OBJ)\test_imath.exe \
 | |
| 	$(OBJ)\test_pkcs5.exe \
 | |
| 	$(OBJ)\test_pkcs12.exe	\
 | |
| 	$(OBJ)\test_rsa.exe	\
 | |
| 	$(OBJ)\test_dh.exe	\
 | |
| 	$(OBJ)\test_rand.exe	\
 | |
| 	$(OBJ)\test_crypto.sh
 | |
| 
 | |
| $(OBJ)\destest.exe: $(OBJ)\destest.obj $(TESTLIB) $(LIBROKEN)
 | |
| 	$(EXECONLINK)
 | |
| 	$(_VC_MANIFEST_EMBED_EXE)
 | |
| 	$(_VC_MANIFEST_CLEAN)
 | |
| 
 | |
| 
 | |
| $(OBJ)\mdtest.exe: $(OBJ)\mdtest.obj $(LIBHCRYPTO) $(LIBROKEN)
 | |
| 	$(EXECONLINK)
 | |
| 	$(_VC_MANIFEST_EMBED_EXE)
 | |
| 	$(_VC_MANIFEST_CLEAN)
 | |
| 
 | |
| $(OBJ)\rc2test.exe: $(OBJ)\rc2test.obj $(LIBHCRYPTO) $(LIBROKEN)
 | |
| 	$(EXECONLINK)
 | |
| 	$(_VC_MANIFEST_EMBED_EXE)
 | |
| 	$(_VC_MANIFEST_CLEAN)
 | |
| 
 | |
| $(OBJ)\rctest.exe: $(OBJ)\rctest.obj $(LIBHCRYPTO) $(LIBROKEN)
 | |
| 	$(EXECONLINK)
 | |
| 	$(_VC_MANIFEST_EMBED_EXE)
 | |
| 	$(_VC_MANIFEST_CLEAN)
 | |
| 
 | |
| $(OBJ)\test_bn.exe: $(OBJ)\test_bn.obj $(LIBHCRYPTO) $(LIBROKEN) $(LIBASN1)
 | |
| 	$(EXECONLINK)
 | |
| 	$(_VC_MANIFEST_EMBED_EXE)
 | |
| 	$(_VC_MANIFEST_CLEAN)
 | |
| 
 | |
| $(OBJ)\test_cipher.exe: $(OBJ)\test_cipher.obj $(LIBHCRYPTO) $(LIBROKEN) $(LIBVERS)
 | |
| 	$(EXECONLINK)
 | |
| 	$(_VC_MANIFEST_EMBED_EXE)
 | |
| 	$(_VC_MANIFEST_CLEAN)
 | |
| 
 | |
| $(OBJ)\test_engine_dso.exe: $(OBJ)\test_engine_dso.obj $(LIBHCRYPTO) $(LIBROKEN) $(LIBASN1) $(LIBVERS)
 | |
| 	$(EXECONLINK)
 | |
| 	$(_VC_MANIFEST_EMBED_EXE)
 | |
| 	$(_VC_MANIFEST_CLEAN)
 | |
| 
 | |
| $(OBJ)\test_hmac.exe: $(OBJ)\test_hmac.obj $(LIBHCRYPTO)
 | |
| 	$(EXECONLINK)
 | |
| 	$(_VC_MANIFEST_EMBED_EXE)
 | |
| 	$(_VC_MANIFEST_CLEAN)
 | |
| 
 | |
| $(OBJ)\test_imath.exe: $(OBJ)\test_imath.obj $(TESTLIB) $(LIBROKEN)
 | |
| 	$(EXECONLINK)
 | |
| 	$(_VC_MANIFEST_EMBED_EXE)
 | |
| 	$(_VC_MANIFEST_CLEAN)
 | |
| 
 | |
| $(OBJ)\test_pkcs5.exe: $(OBJ)\test_pkcs5.obj $(LIBHCRYPTO) $(LIBROKEN)
 | |
| 	$(EXECONLINK)
 | |
| 	$(_VC_MANIFEST_EMBED_EXE)
 | |
| 	$(_VC_MANIFEST_CLEAN)
 | |
| 
 | |
| $(OBJ)\test_pkcs12.exe: $(OBJ)\test_pkcs12.obj $(LIBHCRYPTO) $(LIBASN1) $(LIBROKEN)
 | |
| 	$(EXECONLINK)
 | |
| 	$(_VC_MANIFEST_EMBED_EXE)
 | |
| 	$(_VC_MANIFEST_CLEAN)
 | |
| 
 | |
| $(OBJ)\test_rsa.exe: $(OBJ)\test_rsa.obj $(LIBHCRYPTO) $(LIBROKEN) $(LIBASN1) $(LIBVERS)
 | |
| 	$(EXECONLINK)
 | |
| 	$(_VC_MANIFEST_EMBED_EXE)
 | |
| 	$(_VC_MANIFEST_CLEAN)
 | |
| 
 | |
| $(OBJ)\test_dh.exe: $(OBJ)\test_dh.obj $(LIBHCRYPTO) $(LIBROKEN) $(LIBASN1) $(LIBVERS)
 | |
| 	$(EXECONLINK)
 | |
| 	$(_VC_MANIFEST_EMBED_EXE)
 | |
| 	$(_VC_MANIFEST_CLEAN)
 | |
| 
 | |
| $(OBJ)\test_rand.exe: $(OBJ)\test_rand.obj $(LIBHCRYPTO) $(LIBROKEN) $(LIBASN1) $(LIBVERS)
 | |
| 	$(EXECONLINK)
 | |
| 	$(_VC_MANIFEST_EMBED_EXE)
 | |
| 	$(_VC_MANIFEST_CLEAN)
 | |
| 
 | |
| $(OBJ)\test_crypto.sh: test_crypto.in NTMakefile
 | |
| 	$(SED) -e "s,[@]srcdir[@],$(SRCDIR),g" -e "s,[@]exeext[@],.exe,g" < test_crypto.in > $@
 | |
| 
 | |
| test-run:
 | |
| 	cd $(OBJ)
 | |
| 	destest.exe
 | |
| 	mdtest.exe
 | |
| 	rc2test.exe
 | |
| 	rctest.exe
 | |
| 	test_bn.exe
 | |
| 	test_cipher.exe
 | |
| 	test_engine_dso.exe
 | |
| 	test_hmac.exe
 | |
| 	test_imath.exe
 | |
| 	test_pkcs5.exe
 | |
| 	test_pkcs12.exe
 | |
| #	test_rsa.exe
 | |
| #	test_dh.exe
 | |
| !ifdef SH
 | |
| 	$(SH) test_crypto.sh
 | |
| !endif
 | |
| 	cd $(SRCDIR)
 | |
| 
 | |
| test:: $(TESTLIB) test-binaries test-run
 | 
