QortalOS Brooklyn for Raspberry Pi 4
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

417 lines
13 KiB

# $Id: Makefile.unix 223 2010-06-09 13:22:59Z tp $
#
# ==========================(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)=============================
#
# @author Thomas Pornin <[email protected]>
#
# TODO: update the "install" procedure: raw "cp" is quite primitive.
#
#
# Installation directories:
# PREFIX base directory, used only to make the other directories
# INSTALLLIB installation directory for the compiled library (static)
# INSTALLINC installation directory for the include files
#
PREFIX = /usr/local
INSTALLBIN = $(PREFIX)/bin
INSTALLLIB = $(PREFIX)/lib
INSTALLINC = $(PREFIX)/include
#
# Compiler and flags.
#
# Default options: we assume gcc.
CC = gcc
CFLAGS = -W -Wall -O1 -fomit-frame-pointer
# Athlon XP with gcc 4.1.2
#CC = gcc
#CFLAGS = -W -Wall -O1 -fomit-frame-pointer -mtune=athlon-xp -march=athlon-xp
# Athlon AMD64 with gcc 4.1.2
#CC = gcc
#CFLAGS = -W -Wall -O1 -fomit-frame-pointer -mtune=athlon64 -march=athlon64
# Pentium III-based Celeron with gcc 4.0
#CC = gcc
#CFLAGS = -W -Wall -O1 -fomit-frame-pointer -mtune=pentium3 -march=pentium3
# UltraSPARC IIi, 32-bit mode, gcc 3.4.3
#CC = gcc
#CFLAGS = -W -Wall -O1 -fomit-frame-pointer -mcpu=ultrasparc -DSPH_SPARCV9_GCC
# UltraSPARC IIi, 64-bit mode, gcc 3.4.3
#CC = gcc
#CFLAGS = -W -Wall -O1 -fomit-frame-pointer -m64 -mcpu=ultrasparc
# XScale-PXA270 (ARMv5TE) processor with gcc 4.1.2
#CC = gcc
#CFLAGS = -W -Wall -O1 -fomit-frame-pointer -mtune=xscale -march=armv5te
#
# Linker: used to build the static library.
#
AR = ar -rcs
# ==========================================================================
OBJ = blake.o bmw.o cubehash.o echo.o fugue.o groestl.o hamsi.o haval.o jh.o keccak.o luffa.o md2.o md4.o md5.o panama.o radiogatun.o ripemd.o sha0.o sha1.o sha2.o sha2big.o shabal.o shavite.o simd.o skein.o tiger.o whirlpool.o
LIB = libsph.a
TESTTYPES = test_types
TESTBLAKE = test_blake
TESTBMW = test_bmw
TESTCUBEHASH = test_cubehash
TESTECHO = test_echo
TESTFUGUE = test_fugue
TESTGROESTL = test_groestl
TESTHAMSI = test_hamsi
TESTHAVAL = test_haval
TESTJH = test_jh
TESTKECCAK = test_keccak
TESTLUFFA = test_luffa
TESTMD2 = test_md2
TESTMD4 = test_md4
TESTMD5 = test_md5
TESTPANAMA = test_panama
TESTRADIOGATUN = test_radiogatun
TESTRIPEMD = test_ripemd
TESTSHA0 = test_sha0
TESTSHA1 = test_sha1
TESTSHA2 = test_sha2
TESTSHA3 = test_sha2big
TESTSHABAL = test_shabal
TESTSHAVITE = test_shavite
TESTSIMD = test_simd
TESTSKEIN = test_skein
TESTTIGER = test_tiger
TESTWHIRLPOOL = test_whirlpool
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.o utest.o
TESTBLAKEOBJ = test_blake.o blake.o utest.o
TESTBMWOBJ = test_bmw.o bmw.o utest.o
TESTCUBEHASHOBJ = test_cubehash.o cubehash.o utest.o
TESTECHOOBJ = test_echo.o echo.o utest.o
TESTFUGUEOBJ = test_fugue.o fugue.o utest.o
TESTGROESTLOBJ = test_groestl.o groestl.o utest.o
TESTHAMSIOBJ = test_hamsi.o hamsi.o utest.o
TESTHAVALOBJ = test_haval.o haval.o utest.o
TESTJHOBJ = test_jh.o jh.o utest.o
TESTKECCAKOBJ = test_keccak.o keccak.o utest.o
TESTLUFFAOBJ = test_luffa.o luffa.o utest.o
TESTMD2OBJ = test_md2.o md2.o utest.o
TESTMD4OBJ = test_md4.o md4.o utest.o
TESTMD5OBJ = test_md5.o md5.o utest.o
TESTPANAMAOBJ = test_panama.o panama.o utest.o
TESTRADIOGATUNOBJ = test_radiogatun.o radiogatun.o utest.o
TESTRIPEMDOBJ = test_ripemd.o ripemd.o utest.o
TESTSHA0OBJ = test_sha0.o sha0.o utest.o
TESTSHA1OBJ = test_sha1.o sha1.o utest.o
TESTSHA2OBJ = test_sha2.o sha2.o utest.o
TESTSHA3OBJ = test_sha2big.o sha2big.o utest.o
TESTSHABALOBJ = test_shabal.o shabal.o utest.o
TESTSHAVITEOBJ = test_shavite.o shavite.o utest.o
TESTSIMDOBJ = test_simd.o simd.o utest.o
TESTSKEINOBJ = test_skein.o skein.o utest.o
TESTTIGEROBJ = test_tiger.o tiger.o utest.o
TESTWHIRLPOOLOBJ = test_whirlpool.o whirlpool.o utest.o
SPEED = sphspeed
SPEEDOBJ = speed.o
HSUM = sphsum
HSUMOBJ = hsum.o
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
.POSIX:
all: compile tests
compile: $(LIB) $(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:
-rm -f $(OBJ) $(LIB) $(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) -o $@ $(TESTTYPESOBJ)
$(TESTBLAKE): $(TESTBLAKEOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTBLAKEOBJ)
$(TESTBMW): $(TESTBMWOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTBMWOBJ)
$(TESTCUBEHASH): $(TESTCUBEHASHOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTCUBEHASHOBJ)
$(TESTECHO): $(TESTECHOOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTECHOOBJ)
$(TESTFUGUE): $(TESTFUGUEOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTFUGUEOBJ)
$(TESTGROESTL): $(TESTGROESTLOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTGROESTLOBJ)
$(TESTHAMSI): $(TESTHAMSIOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTHAMSIOBJ)
$(TESTHAVAL): $(TESTHAVALOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTHAVALOBJ)
$(TESTJH): $(TESTJHOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTJHOBJ)
$(TESTKECCAK): $(TESTKECCAKOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTKECCAKOBJ)
$(TESTLUFFA): $(TESTLUFFAOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTLUFFAOBJ)
$(TESTMD2): $(TESTMD2OBJ)
$(CC) $(CFLAGS) -o $@ $(TESTMD2OBJ)
$(TESTMD4): $(TESTMD4OBJ)
$(CC) $(CFLAGS) -o $@ $(TESTMD4OBJ)
$(TESTMD5): $(TESTMD5OBJ)
$(CC) $(CFLAGS) -o $@ $(TESTMD5OBJ)
$(TESTPANAMA): $(TESTPANAMAOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTPANAMAOBJ)
$(TESTRADIOGATUN): $(TESTRADIOGATUNOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTRADIOGATUNOBJ)
$(TESTRIPEMD): $(TESTRIPEMDOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTRIPEMDOBJ)
$(TESTSHA0): $(TESTSHA0OBJ)
$(CC) $(CFLAGS) -o $@ $(TESTSHA0OBJ)
$(TESTSHA1): $(TESTSHA1OBJ)
$(CC) $(CFLAGS) -o $@ $(TESTSHA1OBJ)
$(TESTSHA2): $(TESTSHA2OBJ)
$(CC) $(CFLAGS) -o $@ $(TESTSHA2OBJ)
$(TESTSHA3): $(TESTSHA3OBJ)
$(CC) $(CFLAGS) -o $@ $(TESTSHA3OBJ)
$(TESTSHABAL): $(TESTSHABALOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTSHABALOBJ)
$(TESTSHAVITE): $(TESTSHAVITEOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTSHAVITEOBJ)
$(TESTSIMD): $(TESTSIMDOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTSIMDOBJ)
$(TESTSKEIN): $(TESTSKEINOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTSKEINOBJ)
$(TESTTIGER): $(TESTTIGEROBJ)
$(CC) $(CFLAGS) -o $@ $(TESTTIGEROBJ)
$(TESTWHIRLPOOL): $(TESTWHIRLPOOLOBJ)
$(CC) $(CFLAGS) -o $@ $(TESTWHIRLPOOLOBJ)
$(LIB): $(OBJ)
$(AR) $(LIB) $(OBJ)
$(SPEED): $(SPEEDOBJ) $(LIB)
$(CC) $(CFLAGS) -o $@ $(SPEEDOBJ) $(LIB)
$(HSUM): $(HSUMOBJ) $(LIB)
$(CC) $(CFLAGS) -o $@ $(HSUMOBJ) $(LIB)
install: $(LIB) $(HEADERS) $(SPEED) $(HSUM)
mkdir -p "$(INSTALLBIN)"
mkdir -p "$(INSTALLINC)"
mkdir -p "$(INSTALLLIB)"
cp "$(HSUM)" "$(INSTALLBIN)"
cp "$(SPEED)" "$(INSTALLBIN)"
cp $(HEADERS) "$(INSTALLINC)"
cp "$(LIB)" "$(INSTALLLIB)"
SUFFIXES: .c .o
.c.o:
$(CC) $(CFLAGS) -c $<
# =========================================================================
# Dependencies.
#
blake.o: sph_blake.h sph_types.h
bmw.o: sph_bmw.h sph_types.h
cubehash.o: sph_cubehash.h sph_types.h
echo.o: sph_echo.h sph_types.h aes_helper.c
fugue.o: sph_fugue.h sph_types.h
groestl.o: sph_groestl.h sph_types.h
hamsi.o: sph_hamsi.h sph_types.h hamsi_helper.c
haval.o: sph_haval.h sph_types.h haval_helper.c
hsum.o: 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.o: sph_jh.h sph_types.h
keccak.o: sph_keccak.h sph_types.h
luffa.o: sph_luffa.h sph_types.h
md2.o: sph_md2.h sph_types.h
md4.o: sph_md4.h sph_types.h md_helper.c
md5.o: sph_md5.h sph_types.h md_helper.c
panama.o: sph_panama.h sph_types.h
radiogatun.o: sph_radiogatun.h sph_types.h
ripemd.o: sph_ripemd.h sph_types.h md_helper.c
sha0.o: sph_sha0.h sph_types.h md_helper.c
sha1.o: sph_sha1.h sph_types.h md_helper.c
sha2.o: sph_sha2.h sph_types.h md_helper.c
sha2big.o: sph_sha2.h sph_types.h md_helper.c
shabal.o: sph_shabal.h sph_types.h
shavite.o: sph_shavite.h sph_types.h aes_helper.c
simd.o: sph_simd.h sph_types.h
skein.o: sph_skein.h sph_types.h
speed.o: 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.o: sph_blake.h sph_types.h test_digest_helper.c utest.h
test_bmw.o: sph_bmw.h sph_types.h test_digest_helper.c utest.h
test_cubehash.o: sph_cubehash.h sph_types.h test_digest_helper.c utest.h
test_echo.o: sph_echo.h sph_types.h test_digest_helper.c utest.h
test_fugue.o: sph_fugue.h sph_types.h test_digest_helper.c utest.h
test_groestl.o: sph_groestl.h sph_types.h test_digest_helper.c utest.h
test_hamsi.o: sph_hamsi.h sph_types.h test_digest_helper.c utest.h
test_haval.o: sph_haval.h sph_types.h test_digest_helper.c utest.h
test_keccak.o: sph_keccak.h sph_types.h test_digest_helper.c utest.h
test_luffa.o: sph_luffa.h sph_types.h test_digest_helper.c utest.h
test_jh.o: sph_jh.h sph_types.h test_digest_helper.c utest.h
test_md2.o: sph_md2.h sph_types.h test_digest_helper.c utest.h
test_md4.o: sph_md4.h sph_types.h test_digest_helper.c utest.h
test_md5.o: sph_md5.h sph_types.h test_digest_helper.c utest.h
test_panama.o: sph_panama.h sph_types.h test_digest_helper.c utest.h
test_radiogatun.o: sph_radiogatun.h sph_types.h test_digest_helper.c utest.h
test_shabal.o: sph_shabal.h sph_types.h test_digest_helper.c utest.h
test_shavite.o: sph_shavite.h sph_types.h test_digest_helper.c utest.h
test_ripemd.o: sph_ripemd.h sph_types.h test_digest_helper.c utest.h
test_sha0.o: sph_sha0.h sph_types.h test_digest_helper.c utest.h
test_sha1.o: sph_sha1.h sph_types.h test_digest_helper.c utest.h
test_sha2.o: sph_sha2.h sph_types.h test_digest_helper.c utest.h
test_sha2big.o: sph_sha2.h sph_types.h test_digest_helper.c utest.h
test_simd.o: sph_simd.h sph_types.h test_digest_helper.c utest.h
test_skein.o: sph_skein.h sph_types.h test_digest_helper.c utest.h
test_tiger.o: sph_tiger.h sph_types.h test_digest_helper.c utest.h
test_types.o: sph_types.h utest.h
test_whirlpool.o: sph_whirlpool.h sph_types.h test_digest_helper.c utest.h
tiger.o: sph_tiger.h sph_types.h md_helper.c
utest.o: utest.h
whirlpool.o: sph_whirlpool.h sph_types.h md_helper.c