Changeset View
Changeset View
Standalone View
Standalone View
head/lib/libmd/Makefile
# $FreeBSD$ | # $FreeBSD$ | ||||
LIB= md | LIB= md | ||||
SHLIB_MAJOR= 6 | SHLIB_MAJOR= 6 | ||||
SHLIBDIR?= /lib | SHLIBDIR?= /lib | ||||
SRCS= md4c.c md5c.c md4hl.c md5hl.c \ | SRCS= md4c.c md5c.c md4hl.c md5hl.c \ | ||||
rmd160c.c rmd160hl.c \ | rmd160c.c rmd160hl.c \ | ||||
sha0c.c sha0hl.c sha1c.c sha1hl.c \ | sha0c.c sha0hl.c sha1c.c sha1hl.c \ | ||||
sha256c.c sha256hl.c \ | sha256c.c sha256hl.c \ | ||||
sha384hl.c \ | |||||
sha512c.c sha512hl.c | sha512c.c sha512hl.c | ||||
INCS= md4.h md5.h ripemd.h sha.h sha256.h sha512.h | INCS= md4.h md5.h ripemd.h sha.h sha256.h sha384.h sha512.h | ||||
WARNS?= 0 | WARNS?= 0 | ||||
MAN+= md4.3 md5.3 ripemd.3 sha.3 sha256.3 sha512.3 | MAN+= md4.3 md5.3 ripemd.3 sha.3 sha256.3 sha512.3 | ||||
MLINKS+=md4.3 MD4Init.3 md4.3 MD4Update.3 md4.3 MD4Final.3 | MLINKS+=md4.3 MD4Init.3 md4.3 MD4Update.3 md4.3 MD4Final.3 | ||||
MLINKS+=md4.3 MD4End.3 md4.3 MD4File.3 md4.3 MD4FileChunk.3 | MLINKS+=md4.3 MD4End.3 md4.3 MD4File.3 md4.3 MD4FileChunk.3 | ||||
MLINKS+=md4.3 MD4Data.3 | MLINKS+=md4.3 MD4Data.3 | ||||
MLINKS+=md5.3 MD5Init.3 md5.3 MD5Update.3 md5.3 MD5Final.3 | MLINKS+=md5.3 MD5Init.3 md5.3 MD5Update.3 md5.3 MD5Final.3 | ||||
MLINKS+=md5.3 MD5End.3 md5.3 MD5File.3 md5.3 MD5FileChunk.3 | MLINKS+=md5.3 MD5End.3 md5.3 MD5File.3 md5.3 MD5FileChunk.3 | ||||
MLINKS+=md5.3 MD5Data.3 | MLINKS+=md5.3 MD5Data.3 | ||||
MLINKS+=ripemd.3 RIPEMD160_Init.3 ripemd.3 RIPEMD160_Update.3 | MLINKS+=ripemd.3 RIPEMD160_Init.3 ripemd.3 RIPEMD160_Update.3 | ||||
MLINKS+=ripemd.3 RIPEMD160_Final.3 ripemd.3 RIPEMD160_Data.3 | MLINKS+=ripemd.3 RIPEMD160_Final.3 ripemd.3 RIPEMD160_Data.3 | ||||
MLINKS+=ripemd.3 RIPEMD160_End.3 ripemd.3 RIPEMD160_File.3 | MLINKS+=ripemd.3 RIPEMD160_End.3 ripemd.3 RIPEMD160_File.3 | ||||
MLINKS+=ripemd.3 RIPEMD160_FileChunk.3 | MLINKS+=ripemd.3 RIPEMD160_FileChunk.3 | ||||
MLINKS+=sha.3 SHA_Init.3 sha.3 SHA_Update.3 sha.3 SHA_Final.3 | MLINKS+=sha.3 SHA_Init.3 sha.3 SHA_Update.3 sha.3 SHA_Final.3 | ||||
MLINKS+=sha.3 SHA_End.3 sha.3 SHA_File.3 sha.3 SHA_FileChunk.3 | MLINKS+=sha.3 SHA_End.3 sha.3 SHA_File.3 sha.3 SHA_FileChunk.3 | ||||
MLINKS+=sha.3 SHA_Data.3 | MLINKS+=sha.3 SHA_Data.3 | ||||
MLINKS+=sha.3 SHA1_Init.3 sha.3 SHA1_Update.3 sha.3 SHA1_Final.3 | MLINKS+=sha.3 SHA1_Init.3 sha.3 SHA1_Update.3 sha.3 SHA1_Final.3 | ||||
MLINKS+=sha.3 SHA1_End.3 sha.3 SHA1_File.3 sha.3 SHA1_FileChunk.3 | MLINKS+=sha.3 SHA1_End.3 sha.3 SHA1_File.3 sha.3 SHA1_FileChunk.3 | ||||
MLINKS+=sha.3 SHA1_Data.3 | MLINKS+=sha.3 SHA1_Data.3 | ||||
MLINKS+=sha256.3 SHA256_Init.3 sha256.3 SHA256_Update.3 | MLINKS+=sha256.3 SHA256_Init.3 sha256.3 SHA256_Update.3 | ||||
MLINKS+=sha256.3 SHA256_Final.3 sha256.3 SHA256_End.3 | MLINKS+=sha256.3 SHA256_Final.3 sha256.3 SHA256_End.3 | ||||
MLINKS+=sha256.3 SHA256_File.3 sha256.3 SHA256_FileChunk.3 | MLINKS+=sha256.3 SHA256_File.3 sha256.3 SHA256_FileChunk.3 | ||||
MLINKS+=sha256.3 SHA256_Data.3 | MLINKS+=sha256.3 SHA256_Data.3 | ||||
MLINKS+=sha512.3 SHA384_Init.3 sha512.3 SHA384_Update.3 | |||||
MLINKS+=sha512.3 SHA384_Final.3 sha512.3 SHA384_End.3 | |||||
MLINKS+=sha512.3 SHA384_File.3 sha512.3 SHA384_FileChunk.3 | |||||
MLINKS+=sha512.3 SHA384_Data.3 sha512.3 sha384.3 | |||||
MLINKS+=sha512.3 SHA512_Init.3 sha512.3 SHA512_Update.3 | MLINKS+=sha512.3 SHA512_Init.3 sha512.3 SHA512_Update.3 | ||||
MLINKS+=sha512.3 SHA512_Final.3 sha512.3 SHA512_End.3 | MLINKS+=sha512.3 SHA512_Final.3 sha512.3 SHA512_End.3 | ||||
MLINKS+=sha512.3 SHA512_File.3 sha512.3 SHA512_FileChunk.3 | MLINKS+=sha512.3 SHA512_File.3 sha512.3 SHA512_FileChunk.3 | ||||
MLINKS+=sha512.3 SHA512_Data.3 | MLINKS+=sha512.3 SHA512_Data.3 | ||||
CLEANFILES+= md[245]hl.c md[245].ref md[245].3 mddriver \ | CLEANFILES+= md[245]hl.c md[245].ref md[245].3 mddriver \ | ||||
rmd160.ref rmd160hl.c rmddriver \ | rmd160.ref rmd160hl.c rmddriver \ | ||||
sha0.ref sha0hl.c sha1.ref sha1hl.c shadriver \ | sha0.ref sha0hl.c sha1.ref sha1hl.c shadriver \ | ||||
sha256.ref sha256hl.c sha512.ref sha512hl.c | sha256.ref sha256hl.c sha384hl.c sha384.ref \ | ||||
sha512.ref sha512hl.c | |||||
# Define WEAK_REFS to provide weak aliases for libmd symbols | # Define WEAK_REFS to provide weak aliases for libmd symbols | ||||
# | # | ||||
# Note that the same sources are also used internally by libcrypt, | # Note that the same sources are also used internally by libcrypt, | ||||
# in which case: | # in which case: | ||||
# * macros are used to rename symbols to libcrypt internal names | # * macros are used to rename symbols to libcrypt internal names | ||||
# * no weak aliases are generated | # * no weak aliases are generated | ||||
CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../../sys/crypto/sha2 | CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../../sys/crypto/sha2 | ||||
Show All 31 Lines | (echo '#define LENGTH 20'; \ | ||||
${.ALLSRC}) > ${.TARGET} | ${.ALLSRC}) > ${.TARGET} | ||||
sha256hl.c: mdXhl.c | sha256hl.c: mdXhl.c | ||||
(echo '#define LENGTH 32'; \ | (echo '#define LENGTH 32'; \ | ||||
sed -e 's/mdX/sha256/g' -e 's/MDX/SHA256_/g' \ | sed -e 's/mdX/sha256/g' -e 's/MDX/SHA256_/g' \ | ||||
-e 's/SHA256__/SHA256_/g' \ | -e 's/SHA256__/SHA256_/g' \ | ||||
${.ALLSRC}) > ${.TARGET} | ${.ALLSRC}) > ${.TARGET} | ||||
sha384hl.c: mdXhl.c | |||||
(echo '#define LENGTH 48'; \ | |||||
sed -e 's/mdX/sha384/g' -e 's/MDX/SHA384_/g' \ | |||||
-e 's/SHA384__/SHA384_/g' \ | |||||
${.ALLSRC}) > ${.TARGET} | |||||
sha512hl.c: mdXhl.c | sha512hl.c: mdXhl.c | ||||
(echo '#define LENGTH 64'; \ | (echo '#define LENGTH 64'; \ | ||||
sed -e 's/mdX/sha512/g' -e 's/MDX/SHA512_/g' \ | sed -e 's/mdX/sha512/g' -e 's/MDX/SHA512_/g' \ | ||||
-e 's/SHA512__/SHA512_/g' \ | -e 's/SHA512__/SHA512_/g' \ | ||||
${.ALLSRC}) > ${.TARGET} | ${.ALLSRC}) > ${.TARGET} | ||||
rmd160hl.c: mdXhl.c | rmd160hl.c: mdXhl.c | ||||
(echo '#define LENGTH 20'; \ | (echo '#define LENGTH 20'; \ | ||||
▲ Show 20 Lines • Show All 64 Lines • ▼ Show 20 Lines | @echo 'SHA-256 ("message digest") =' \ | ||||
'f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650' >> ${.TARGET} | 'f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650' >> ${.TARGET} | ||||
@echo 'SHA-256 ("abcdefghijklmnopqrstuvwxyz") =' \ | @echo 'SHA-256 ("abcdefghijklmnopqrstuvwxyz") =' \ | ||||
'71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73' >> ${.TARGET} | '71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73' >> ${.TARGET} | ||||
@echo 'SHA-256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ | @echo 'SHA-256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ | ||||
'db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0' >> ${.TARGET} | 'db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0' >> ${.TARGET} | ||||
@echo 'SHA-256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ | @echo 'SHA-256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ | ||||
'f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e' >> ${.TARGET} | 'f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e' >> ${.TARGET} | ||||
sha384.ref: | |||||
echo 'SHA-384 test suite:' > ${.TARGET} | |||||
@echo 'SHA-384 ("") =' \ | |||||
'38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b' >> ${.TARGET} | |||||
@echo 'SHA-384 ("abc") =' \ | |||||
'cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7' >> ${.TARGET} | |||||
@echo 'SHA-384 ("message digest") =' \ | |||||
'473ed35167ec1f5d8e550368a3db39be54639f828868e9454c239fc8b52e3c61dbd0d8b4de1390c256dcbb5d5fd99cd5' >> ${.TARGET} | |||||
@echo 'SHA-384 ("abcdefghijklmnopqrstuvwxyz") =' \ | |||||
'feb67349df3db6f5924815d6c3dc133f091809213731fe5c7b5f4999e463479ff2877f5f2936fa63bb43784b12f3ebb4' >> ${.TARGET} | |||||
@echo 'SHA-384 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ | |||||
'1761336e3f7cbfe51deb137f026f89e01a448e3b1fafa64039c1464ee8732f11a5341a6f41e0c202294736ed64db1a84' >> ${.TARGET} | |||||
@echo 'SHA-384 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ | |||||
'b12932b0627d1c060942f5447764155655bd4da0c9afa6dd9b9ef53129af1b8fb0195996d2de9ca0df9d821ffee67026' >> ${.TARGET} | |||||
sha512.ref: | sha512.ref: | ||||
echo 'SHA-512 test suite:' > ${.TARGET} | echo 'SHA-512 test suite:' > ${.TARGET} | ||||
@echo 'SHA-512 ("") =' \ | @echo 'SHA-512 ("") =' \ | ||||
'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e' >> ${.TARGET} | 'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e' >> ${.TARGET} | ||||
@echo 'SHA-512 ("abc") =' \ | @echo 'SHA-512 ("abc") =' \ | ||||
'ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f' >> ${.TARGET} | 'ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f' >> ${.TARGET} | ||||
@echo 'SHA-512 ("message digest") =' \ | @echo 'SHA-512 ("message digest") =' \ | ||||
'107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c' >> ${.TARGET} | '107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c' >> ${.TARGET} | ||||
Show All 12 Lines | @echo 'RIPEMD160 ("message digest") =' \ | ||||
'5d0689ef49d2fae572b881b123a85ffa21595f36' >> ${.TARGET} | '5d0689ef49d2fae572b881b123a85ffa21595f36' >> ${.TARGET} | ||||
@echo 'RIPEMD160 ("abcdefghijklmnopqrstuvwxyz") =' \ | @echo 'RIPEMD160 ("abcdefghijklmnopqrstuvwxyz") =' \ | ||||
'f71c27109c692c1b56bbdceb5b9d2865b3708dbc' >> ${.TARGET} | 'f71c27109c692c1b56bbdceb5b9d2865b3708dbc' >> ${.TARGET} | ||||
@echo 'RIPEMD160 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ | @echo 'RIPEMD160 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ | ||||
'b0e20b6e3116640286ed3a87a5713079b21f5189' >> ${.TARGET} | 'b0e20b6e3116640286ed3a87a5713079b21f5189' >> ${.TARGET} | ||||
@echo 'RIPEMD160 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ | @echo 'RIPEMD160 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ | ||||
'9b752e45573d4b39f4dbd3323cab82bf63326bfb' >> ${.TARGET} | '9b752e45573d4b39f4dbd3323cab82bf63326bfb' >> ${.TARGET} | ||||
test: md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha256.ref sha512.ref | test: md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha256.ref sha384.ref \ | ||||
sha512.ref | |||||
@${ECHO} if any of these test fail, the code produces wrong results | @${ECHO} if any of these test fail, the code produces wrong results | ||||
@${ECHO} and should NOT be used. | @${ECHO} and should NOT be used. | ||||
${CC} ${CFLAGS} ${LDFLAGS} -DMD=4 -o mddriver ${.CURDIR}/mddriver.c libmd.a | ${CC} ${CFLAGS} ${LDFLAGS} -DMD=4 -o mddriver ${.CURDIR}/mddriver.c libmd.a | ||||
./mddriver | cmp md4.ref - | ./mddriver | cmp md4.ref - | ||||
@${ECHO} MD4 passed test | @${ECHO} MD4 passed test | ||||
${CC} ${CFLAGS} ${LDFLAGS} -DMD=5 -o mddriver ${.CURDIR}/mddriver.c libmd.a | ${CC} ${CFLAGS} ${LDFLAGS} -DMD=5 -o mddriver ${.CURDIR}/mddriver.c libmd.a | ||||
./mddriver | cmp md5.ref - | ./mddriver | cmp md5.ref - | ||||
@${ECHO} MD5 passed test | @${ECHO} MD5 passed test | ||||
-rm -f mddriver | -rm -f mddriver | ||||
${CC} ${CFLAGS} ${LDFLAGS} -o rmddriver ${.CURDIR}/rmddriver.c libmd.a | ${CC} ${CFLAGS} ${LDFLAGS} -o rmddriver ${.CURDIR}/rmddriver.c libmd.a | ||||
./rmddriver | cmp rmd160.ref - | ./rmddriver | cmp rmd160.ref - | ||||
@${ECHO} RIPEMD160 passed test | @${ECHO} RIPEMD160 passed test | ||||
-rm -f rmddriver | -rm -f rmddriver | ||||
${CC} ${CFLAGS} ${LDFLAGS} -DSHA=0 -o shadriver ${.CURDIR}/shadriver.c libmd.a | ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=0 -o shadriver ${.CURDIR}/shadriver.c libmd.a | ||||
./shadriver | cmp sha0.ref - | ./shadriver | cmp sha0.ref - | ||||
@${ECHO} SHA-0 passed test | @${ECHO} SHA-0 passed test | ||||
${CC} ${CFLAGS} ${LDFLAGS} -DSHA=1 -o shadriver ${.CURDIR}/shadriver.c libmd.a | ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=1 -o shadriver ${.CURDIR}/shadriver.c libmd.a | ||||
./shadriver | cmp sha1.ref - | ./shadriver | cmp sha1.ref - | ||||
@${ECHO} SHA-1 passed test | @${ECHO} SHA-1 passed test | ||||
${CC} ${CFLAGS} ${LDFLAGS} -DSHA=256 -o shadriver ${.CURDIR}/shadriver.c libmd.a | ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=256 -o shadriver ${.CURDIR}/shadriver.c libmd.a | ||||
./shadriver | cmp sha256.ref - | ./shadriver | cmp sha256.ref - | ||||
@${ECHO} SHA-256 passed test | @${ECHO} SHA-256 passed test | ||||
${CC} ${CFLAGS} ${LDFLAGS} -DSHA=384 -o shadriver ${.CURDIR}/shadriver.c libmd.a | |||||
./shadriver | cmp sha384.ref - | |||||
@${ECHO} SHA-384 passed test | |||||
${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512 -o shadriver ${.CURDIR}/shadriver.c libmd.a | ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512 -o shadriver ${.CURDIR}/shadriver.c libmd.a | ||||
./shadriver | cmp sha512.ref - | ./shadriver | cmp sha512.ref - | ||||
@${ECHO} SHA-512 passed test | @${ECHO} SHA-512 passed test | ||||
-rm -f shadriver | -rm -f shadriver | ||||
.include <bsd.lib.mk> | .include <bsd.lib.mk> |