forked from Qortal/Brooklyn
379 lines
12 KiB
Makefile
379 lines
12 KiB
Makefile
# $Id: Makefile.win32 242 2010-06-21 15:26:31Z tp $
|
|
#
|
|
# Makefile for Visual C++. Use with command-line tool nmake:
|
|
# nmake /f makefile.win32
|
|
#
|
|
# (nmake.exe comes with Visual C++, in the same directory as the
|
|
# command-line compiler cl.exe)
|
|
#
|
|
# ==========================(LICENSE BEGIN)============================
|
|
#
|
|
# Copyright (c) 2007-2010 Projet RNRT SAPHIR
|
|
#
|
|
# Permission is hereby granted, free of charge, to any person obtaining
|
|
# a copy of this software and associated documentation files (the
|
|
# "Software"), to deal in the Software without restriction, including
|
|
# without limitation the rights to use, copy, modify, merge, publish,
|
|
# distribute, sublicense, and/or sell copies of the Software, and to
|
|
# permit persons to whom the Software is furnished to do so, subject to
|
|
# the following conditions:
|
|
#
|
|
# The above copyright notice and this permission notice shall be included
|
|
# in all copies or substantial portions of the Software.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
#
|
|
# ===========================(LICENSE END)=============================
|
|
#
|
|
|
|
#
|
|
# We use "/W2" because higher warning levels trigger dozens of spurious
|
|
# warnings about possible loss of precision when casting integer types
|
|
# into "unsigned char" values -- but we really want that "loss of
|
|
# precision".
|
|
#
|
|
# The "/D_CRT_SECURE_NO_DEPRECATE" flag avoids a warning on fopen(). We
|
|
# use fopen() only for reading, which has no security problem.
|
|
#
|
|
# Optimization flags are tricky. These ones provide good performance on
|
|
# an AMD Athlon 64 architecture (used in 32-bit mode).
|
|
#
|
|
|
|
CC = cl
|
|
CFLAGS = /nologo /O2 /Ob2tiy /W2 /D_CRT_SECURE_NO_DEPRECATE
|
|
|
|
#
|
|
# You can use /arch:SSE or /arch:SSE2 to activate usage of opcodes and
|
|
# optimizations valid only for the CPUs which feature, respectively, the
|
|
# SSE and the SSE2 instruction sets.
|
|
#
|
|
#CFLAGS = /nologo /O2 /Ob2tiy /W2 /D_CRT_SECURE_NO_DEPRECATE /arch:SSE2
|
|
|
|
# ==========================================================================
|
|
|
|
OBJ = blake.obj bmw.obj cubehash.obj echo.obj fugue.obj groestl.obj hamsi.obj haval.obj jh.obj keccak.obj luffa.obj md2.obj md4.obj md5.obj panama.obj radiogatun.obj ripemd.obj sha0.obj sha1.obj sha2.obj sha2big.obj shabal.obj shavite.obj simd.obj skein.obj tiger.obj whirlpool.obj
|
|
TESTTYPES = test_types.exe
|
|
TESTBLAKE = test_blake.exe
|
|
TESTBMW = test_bmw.exe
|
|
TESTCUBEHASH = test_cubehash.exe
|
|
TESTECHO = test_echo.exe
|
|
TESTFUGUE = test_fugue.exe
|
|
TESTGROESTL = test_groestl.exe
|
|
TESTHAMSI = test_hamsi.exe
|
|
TESTHAVAL = test_haval.exe
|
|
TESTJH = test_jh.exe
|
|
TESTKECCAK = test_keccak.exe
|
|
TESTLUFFA = test_luffa.exe
|
|
TESTMD2 = test_md2.exe
|
|
TESTMD4 = test_md4.exe
|
|
TESTMD5 = test_md5.exe
|
|
TESTPANAMA = test_panama.exe
|
|
TESTRADIOGATUN = test_radiogatun.exe
|
|
TESTRIPEMD = test_ripemd.exe
|
|
TESTSHA0 = test_sha0.exe
|
|
TESTSHA1 = test_sha1.exe
|
|
TESTSHA2 = test_sha2.exe
|
|
TESTSHA3 = test_sha2big.exe
|
|
TESTSHABAL = test_shabal.exe
|
|
TESTSHAVITE = test_shavite.exe
|
|
TESTSIMD = test_simd.exe
|
|
TESTSKEIN = test_skein.exe
|
|
TESTTIGER = test_tiger.exe
|
|
TESTWHIRLPOOL = test_whirlpool.exe
|
|
TESTS = $(TESTTYPES) $(TESTBLAKE) $(TESTBMW) $(TESTCUBEHASH) $(TESTECHO) $(TESTFUGUE) $(TESTGROESTL) $(TESTHAMSI) $(TESTHAVAL) $(TESTJH) $(TESTKECCAK) $(TESTLUFFA) $(TESTMD2) $(TESTMD4) $(TESTMD5) $(TESTPANAMA) $(TESTRADIOGATUN) $(TESTRIPEMD) $(TESTSHA0) $(TESTSHA1) $(TESTSHA2) $(TESTSHA3) $(TESTSHABAL) $(TESTSHAVITE) $(TESTSIMD) $(TESTSKEIN) $(TESTTIGER) $(TESTWHIRLPOOL)
|
|
TESTTYPESOBJ = test_types.obj utest.obj
|
|
TESTBLAKEOBJ = test_blake.obj blake.obj utest.obj
|
|
TESTBMWOBJ = test_bmw.obj bmw.obj utest.obj
|
|
TESTCUBEHASHOBJ = test_cubehash.obj cubehash.obj utest.obj
|
|
TESTECHOOBJ = test_echo.obj echo.obj utest.obj
|
|
TESTFUGUEOBJ = test_fugue.obj fugue.obj utest.obj
|
|
TESTGROESTLOBJ = test_groestl.obj groestl.obj utest.obj
|
|
TESTHAMSIOBJ = test_hamsi.obj hamsi.obj utest.obj
|
|
TESTHAVALOBJ = test_haval.obj haval.obj utest.obj
|
|
TESTJHOBJ = test_jh.obj jh.obj utest.obj
|
|
TESTKECCAKOBJ = test_keccak.obj keccak.obj utest.obj
|
|
TESTLUFFAOBJ = test_luffa.obj luffa.obj utest.obj
|
|
TESTMD2OBJ = test_md2.obj md2.obj utest.obj
|
|
TESTMD4OBJ = test_md4.obj md4.obj utest.obj
|
|
TESTMD5OBJ = test_md5.obj md5.obj utest.obj
|
|
TESTPANAMAOBJ = test_panama.obj panama.obj utest.obj
|
|
TESTRADIOGATUNOBJ = test_radiogatun.obj radiogatun.obj utest.obj
|
|
TESTRIPEMDOBJ = test_ripemd.obj ripemd.obj utest.obj
|
|
TESTSHA0OBJ = test_sha0.obj sha0.obj utest.obj
|
|
TESTSHA1OBJ = test_sha1.obj sha1.obj utest.obj
|
|
TESTSHA2OBJ = test_sha2.obj sha2.obj utest.obj
|
|
TESTSHA3OBJ = test_sha2big.obj sha2big.obj utest.obj
|
|
TESTSHABALOBJ = test_shabal.obj shabal.obj utest.obj
|
|
TESTSHAVITEOBJ = test_shavite.obj shavite.obj utest.obj
|
|
TESTSIMDOBJ = test_simd.obj simd.obj utest.obj
|
|
TESTSKEINOBJ = test_skein.obj skein.obj utest.obj
|
|
TESTTIGEROBJ = test_tiger.obj tiger.obj utest.obj
|
|
TESTWHIRLPOOLOBJ = test_whirlpool.obj whirlpool.obj utest.obj
|
|
SPEED = sphspeed.exe
|
|
SPEEDOBJ = speed.obj
|
|
HSUM = sphsum.exe
|
|
HSUMOBJ = hsum.obj
|
|
HEADERS = sph_blake.h sph_bmw.h sph_cubehash.h sph_echo.h sph_fugue.h sph_groestl.h sph_hamsi.h sph_haval.h sph_jh.h sph_keccak.h sph_luffa.h sph_md2.h sph_md4.h sph_md5.h sph_panama.h sph_radiogatun.h sph_ripemd.h sph_sha0.h sph_sha1.h sph_sha2.h sph_sha3.h sph_shabal.h sph_shavite.h sph_simd.h sph_skein.h sph_tiger.h sph_types.h sph_whirlpool.h
|
|
|
|
all: compile tests
|
|
|
|
compile: $(OBJ) $(SPEED) $(HSUM)
|
|
|
|
build-tests: $(TESTS)
|
|
|
|
run-tests: build-tests
|
|
$(TESTTYPES)
|
|
$(TESTBLAKE)
|
|
$(TESTBMW)
|
|
$(TESTCUBEHASH)
|
|
$(TESTECHO)
|
|
$(TESTFUGUE)
|
|
$(TESTGROESTL)
|
|
$(TESTHAMSI)
|
|
$(TESTHAVAL)
|
|
$(TESTJH)
|
|
$(TESTKECCAK)
|
|
$(TESTLUFFA)
|
|
$(TESTMD2)
|
|
$(TESTMD4)
|
|
$(TESTMD5)
|
|
$(TESTPANAMA)
|
|
$(TESTRADIOGATUN)
|
|
$(TESTRIPEMD)
|
|
$(TESTSHA0)
|
|
$(TESTSHA1)
|
|
$(TESTSHA2)
|
|
$(TESTSHA3)
|
|
$(TESTSHABAL)
|
|
$(TESTSHAVITE)
|
|
$(TESTSIMD)
|
|
$(TESTSKEIN)
|
|
$(TESTTIGER)
|
|
$(TESTWHIRLPOOL)
|
|
|
|
tests: build-tests run-tests
|
|
|
|
clean:
|
|
-del /Q $(OBJ) $(TESTS) $(TESTTYPESOBJ) $(TESTBLAKEOBJ) $(TESTBMWOBJ) $(TESTCUBEHASHOBJ) $(TESTECHOOBJ) $(TESTFUGUEOBJ) $(TESTGROESTLOBJ) $(TESTHAMSIOBJ) $(TESTHAVALOBJ) $(TESTJHOBJ) $(TESTKECCAKOBJ) $(TESTLUFFAOBJ) $(TESTMD2OBJ) $(TESTMD4OBJ) $(TESTMD5OBJ) $(TESTPANAMAOBJ) $(TESTRADIOGATUNOBJ) $(TESTRIPEMDOBJ) $(TESTSHA0OBJ) $(TESTSHA1OBJ) $(TESTSHA2OBJ) $(TESTSHA3OBJ) $(TESTSHABALOBJ) $(TESTSHAVITEOBJ) $(TESTSIMDOBJ) $(TESTSKEINOBJ) $(TESTTIGEROBJ) $(TESTWHIRLPOOLOBJ) $(SPEED) $(SPEEDOBJ) $(HSUM) $(HSUMOBJ)
|
|
|
|
$(TESTTYPES): $(TESTTYPESOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTTYPESOBJ)
|
|
|
|
$(TESTBLAKE): $(TESTBLAKEOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTBLAKEOBJ)
|
|
|
|
$(TESTBMW): $(TESTBMWOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTBMWOBJ)
|
|
|
|
$(TESTCUBEHASH): $(TESTCUBEHASHOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTCUBEHASHOBJ)
|
|
|
|
$(TESTECHO): $(TESTECHOOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTECHOOBJ)
|
|
|
|
$(TESTFUGUE): $(TESTFUGUEOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTFUGUEOBJ)
|
|
|
|
$(TESTGROESTL): $(TESTGROESTLOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTGROESTLOBJ)
|
|
|
|
$(TESTHAMSI): $(TESTHAMSIOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTHAMSIOBJ)
|
|
|
|
$(TESTHAVAL): $(TESTHAVALOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTHAVALOBJ)
|
|
|
|
$(TESTJH): $(TESTJHOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTJHOBJ)
|
|
|
|
$(TESTKECCAK): $(TESTKECCAKOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTKECCAKOBJ)
|
|
|
|
$(TESTLUFFA): $(TESTLUFFAOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTLUFFAOBJ)
|
|
|
|
$(TESTMD2): $(TESTMD2OBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTMD2OBJ)
|
|
|
|
$(TESTMD4): $(TESTMD4OBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTMD4OBJ)
|
|
|
|
$(TESTMD5): $(TESTMD5OBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTMD5OBJ)
|
|
|
|
$(TESTPANAMA): $(TESTPANAMAOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTPANAMAOBJ)
|
|
|
|
$(TESTRADIOGATUN): $(TESTRADIOGATUNOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTRADIOGATUNOBJ)
|
|
|
|
$(TESTRIPEMD): $(TESTRIPEMDOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTRIPEMDOBJ)
|
|
|
|
$(TESTSHA0): $(TESTSHA0OBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTSHA0OBJ)
|
|
|
|
$(TESTSHA1): $(TESTSHA1OBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTSHA1OBJ)
|
|
|
|
$(TESTSHA2): $(TESTSHA2OBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTSHA2OBJ)
|
|
|
|
$(TESTSHA3): $(TESTSHA3OBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTSHA3OBJ)
|
|
|
|
$(TESTSHABAL): $(TESTSHABALOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTSHABALOBJ)
|
|
|
|
$(TESTSHAVITE): $(TESTSHAVITEOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTSHAVITEOBJ)
|
|
|
|
$(TESTSIMD): $(TESTSIMDOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTSIMDOBJ)
|
|
|
|
$(TESTSKEIN): $(TESTSKEINOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTSKEINOBJ)
|
|
|
|
$(TESTTIGER): $(TESTTIGEROBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTTIGEROBJ)
|
|
|
|
$(TESTWHIRLPOOL): $(TESTWHIRLPOOLOBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(TESTWHIRLPOOLOBJ)
|
|
|
|
$(SPEED): $(SPEEDOBJ) $(OBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(SPEEDOBJ) $(OBJ)
|
|
|
|
$(HSUM): $(HSUMOBJ) $(OBJ)
|
|
$(CC) $(CFLAGS) /Fe$@ $(HSUMOBJ) $(OBJ)
|
|
|
|
SUFFIXES: .c .obj
|
|
|
|
.c.obj:
|
|
$(CC) $(CFLAGS) -c $<
|
|
|
|
# =========================================================================
|
|
# Dependencies.
|
|
#
|
|
|
|
blake.obj: sph_blake.h sph_types.h
|
|
|
|
bmw.obj: sph_bmw.h sph_types.h
|
|
|
|
cubehash.obj: sph_cubehash.h sph_types.h
|
|
|
|
echo.obj: sph_echo.h sph_types.h aes_helper.c
|
|
|
|
fugue.obj: sph_fugue.h sph_types.h
|
|
|
|
groestl.obj: sph_groestl.h sph_types.h
|
|
|
|
hamsi.obj: sph_hamsi.h sph_types.h hamsi_helper.c
|
|
|
|
haval.obj: sph_haval.h sph_types.h haval_helper.c
|
|
|
|
hsum.obj: sph_blake.h sph_bmw.h sph_cubehash.h sph_echo.h sph_fugue.h sph_groestl.h sph_hamsi.h sph_haval.h sph_jh.h sph_keccak.h sph_luffa.h sph_md2.h sph_md4.h sph_md5.h sph_panama.h sph_radiogatun.h sph_ripemd.h sph_sha0.h sph_sha1.h sph_sha2.h sph_shabal.h sph_shavite.h sph_simd.h sph_skein.h sph_tiger.h sph_types.h sph_whirlpool.h
|
|
|
|
jh.obj: sph_jh.h sph_types.h
|
|
|
|
keccak.obj: sph_keccak.h sph_types.h
|
|
|
|
luffa.obj: sph_luffa.h sph_types.h
|
|
|
|
md2.obj: sph_md2.h sph_types.h
|
|
|
|
md4.obj: sph_md4.h sph_types.h md_helper.c
|
|
|
|
md5.obj: sph_md5.h sph_types.h md_helper.c
|
|
|
|
panama.obj: sph_panama.h sph_types.h
|
|
|
|
radiogatun.obj: sph_radiogatun.h sph_types.h
|
|
|
|
ripemd.obj: sph_ripemd.h sph_types.h md_helper.c
|
|
|
|
sha0.obj: sph_sha0.h sph_types.h md_helper.c
|
|
|
|
sha1.obj: sph_sha1.h sph_types.h md_helper.c
|
|
|
|
sha2.obj: sph_sha2.h sph_types.h md_helper.c
|
|
|
|
sha2big.obj: sph_sha2.h sph_types.h md_helper.c
|
|
|
|
shabal.obj: sph_shabal.h sph_types.h
|
|
|
|
shavite.obj: sph_shavite.h sph_types.h aes_helper.c
|
|
|
|
simd.obj: sph_simd.h sph_types.h
|
|
|
|
skein.obj: sph_skein.h sph_types.h
|
|
|
|
speed.obj: sph_blake.h sph_bmw.h sph_cubehash.h sph_echo.h sph_fugue.h sph_groestl.h sph_hamsi.h sph_haval.h sph_jh.h sph_keccak.h sph_luffa.h sph_md2.h sph_md4.h sph_md5.h sph_panama.h sph_radiogatun.h sph_ripemd.h sph_sha0.h sph_sha1.h sph_sha2.h sph_shabal.h sph_shavite.h sph_simd.h sph_skein.h sph_tiger.h sph_types.h sph_whirlpool.h
|
|
|
|
test_blake.obj: sph_blake.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_bmw.obj: sph_bmw.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_cubehash.obj: sph_cubehash.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_echo.obj: sph_echo.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_fugue.obj: sph_fugue.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_groestl.obj: sph_groestl.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_hamsi.obj: sph_hamsi.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_haval.obj: sph_haval.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_keccak.obj: sph_keccak.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_luffa.obj: sph_luffa.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_jh.obj: sph_jh.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_md2.obj: sph_md2.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_md4.obj: sph_md4.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_md5.obj: sph_md5.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_panama.obj: sph_panama.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_radiogatun.obj: sph_radiogatun.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_shabal.obj: sph_shabal.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_shavite.obj: sph_shavite.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_ripemd.obj: sph_ripemd.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_sha0.obj: sph_sha0.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_sha1.obj: sph_sha1.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_sha2.obj: sph_sha2.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_sha2big.obj: sph_sha2.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_simd.obj: sph_simd.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_skein.obj: sph_skein.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_tiger.obj: sph_tiger.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
test_types.obj: sph_types.h utest.h
|
|
|
|
test_whirlpool.obj: sph_whirlpool.h sph_types.h test_digest_helper.c utest.h
|
|
|
|
tiger.obj: sph_tiger.h sph_types.h md_helper.c
|
|
|
|
utest.obj: utest.h
|
|
|
|
whirlpool.obj: sph_whirlpool.h sph_types.h md_helper.c
|