head	1.48;
access;
symbols
	RELENG_8_4:1.48.0.2
	RELENG_9_1_0_RELEASE:1.46.2.1.4.2
	RELENG_9_1:1.46.2.1.0.4
	RELENG_9_1_BP:1.46.2.1
	RELENG_8_3_0_RELEASE:1.43.2.2.2.1
	RELENG_8_3:1.43.2.2.0.2
	RELENG_8_3_BP:1.43.2.2
	RELENG_9_0_0_RELEASE:1.46.2.1.2.1
	RELENG_9_0:1.46.2.1.0.2
	RELENG_9_0_BP:1.46.2.1
	RELENG_9:1.46.0.2
	RELENG_9_BP:1.46
	RELENG_7_4_0_RELEASE:1.42.24.1
	RELENG_8_2_0_RELEASE:1.43.2.1.6.1
	RELENG_7_4:1.42.0.24
	RELENG_7_4_BP:1.42
	RELENG_8_2:1.43.2.1.0.6
	RELENG_8_2_BP:1.43.2.1
	RELENG_8_1_0_RELEASE:1.43.2.1.4.1
	RELENG_8_1:1.43.2.1.0.4
	RELENG_8_1_BP:1.43.2.1
	RELENG_7_3_0_RELEASE:1.42.22.1
	RELENG_7_3:1.42.0.22
	RELENG_7_3_BP:1.42
	RELENG_8_0_0_RELEASE:1.43.2.1.2.1
	RELENG_8_0:1.43.2.1.0.2
	RELENG_8_0_BP:1.43.2.1
	RELENG_8:1.43.0.2
	RELENG_8_BP:1.43
	RELENG_7_2_0_RELEASE:1.42.20.1
	RELENG_7_2:1.42.0.20
	RELENG_7_2_BP:1.42
	RELENG_7_1_0_RELEASE:1.42.18.1
	RELENG_6_4_0_RELEASE:1.42.16.1
	RELENG_7_1:1.42.0.18
	RELENG_7_1_BP:1.42
	RELENG_6_4:1.42.0.16
	RELENG_6_4_BP:1.42
	RELENG_7_0_0_RELEASE:1.42
	RELENG_6_3_0_RELEASE:1.42
	RELENG_7_0:1.42.0.14
	RELENG_7_0_BP:1.42
	RELENG_6_3:1.42.0.12
	RELENG_6_3_BP:1.42
	RELENG_7:1.42.0.10
	RELENG_7_BP:1.42
	RELENG_6_2_0_RELEASE:1.42
	RELENG_6_2:1.42.0.8
	RELENG_6_2_BP:1.42
	RELENG_5_5_0_RELEASE:1.41.2.1
	RELENG_5_5:1.41.2.1.0.2
	RELENG_5_5_BP:1.41.2.1
	RELENG_6_1_0_RELEASE:1.42
	RELENG_6_1:1.42.0.6
	RELENG_6_1_BP:1.42
	RELENG_6_0_0_RELEASE:1.42
	RELENG_6_0:1.42.0.4
	RELENG_6_0_BP:1.42
	RELENG_6:1.42.0.2
	RELENG_6_BP:1.42
	RELENG_5_4_0_RELEASE:1.41
	RELENG_5_4:1.41.0.6
	RELENG_5_4_BP:1.41
	RELENG_4_11_0_RELEASE:1.34.2.2
	RELENG_4_11:1.34.2.2.0.10
	RELENG_4_11_BP:1.34.2.2
	RELENG_5_3_0_RELEASE:1.41
	RELENG_5_3:1.41.0.4
	RELENG_5_3_BP:1.41
	RELENG_5:1.41.0.2
	RELENG_5_BP:1.41
	RELENG_4_10_0_RELEASE:1.34.2.2
	RELENG_4_10:1.34.2.2.0.8
	RELENG_4_10_BP:1.34.2.2
	RELENG_5_2_1_RELEASE:1.40
	RELENG_5_2_0_RELEASE:1.40
	RELENG_5_2:1.40.0.2
	RELENG_5_2_BP:1.40
	RELENG_4_9_0_RELEASE:1.34.2.2
	RELENG_4_9:1.34.2.2.0.6
	RELENG_4_9_BP:1.34.2.2
	RELENG_5_1_0_RELEASE:1.38
	RELENG_5_1:1.38.0.4
	RELENG_5_1_BP:1.38
	RELENG_4_8_0_RELEASE:1.34.2.2
	RELENG_4_8:1.34.2.2.0.4
	RELENG_4_8_BP:1.34.2.2
	RELENG_5_0_0_RELEASE:1.38
	RELENG_5_0:1.38.0.2
	RELENG_5_0_BP:1.38
	RELENG_4_7_0_RELEASE:1.34.2.2
	RELENG_4_7:1.34.2.2.0.2
	RELENG_4_7_BP:1.34.2.2
	RELENG_4_6_2_RELEASE:1.34.2.1
	RELENG_4_6_1_RELEASE:1.34.2.1
	RELENG_4_6_0_RELEASE:1.34.2.1
	RELENG_4_6:1.34.2.1.0.6
	RELENG_4_6_BP:1.34.2.1
	RELENG_4_5_0_RELEASE:1.34.2.1
	RELENG_4_5:1.34.2.1.0.4
	RELENG_4_5_BP:1.34.2.1
	RELENG_4_4_0_RELEASE:1.34.2.1
	RELENG_4_4:1.34.2.1.0.2
	RELENG_4_4_BP:1.34.2.1
	RELENG_4_3_0_RELEASE:1.34
	RELENG_4_3:1.34.0.4
	RELENG_4_3_BP:1.34
	RELENG_4_2_0_RELEASE:1.34
	RELENG_4_1_1_RELEASE:1.34
	PRE_SMPNG:1.34
	RELENG_4_1_0_RELEASE:1.34
	RELENG_3_5_0_RELEASE:1.28.2.1
	RELENG_4_0_0_RELEASE:1.34
	RELENG_4:1.34.0.2
	RELENG_4_BP:1.34
	RELENG_3_4_0_RELEASE:1.28.2.1
	RELENG_3_3_0_RELEASE:1.28.2.1
	RELENG_3_2_PAO:1.28.0.4
	RELENG_3_2_PAO_BP:1.28
	RELENG_3_2_0_RELEASE:1.28
	RELENG_3_1_0_RELEASE:1.28
	RELENG_3:1.28.0.2
	RELENG_3_BP:1.28
	RELENG_2_2_8_RELEASE:1.21
	RELENG_3_0_0_RELEASE:1.27
	RELENG_2_2_7_RELEASE:1.21
	RELENG_2_2_6_RELEASE:1.21
	RELENG_2_2_5_RELEASE:1.21
	RELENG_2_2_2_RELEASE:1.21
	RELENG_2_2_1_RELEASE:1.21
	RELENG_2_2_0_RELEASE:1.21
	RELENG_2_1_7_RELEASE:1.12.4.3
	RELENG_2_1_6_1_RELEASE:1.12.4.3
	RELENG_2_1_6_RELEASE:1.12.4.3
	RELENG_2_2:1.21.0.2
	RELENG_2_2_BP:1.21
	RELENG_2_1_5_RELEASE:1.12.4.3
	RELENG_2_1_0_RELEASE:1.12.4.3
	RELENG_2_1_0:1.12.0.4
	RELENG_2_1_0_BP:1.12
	RELENG_2_0_5_RELEASE:1.12
	RELENG_2_0_5:1.12.0.2
	RELENG_2_0_5_BP:1.12
	RELENG_2_0_5_ALPHA:1.11
	RELEASE_2_0:1.10
	BETA_2_0:1.10
	ALPHA_2_0:1.10.0.2
	phk:1.1.1.1
	ORIG:1.1.1;
locks; strict;
comment	@# @;


1.48
date	2012.11.17.01.49.56;	author svnexp;	state Exp;
branches
	1.48.2.1;
next	1.47;

1.47
date	2012.04.28.02.48.51;	author obrien;	state Exp;
branches;
next	1.46;

1.46
date	2011.04.09.13.56.29;	author markm;	state Exp;
branches
	1.46.2.1;
next	1.45;

1.45
date	2011.02.15.22.03.09;	author dim;	state Exp;
branches;
next	1.44;

1.44
date	2010.01.02.09.58.07;	author ed;	state Exp;
branches;
next	1.43;

1.43
date	2008.12.02.19.49.41;	author phk;	state Exp;
branches
	1.43.2.1;
next	1.42;

1.42
date	2005.03.09.19.23.04;	author cperciva;	state Exp;
branches
	1.42.2.1
	1.42.10.1
	1.42.16.1
	1.42.18.1
	1.42.20.1
	1.42.22.1
	1.42.24.1;
next	1.41;

1.41
date	2004.02.26.07.44.37;	author bde;	state Exp;
branches
	1.41.2.1;
next	1.40;

1.40
date	2003.08.18.15.25.39;	author obrien;	state Exp;
branches;
next	1.39;

1.39
date	2003.08.17.08.28.45;	author gordon;	state Exp;
branches;
next	1.38;

1.38
date	2002.09.17.01.48.51;	author peter;	state Exp;
branches;
next	1.37;

1.37
date	2002.04.10.17.01.55;	author ru;	state Exp;
branches;
next	1.36;

1.36
date	2001.03.27.17.27.06;	author ru;	state Exp;
branches;
next	1.35;

1.35
date	2001.03.17.10.00.50;	author phk;	state Exp;
branches;
next	1.34;

1.34
date	2000.01.14.07.57.34;	author rgrimes;	state Exp;
branches
	1.34.2.1;
next	1.33;

1.33
date	99.08.28.00.05.04;	author peter;	state Exp;
branches;
next	1.32;

1.32
date	99.03.02.22.53.24;	author ache;	state Exp;
branches;
next	1.31;

1.31
date	99.03.01.02.39.45;	author wollman;	state Exp;
branches;
next	1.30;

1.30
date	99.02.26.18.41.45;	author wollman;	state Exp;
branches;
next	1.29;

1.29
date	99.02.26.04.24.56;	author wollman;	state Exp;
branches;
next	1.28;

1.28
date	98.11.12.04.08.10;	author jdp;	state Exp;
branches
	1.28.2.1;
next	1.27;

1.27
date	98.09.11.05.41.29;	author imp;	state Exp;
branches;
next	1.26;

1.26
date	98.08.30.01.50.04;	author jb;	state Exp;
branches;
next	1.25;

1.25
date	98.03.19.15.27.08;	author bde;	state Exp;
branches;
next	1.24;

1.24
date	97.09.05.11.49.43;	author peter;	state Exp;
branches;
next	1.23;

1.23
date	97.02.22.15.07.10;	author peter;	state Exp;
branches;
next	1.22;

1.22
date	97.01.14.06.09.38;	author jkh;	state Exp;
branches;
next	1.21;

1.21
date	96.08.30.01.53.09;	author peter;	state Exp;
branches
	1.21.2.1;
next	1.20;

1.20
date	96.02.09.22.44.44;	author phk;	state Exp;
branches;
next	1.19;

1.19
date	96.02.09.20.57.53;	author phk;	state Exp;
branches;
next	1.18;

1.18
date	96.02.09.16.19.27;	author mpp;	state Exp;
branches;
next	1.17;

1.17
date	96.02.09.00.45.27;	author mpp;	state Exp;
branches;
next	1.16;

1.16
date	95.09.06.14.34.04;	author davidg;	state Exp;
branches;
next	1.15;

1.15
date	95.09.06.14.27.07;	author davidg;	state Exp;
branches;
next	1.14;

1.14
date	95.08.06.12.23.43;	author bde;	state Exp;
branches;
next	1.13;

1.13
date	95.07.12.09.13.37;	author phk;	state Exp;
branches;
next	1.12;

1.12
date	95.05.30.05.45.16;	author rgrimes;	state Exp;
branches
	1.12.4.1;
next	1.11;

1.11
date	95.01.24.00.13.56;	author jkh;	state Exp;
branches;
next	1.10;

1.10
date	94.11.01.09.14.39;	author pst;	state Exp;
branches;
next	1.9;

1.9
date	94.09.19.05.30.33;	author phk;	state Exp;
branches;
next	1.8;

1.8
date	94.09.18.07.22.08;	author phk;	state Exp;
branches;
next	1.7;

1.7
date	94.09.08.11.24.54;	author bde;	state Exp;
branches;
next	1.6;

1.6
date	94.09.04.02.40.31;	author jkh;	state Exp;
branches;
next	1.5;

1.5
date	94.08.28.17.45.25;	author bde;	state Exp;
branches;
next	1.4;

1.4
date	94.08.25.13.33.35;	author paul;	state Exp;
branches;
next	1.3;

1.3
date	94.08.08.19.22.14;	author jkh;	state Exp;
branches;
next	1.2;

1.2
date	94.08.04.21.20.03;	author wollman;	state Exp;
branches;
next	1.1;

1.1
date	94.07.24.03.29.54;	author phk;	state Exp;
branches
	1.1.1.1;
next	;

1.48.2.1
date	2012.11.17.01.49.56;	author svnexp;	state dead;
branches;
next	1.48.2.2;

1.48.2.2
date	2013.03.28.13.03.18;	author svnexp;	state Exp;
branches;
next	;

1.46.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.46.2.1.2.1
	1.46.2.1.4.1;
next	1.46.2.2;

1.46.2.2
date	2012.11.17.11.36.24;	author svnexp;	state Exp;
branches;
next	;

1.46.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.46.2.1.2.2;

1.46.2.1.2.2
date	2012.11.17.08.36.25;	author svnexp;	state Exp;
branches;
next	;

1.46.2.1.4.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.46.2.1.4.2;

1.46.2.1.4.2
date	2012.11.17.08.47.14;	author svnexp;	state Exp;
branches;
next	;

1.43.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.43.2.1.2.1
	1.43.2.1.4.1
	1.43.2.1.6.1;
next	1.43.2.2;

1.43.2.2
date	2012.02.13.16.43.29;	author markm;	state Exp;
branches
	1.43.2.2.2.1;
next	1.43.2.3;

1.43.2.3
date	2012.11.17.10.36.09;	author svnexp;	state Exp;
branches;
next	;

1.43.2.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.43.2.1.4.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.43.2.1.6.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.43.2.2.2.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.43.2.2.2.2;

1.43.2.2.2.2
date	2012.11.17.08.24.50;	author svnexp;	state Exp;
branches;
next	;

1.42.2.1
date	2012.11.17.07.40.26;	author svnexp;	state Exp;
branches;
next	;

1.42.10.1
date	2012.06.16.09.17.21;	author des;	state Exp;
branches;
next	1.42.10.2;

1.42.10.2
date	2012.11.17.08.02.54;	author svnexp;	state Exp;
branches;
next	;

1.42.16.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.42.18.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.42.20.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.42.22.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.42.24.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.42.24.2;

1.42.24.2
date	2012.11.17.08.16.49;	author svnexp;	state Exp;
branches;
next	;

1.41.2.1
date	2005.06.24.13.32.25;	author cperciva;	state Exp;
branches;
next	;

1.34.2.1
date	2001.04.25.10.04.33;	author ru;	state Exp;
branches;
next	1.34.2.2;

1.34.2.2
date	2002.07.17.15.16.38;	author ru;	state Exp;
branches;
next	1.34.2.3;

1.34.2.3
date	2012.11.17.07.23.56;	author svnexp;	state Exp;
branches;
next	;

1.28.2.1
date	99.08.29.14.57.08;	author peter;	state Exp;
branches;
next	;

1.21.2.1
date	99.09.05.11.17.01;	author peter;	state Exp;
branches;
next	;

1.12.4.1
date	95.09.06.14.18.28;	author davidg;	state Exp;
branches;
next	1.12.4.2;

1.12.4.2
date	95.09.06.14.24.45;	author davidg;	state Exp;
branches;
next	1.12.4.3;

1.12.4.3
date	95.09.06.14.34.50;	author davidg;	state Exp;
branches;
next	;

1.1.1.1
date	94.07.24.03.29.55;	author phk;	state Exp;
branches;
next	;


desc
@@


1.48
log
@Switching exporter and resync
@
text
@# $FreeBSD: head/lib/libmd/Makefile 234746 2012-04-28 02:48:51Z obrien $

LIB=	md
SHLIB_MAJOR= 6
SHLIBDIR?= /lib
SRCS=	md4c.c md5c.c md4hl.c md5hl.c \
	rmd160c.c rmd160hl.c \
	sha0c.c sha0hl.c sha1c.c sha1hl.c \
	sha256c.c sha256hl.c \
	sha512c.c sha512hl.c
INCS=	md4.h md5.h ripemd.h sha.h sha256.h sha512.h

WARNS?=	0

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 MD4End.3  md4.3 MD4File.3   md4.3 MD4FileChunk.3
MLINKS+=md4.3 MD4Data.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 MD5Data.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_End.3   ripemd.3 RIPEMD160_File.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_End.3   sha.3 SHA_File.3    sha.3 SHA_FileChunk.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_End.3  sha.3 SHA1_File.3   sha.3 SHA1_FileChunk.3
MLINKS+=sha.3 SHA1_Data.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_File.3  sha256.3 SHA256_FileChunk.3
MLINKS+=sha256.3 SHA256_Data.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_File.3  sha512.3 SHA512_FileChunk.3
MLINKS+=sha512.3 SHA512_Data.3
CLEANFILES+=	md[245]hl.c md[245].ref md[245].3 mddriver \
		rmd160.ref rmd160hl.c rmddriver \
		sha0.ref sha0hl.c sha1.ref sha1hl.c shadriver \
		sha256.ref sha256hl.c sha512.ref sha512hl.c

CFLAGS+= -I${.CURDIR}
.PATH: ${.CURDIR}/${MACHINE_ARCH}

.if exists(${MACHINE_ARCH}/sha.S)
SRCS+=	sha.S
CFLAGS+= -DSHA1_ASM
.endif
.if exists(${MACHINE_ARCH}/rmd160.S)
SRCS+=	rmd160.S
CFLAGS+= -DRMD160_ASM
.endif
.if exists(${MACHINE_ARCH}/sha.S) || exists(${MACHINE_ARCH}/rmd160.S)
ACFLAGS+= -DELF -Wa,--noexecstack
.endif

md4hl.c: mdXhl.c
	(echo '#define LENGTH 16'; \
		sed -e 's/mdX/md4/g' -e 's/MDX/MD4/g' ${.ALLSRC}) > ${.TARGET}

md5hl.c: mdXhl.c
	(echo '#define LENGTH 16'; \
		sed -e 's/mdX/md5/g' -e 's/MDX/MD5/g' ${.ALLSRC}) > ${.TARGET}

sha0hl.c: mdXhl.c
	(echo '#define LENGTH 20'; \
		sed -e 's/mdX/sha/g' -e 's/MDX/SHA_/g' -e 's/SHA__/SHA_/g' \
		${.ALLSRC}) > ${.TARGET}

sha1hl.c: mdXhl.c
	(echo '#define LENGTH 20'; \
		sed -e 's/mdX/sha/g' -e 's/MDX/SHA1_/g' -e 's/SHA1__/SHA1_/g' \
		${.ALLSRC}) > ${.TARGET}

sha256hl.c: mdXhl.c
	(echo '#define LENGTH 32'; \
		sed -e 's/mdX/sha256/g' -e 's/MDX/SHA256_/g'	\
			-e  's/SHA256__/SHA256_/g' \
		${.ALLSRC}) > ${.TARGET}

sha512hl.c: mdXhl.c
	(echo '#define LENGTH 64'; \
		sed -e 's/mdX/sha512/g' -e 's/MDX/SHA512_/g'	\
			-e  's/SHA512__/SHA512_/g' \
		${.ALLSRC}) > ${.TARGET}

rmd160hl.c: mdXhl.c
	(echo '#define LENGTH 20'; \
		sed -e 's/mdX/ripemd/g' -e 's/MDX/RIPEMD160_/g' \
			-e 's/RIPEMD160__/RIPEMD160_/g' \
			${.ALLSRC}) > ${.TARGET}

.for i in 2 4 5
md${i}.3: ${.CURDIR}/mdX.3
	sed -e "s/mdX/md${i}/g" -e "s/MDX/MD${i}/g" ${.ALLSRC} > ${.TARGET}
	cat ${.CURDIR}/md${i}.copyright >> ${.TARGET}
.endfor

md4.ref:
	echo 'MD4 test suite:' > ${.TARGET}
	@@echo 'MD4 ("") = 31d6cfe0d16ae931b73c59d7e0c089c0' >> ${.TARGET}
	@@echo 'MD4 ("a") = bde52cb31de33e46245e05fbdbd6fb24' >> ${.TARGET}
	@@echo 'MD4 ("abc") = a448017aaf21d8525fc10ae87aa6729d' >> ${.TARGET}
	@@echo 'MD4 ("message digest") = d9130a8164549fe818874806e1c7014b' >> ${.TARGET}
	@@echo 'MD4 ("abcdefghijklmnopqrstuvwxyz") = d79e1c308aa5bbcdeea8ed63df412da9' >> ${.TARGET}
	@@echo 'MD4 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'043f8582f241db351ce627e153e7f0e4' >> ${.TARGET}
	@@echo 'MD4 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'e33b4ddc9c38f2199c3e7b164fcc0536' >> ${.TARGET}

md5.ref:
	echo 'MD5 test suite:' > ${.TARGET}
	@@echo 'MD5 ("") = d41d8cd98f00b204e9800998ecf8427e' >> ${.TARGET}
	@@echo 'MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661' >> ${.TARGET}
	@@echo 'MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72' >> ${.TARGET}
	@@echo 'MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0' >> ${.TARGET}
	@@echo 'MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b' >> ${.TARGET}
	@@echo 'MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = d174ab98d277d9f5a5611c2c9f419d9f' >> ${.TARGET}
	@@echo 'MD5 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 57edf4a22be3c955ac49da2e2107b67a' >> ${.TARGET}

sha0.ref:
	echo 'SHA-0 test suite:' > ${.TARGET}
	@@echo 'SHA-0 ("") = f96cea198ad1dd5617ac084a3d92c6107708c0ef' >> ${.TARGET}
	@@echo 'SHA-0 ("abc") = 0164b8a914cd2a5e74c4f7ff082c4d97f1edf880' >> ${.TARGET}
	@@echo 'SHA-0 ("message digest") =' \
		'c1b0f222d150ebb9aa36a40cafdc8bcbed830b14' >> ${.TARGET}
	@@echo 'SHA-0 ("abcdefghijklmnopqrstuvwxyz") =' \
		'b40ce07a430cfd3c033039b9fe9afec95dc1bdcd' >> ${.TARGET}
	@@echo 'SHA-0 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'79e966f7a3a990df33e40e3d7f8f18d2caebadfa' >> ${.TARGET}
	@@echo 'SHA-0 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'4aa29d14d171522ece47bee8957e35a41f3e9cff' >> ${.TARGET}

sha1.ref:
	echo 'SHA-1 test suite:' > ${.TARGET}
	@@echo 'SHA-1 ("") = da39a3ee5e6b4b0d3255bfef95601890afd80709' >> ${.TARGET}
	@@echo 'SHA-1 ("abc") = a9993e364706816aba3e25717850c26c9cd0d89d' >> ${.TARGET}
	@@echo 'SHA-1 ("message digest") =' \
		'c12252ceda8be8994d5fa0290a47231c1d16aae3' >> ${.TARGET}
	@@echo 'SHA-1 ("abcdefghijklmnopqrstuvwxyz") =' \
		'32d10c7b8cf96570ca04ce37f2a19d84240d3a89' >> ${.TARGET}
	@@echo 'SHA-1 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'761c457bf73b14d27e9e9265c46f4b4dda11f940' >> ${.TARGET}
	@@echo 'SHA-1 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'50abf5706a150990a08b2c5ea40fa0e585554732' >> ${.TARGET}

sha256.ref:
	echo 'SHA-256 test suite:' > ${.TARGET}
	@@echo 'SHA-256 ("") = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' >> ${.TARGET}
	@@echo 'SHA-256 ("abc") =' \
		'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad' >> ${.TARGET}
	@@echo 'SHA-256 ("message digest") =' \
		'f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650' >> ${.TARGET}
	@@echo 'SHA-256 ("abcdefghijklmnopqrstuvwxyz") =' \
		'71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73' >> ${.TARGET}
	@@echo 'SHA-256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0' >> ${.TARGET}
	@@echo 'SHA-256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e' >> ${.TARGET}

sha512.ref:
	echo 'SHA-512 test suite:' > ${.TARGET}
	@@echo 'SHA-512 ("") =' \
		'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e' >> ${.TARGET}
	@@echo 'SHA-512 ("abc") =' \
		'ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f' >> ${.TARGET}
	@@echo 'SHA-512 ("message digest") =' \
		'107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c' >> ${.TARGET}
	@@echo 'SHA-512 ("abcdefghijklmnopqrstuvwxyz") =' \
		'4dbff86cc2ca1bae1e16468a05cb9881c97f1753bce3619034898faa1aabe429955a1bf8ec483d7421fe3c1646613a59ed5441fb0f321389f77f48a879c7b1f1' >> ${.TARGET}
	@@echo 'SHA-512 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'1e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894' >> ${.TARGET}
	@@echo 'SHA-512 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843' >> ${.TARGET}

rmd160.ref:
	echo 'RIPEMD160 test suite:' > ${.TARGET}
	@@echo 'RIPEMD160 ("") = 9c1185a5c5e9fc54612808977ee8f548b2258d31' >> ${.TARGET}
	@@echo 'RIPEMD160 ("abc") = 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc' >> ${.TARGET}
	@@echo 'RIPEMD160 ("message digest") =' \
		'5d0689ef49d2fae572b881b123a85ffa21595f36' >> ${.TARGET}
	@@echo 'RIPEMD160 ("abcdefghijklmnopqrstuvwxyz") =' \
		'f71c27109c692c1b56bbdceb5b9d2865b3708dbc' >> ${.TARGET}
	@@echo 'RIPEMD160 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'b0e20b6e3116640286ed3a87a5713079b21f5189' >> ${.TARGET}
	@@echo 'RIPEMD160 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'9b752e45573d4b39f4dbd3323cab82bf63326bfb' >> ${.TARGET}

test:	md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha256.ref sha512.ref
	@@${ECHO} if any of these test fail, the code produces wrong results
	@@${ECHO} and should NOT be used.
	${CC} ${CFLAGS} ${LDFLAGS} -DMD=4 -o mddriver ${.CURDIR}/mddriver.c libmd.a
	./mddriver | cmp md4.ref -
	@@${ECHO} MD4 passed test
	${CC} ${CFLAGS} ${LDFLAGS} -DMD=5 -o mddriver ${.CURDIR}/mddriver.c libmd.a
	./mddriver | cmp md5.ref -
	@@${ECHO} MD5 passed test
	-rm -f mddriver
	${CC} ${CFLAGS} ${LDFLAGS} -o rmddriver ${.CURDIR}/rmddriver.c libmd.a
	./rmddriver | cmp rmd160.ref -
	@@${ECHO} RIPEMD160 passed test
	-rm -f rmddriver
	${CC} ${CFLAGS} ${LDFLAGS} -DSHA=0 -o shadriver ${.CURDIR}/shadriver.c libmd.a
	./shadriver | cmp sha0.ref -
	@@${ECHO} SHA-0 passed test
	${CC} ${CFLAGS} ${LDFLAGS} -DSHA=1 -o shadriver ${.CURDIR}/shadriver.c libmd.a
	./shadriver | cmp sha1.ref -
	@@${ECHO} SHA-1 passed test
	${CC} ${CFLAGS} ${LDFLAGS} -DSHA=256 -o shadriver ${.CURDIR}/shadriver.c libmd.a
	./shadriver | cmp sha256.ref -
	@@${ECHO} SHA-256 passed test
	${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512 -o shadriver ${.CURDIR}/shadriver.c libmd.a
	./shadriver | cmp sha512.ref -
	@@${ECHO} SHA-512 passed test
	-rm -f shadriver

.include <bsd.lib.mk>
@


1.48.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:03:18 +0000
@
text
@d1 220
@


1.48.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 234
# $FreeBSD: releng/8.4/lib/libmd/Makefile 231588 2012-02-13 16:43:29Z markm $

LIB=	md
SHLIBDIR?= /lib
SRCS=	md2c.c md4c.c md5c.c md2hl.c md4hl.c md5hl.c \
	rmd160c.c rmd160hl.c \
	sha0c.c sha0hl.c sha1c.c sha1hl.c \
	sha256c.c sha256hl.c \
	sha512c.c sha512hl.c
INCS=	md2.h md4.h md5.h ripemd.h sha.h sha256.h sha512.h

MAN+=	md2.3 md4.3 md5.3 ripemd.3 sha.3 sha256.3 sha512.3
MLINKS+=md2.3 MD2Init.3 md2.3 MD2Update.3 md2.3 MD2Final.3
MLINKS+=md2.3 MD2End.3  md2.3 MD2File.3   md2.3 MD2FileChunk.3
MLINKS+=md2.3 MD2Data.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 MD4Data.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 MD5Data.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_End.3   ripemd.3 RIPEMD160_File.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_End.3   sha.3 SHA_File.3    sha.3 SHA_FileChunk.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_End.3  sha.3 SHA1_File.3   sha.3 SHA1_FileChunk.3
MLINKS+=sha.3 SHA1_Data.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_File.3  sha256.3 SHA256_FileChunk.3
MLINKS+=sha256.3 SHA256_Data.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_File.3  sha512.3 SHA512_FileChunk.3
MLINKS+=sha512.3 SHA512_Data.3
CLEANFILES+=	md[245]hl.c md[245].ref md[245].3 mddriver \
		rmd160.ref rmd160hl.c rmddriver \
		sha0.ref sha0hl.c sha1.ref sha1hl.c shadriver \
		sha256.ref sha256hl.c sha512.ref sha512hl.c

CFLAGS+= -I${.CURDIR}
.PATH: ${.CURDIR}/${MACHINE_ARCH}

.if exists(${MACHINE_ARCH}/sha.S)
SRCS+=	sha.S
CFLAGS+= -DSHA1_ASM -DELF
.endif
.if exists(${MACHINE_ARCH}/rmd160.S)
SRCS+=	rmd160.S
CFLAGS+= -DRMD160_ASM -DELF
.endif

md2hl.c: mdXhl.c
	(echo '#define LENGTH 16'; \
		sed -e 's/mdX/md2/g' -e 's/MDX/MD2/g' ${.ALLSRC}) > ${.TARGET}

md4hl.c: mdXhl.c
	(echo '#define LENGTH 16'; \
		sed -e 's/mdX/md4/g' -e 's/MDX/MD4/g' ${.ALLSRC}) > ${.TARGET}

md5hl.c: mdXhl.c
	(echo '#define LENGTH 16'; \
		sed -e 's/mdX/md5/g' -e 's/MDX/MD5/g' ${.ALLSRC}) > ${.TARGET}

sha0hl.c: mdXhl.c
	(echo '#define LENGTH 20'; \
		sed -e 's/mdX/sha/g' -e 's/MDX/SHA_/g' -e 's/SHA__/SHA_/g' \
		${.ALLSRC}) > ${.TARGET}

sha1hl.c: mdXhl.c
	(echo '#define LENGTH 20'; \
		sed -e 's/mdX/sha/g' -e 's/MDX/SHA1_/g' -e 's/SHA1__/SHA1_/g' \
		${.ALLSRC}) > ${.TARGET}

sha256hl.c: mdXhl.c
	(echo '#define LENGTH 32'; \
		sed -e 's/mdX/sha256/g' -e 's/MDX/SHA256_/g'	\
			-e  's/SHA256__/SHA256_/g' \
		${.ALLSRC}) > ${.TARGET}

sha512hl.c: mdXhl.c
	(echo '#define LENGTH 64'; \
		sed -e 's/mdX/sha512/g' -e 's/MDX/SHA512_/g'	\
			-e  's/SHA512__/SHA512_/g' \
		${.ALLSRC}) > ${.TARGET}

rmd160hl.c: mdXhl.c
	(echo '#define LENGTH 20'; \
		sed -e 's/mdX/ripemd/g' -e 's/MDX/RIPEMD160_/g' \
			-e 's/RIPEMD160__/RIPEMD160_/g' \
			${.ALLSRC}) > ${.TARGET}

.for i in 2 4 5
md${i}.3: ${.CURDIR}/mdX.3
	sed -e "s/mdX/md${i}/g" -e "s/MDX/MD${i}/g" ${.ALLSRC} > ${.TARGET}
	cat ${.CURDIR}/md${i}.copyright >> ${.TARGET}
.endfor

md2.ref:
	echo 'MD2 test suite:' > ${.TARGET}
	@@echo 'MD2 ("") = 8350e5a3e24c153df2275c9f80692773' >> ${.TARGET}
	@@echo 'MD2 ("a") = 32ec01ec4a6dac72c0ab96fb34c0b5d1' >> ${.TARGET}
	@@echo 'MD2 ("abc") = da853b0d3f88d99b30283a69e6ded6bb' >> ${.TARGET}
	@@echo 'MD2 ("message digest") = ab4f496bfb2a530b219ff33031fe06b0' >> ${.TARGET}
	@@echo 'MD2 ("abcdefghijklmnopqrstuvwxyz") = 4e8ddff3650292ab5a4108c3aa47940b' >> ${.TARGET}
	@@echo 'MD2 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = da33def2a42df13975352846c30338cd' >> ${.TARGET}
	@@echo 'MD2 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = d5976f79d83d3a0dc9806c3c66f3efd8' >> ${.TARGET}

md4.ref:
	echo 'MD4 test suite:' > ${.TARGET}
	@@echo 'MD4 ("") = 31d6cfe0d16ae931b73c59d7e0c089c0' >> ${.TARGET}
	@@echo 'MD4 ("a") = bde52cb31de33e46245e05fbdbd6fb24' >> ${.TARGET}
	@@echo 'MD4 ("abc") = a448017aaf21d8525fc10ae87aa6729d' >> ${.TARGET}
	@@echo 'MD4 ("message digest") = d9130a8164549fe818874806e1c7014b' >> ${.TARGET}
	@@echo 'MD4 ("abcdefghijklmnopqrstuvwxyz") = d79e1c308aa5bbcdeea8ed63df412da9' >> ${.TARGET}
	@@echo 'MD4 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'043f8582f241db351ce627e153e7f0e4' >> ${.TARGET}
	@@echo 'MD4 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'e33b4ddc9c38f2199c3e7b164fcc0536' >> ${.TARGET}

md5.ref:
	echo 'MD5 test suite:' > ${.TARGET}
	@@echo 'MD5 ("") = d41d8cd98f00b204e9800998ecf8427e' >> ${.TARGET}
	@@echo 'MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661' >> ${.TARGET}
	@@echo 'MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72' >> ${.TARGET}
	@@echo 'MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0' >> ${.TARGET}
	@@echo 'MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b' >> ${.TARGET}
	@@echo 'MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = d174ab98d277d9f5a5611c2c9f419d9f' >> ${.TARGET}
	@@echo 'MD5 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 57edf4a22be3c955ac49da2e2107b67a' >> ${.TARGET}

sha0.ref:
	echo 'SHA-0 test suite:' > ${.TARGET}
	@@echo 'SHA-0 ("") = f96cea198ad1dd5617ac084a3d92c6107708c0ef' >> ${.TARGET}
	@@echo 'SHA-0 ("abc") = 0164b8a914cd2a5e74c4f7ff082c4d97f1edf880' >> ${.TARGET}
	@@echo 'SHA-0 ("message digest") =' \
		'c1b0f222d150ebb9aa36a40cafdc8bcbed830b14' >> ${.TARGET}
	@@echo 'SHA-0 ("abcdefghijklmnopqrstuvwxyz") =' \
		'b40ce07a430cfd3c033039b9fe9afec95dc1bdcd' >> ${.TARGET}
	@@echo 'SHA-0 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'79e966f7a3a990df33e40e3d7f8f18d2caebadfa' >> ${.TARGET}
	@@echo 'SHA-0 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'4aa29d14d171522ece47bee8957e35a41f3e9cff' >> ${.TARGET}

sha1.ref:
	echo 'SHA-1 test suite:' > ${.TARGET}
	@@echo 'SHA-1 ("") = da39a3ee5e6b4b0d3255bfef95601890afd80709' >> ${.TARGET}
	@@echo 'SHA-1 ("abc") = a9993e364706816aba3e25717850c26c9cd0d89d' >> ${.TARGET}
	@@echo 'SHA-1 ("message digest") =' \
		'c12252ceda8be8994d5fa0290a47231c1d16aae3' >> ${.TARGET}
	@@echo 'SHA-1 ("abcdefghijklmnopqrstuvwxyz") =' \
		'32d10c7b8cf96570ca04ce37f2a19d84240d3a89' >> ${.TARGET}
	@@echo 'SHA-1 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'761c457bf73b14d27e9e9265c46f4b4dda11f940' >> ${.TARGET}
	@@echo 'SHA-1 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'50abf5706a150990a08b2c5ea40fa0e585554732' >> ${.TARGET}

sha256.ref:
	echo 'SHA-256 test suite:' > ${.TARGET}
	@@echo 'SHA-256 ("") = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' >> ${.TARGET}
	@@echo 'SHA-256 ("abc") =' \
		'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad' >> ${.TARGET}
	@@echo 'SHA-256 ("message digest") =' \
		'f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650' >> ${.TARGET}
	@@echo 'SHA-256 ("abcdefghijklmnopqrstuvwxyz") =' \
		'71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73' >> ${.TARGET}
	@@echo 'SHA-256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0' >> ${.TARGET}
	@@echo 'SHA-256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e' >> ${.TARGET}

sha512.ref:
	echo 'SHA-512 test suite:' > ${.TARGET}
	@@echo 'SHA-512 ("") =' \
		'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e' >> ${.TARGET}
	@@echo 'SHA-512 ("abc") =' \
		'ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f' >> ${.TARGET}
	@@echo 'SHA-512 ("message digest") =' \
		'107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c' >> ${.TARGET}
	@@echo 'SHA-512 ("abcdefghijklmnopqrstuvwxyz") =' \
		'4dbff86cc2ca1bae1e16468a05cb9881c97f1753bce3619034898faa1aabe429955a1bf8ec483d7421fe3c1646613a59ed5441fb0f321389f77f48a879c7b1f1' >> ${.TARGET}
	@@echo 'SHA-512 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'1e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894' >> ${.TARGET}
	@@echo 'SHA-512 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843' >> ${.TARGET}

rmd160.ref:
	echo 'RIPEMD160 test suite:' > ${.TARGET}
	@@echo 'RIPEMD160 ("") = 9c1185a5c5e9fc54612808977ee8f548b2258d31' >> ${.TARGET}
	@@echo 'RIPEMD160 ("abc") = 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc' >> ${.TARGET}
	@@echo 'RIPEMD160 ("message digest") =' \
		'5d0689ef49d2fae572b881b123a85ffa21595f36' >> ${.TARGET}
	@@echo 'RIPEMD160 ("abcdefghijklmnopqrstuvwxyz") =' \
		'f71c27109c692c1b56bbdceb5b9d2865b3708dbc' >> ${.TARGET}
	@@echo 'RIPEMD160 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'b0e20b6e3116640286ed3a87a5713079b21f5189' >> ${.TARGET}
	@@echo 'RIPEMD160 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'9b752e45573d4b39f4dbd3323cab82bf63326bfb' >> ${.TARGET}

test:	md2.ref md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha256.ref sha512.ref
	@@${ECHO} if any of these test fail, the code produces wrong results
	@@${ECHO} and should NOT be used.
	${CC} ${CFLAGS} ${LDFLAGS} -DMD=2 -o mddriver ${.CURDIR}/mddriver.c ./libmd.a
	./mddriver | cmp md2.ref -
	@@${ECHO} MD2 passed test
	${CC} ${CFLAGS} ${LDFLAGS} -DMD=4 -o mddriver ${.CURDIR}/mddriver.c libmd.a
	./mddriver | cmp md4.ref -
	@@${ECHO} MD4 passed test
	${CC} ${CFLAGS} ${LDFLAGS} -DMD=5 -o mddriver ${.CURDIR}/mddriver.c libmd.a
	./mddriver | cmp md5.ref -
	@@${ECHO} MD5 passed test
	-rm -f mddriver
	${CC} ${CFLAGS} ${LDFLAGS} -o rmddriver ${.CURDIR}/rmddriver.c libmd.a
	./rmddriver | cmp rmd160.ref -
	@@${ECHO} RIPEMD160 passed test
	-rm -f rmddriver
	${CC} ${CFLAGS} ${LDFLAGS} -DSHA=0 -o shadriver ${.CURDIR}/shadriver.c libmd.a
	./shadriver | cmp sha0.ref -
	@@${ECHO} SHA-0 passed test
	${CC} ${CFLAGS} ${LDFLAGS} -DSHA=1 -o shadriver ${.CURDIR}/shadriver.c libmd.a
	./shadriver | cmp sha1.ref -
	@@${ECHO} SHA-1 passed test
	${CC} ${CFLAGS} ${LDFLAGS} -DSHA=256 -o shadriver ${.CURDIR}/shadriver.c libmd.a
	./shadriver | cmp sha256.ref -
	@@${ECHO} SHA-256 passed test
	${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512 -o shadriver ${.CURDIR}/shadriver.c libmd.a
	./shadriver | cmp sha512.ref -
	@@${ECHO} SHA-512 passed test
	-rm -f shadriver

.include <bsd.lib.mk>
@


1.47
log
@SVN rev 234746 on 2012-04-28 02:48:51Z by obrien

Remove the RFC 1319 MD2 Message-Digest Algorithm routines from libmd.

1. The licensing terms for the MD2 routines from RFC is not under a BSD-like
   license.  Instead it is only granted for non-commercial Internet
   Privacy-Enhanced Mail.
2. MD2 is quite deprecated as it is no longer considered a cryptographically
   strong algorithm.

Discussed with:	so (cperciva), core
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.46
log
@SVN rev 220496 on 2011-04-09 13:56:29Z by markm

Add SHA512 (Actually, this is Colin Percival's code for SHA256, with
relevant constants changed).

While I'm here clean up the tests and Makefile.

PR:		misc/124164
Submitted by:	KIMURA Yasuhiro < yasu utahime org >
MFC after:	1 month
@
text
@d4 1
d6 1
a6 1
SRCS=	md2c.c md4c.c md5c.c md2hl.c md4hl.c md5hl.c \
d11 1
a11 1
INCS=	md2.h md4.h md5.h ripemd.h sha.h sha256.h sha512.h
d15 1
a15 4
MAN+=	md2.3 md4.3 md5.3 ripemd.3 sha.3 sha256.3 sha512.3
MLINKS+=md2.3 MD2Init.3 md2.3 MD2Update.3 md2.3 MD2Final.3
MLINKS+=md2.3 MD2End.3  md2.3 MD2File.3   md2.3 MD2FileChunk.3
MLINKS+=md2.3 MD2Data.3
a59 4
md2hl.c: mdXhl.c
	(echo '#define LENGTH 16'; \
		sed -e 's/mdX/md2/g' -e 's/MDX/MD2/g' ${.ALLSRC}) > ${.TARGET}

a101 10
md2.ref:
	echo 'MD2 test suite:' > ${.TARGET}
	@@echo 'MD2 ("") = 8350e5a3e24c153df2275c9f80692773' >> ${.TARGET}
	@@echo 'MD2 ("a") = 32ec01ec4a6dac72c0ab96fb34c0b5d1' >> ${.TARGET}
	@@echo 'MD2 ("abc") = da853b0d3f88d99b30283a69e6ded6bb' >> ${.TARGET}
	@@echo 'MD2 ("message digest") = ab4f496bfb2a530b219ff33031fe06b0' >> ${.TARGET}
	@@echo 'MD2 ("abcdefghijklmnopqrstuvwxyz") = 4e8ddff3650292ab5a4108c3aa47940b' >> ${.TARGET}
	@@echo 'MD2 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = da33def2a42df13975352846c30338cd' >> ${.TARGET}
	@@echo 'MD2 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = d5976f79d83d3a0dc9806c3c66f3efd8' >> ${.TARGET}

d192 1
a192 1
test:	md2.ref md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha256.ref sha512.ref
a194 3
	${CC} ${CFLAGS} ${LDFLAGS} -DMD=2 -o mddriver ${.CURDIR}/mddriver.c ./libmd.a
	./mddriver | cmp md2.ref -
	@@${ECHO} MD2 passed test
@


1.46.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.46.2.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/lib/libmd/Makefile 220496 2011-04-09 13:56:29Z markm $
@


1.46.2.1.4.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.46.2.1.4.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/lib/libmd/Makefile 220496 2011-04-09 13:56:29Z markm $
@


1.46.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.46.2.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/lib/libmd/Makefile 220496 2011-04-09 13:56:29Z markm $
@


1.45
log
@SVN rev 218723 on 2011-02-15 22:03:09Z by dim

Fix some leftover binaries and shared libraries in the system that still
have an executable stack, due to linking in hand-assembled .S or .s
files, that have no .GNU-stack sections:

RWX --- ---  /lib/libcrypto.so.6
RWX --- ---  /lib/libmd.so.5
RWX --- ---  /lib/libz.so.6
RWX --- ---  /lib/libzpool.so.2
RWX --- ---  /usr/lib/liblzma.so.5

These were found using scanelf, from the sysutils/pax-utils port.

Reviewed by:	kib
@
text
@d8 3
a10 2
	sha256c.c sha256hl.c
INCS=	md2.h md4.h md5.h ripemd.h sha.h sha256.h
d14 1
a14 1
MAN+=	md2.3 md4.3 md5.3 ripemd.3 sha.3 sha256.3
d38 4
d45 2
a46 1
		sha256.ref sha256hl.c
d90 6
d125 4
a128 2
	@@echo 'MD4 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 043f8582f241db351ce627e153e7f0e4' >> ${.TARGET}
	@@echo 'MD4 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = e33b4ddc9c38f2199c3e7b164fcc0536' >> ${.TARGET}
d141 11
a151 11
	(echo 'SHA-0 test suite:'; \
	echo 'SHA-0 ("") = f96cea198ad1dd5617ac084a3d92c6107708c0ef'; \
	echo 'SHA-0 ("abc") = 0164b8a914cd2a5e74c4f7ff082c4d97f1edf880'; \
	echo 'SHA-0 ("message digest") =' \
		'c1b0f222d150ebb9aa36a40cafdc8bcbed830b14'; \
	echo 'SHA-0 ("abcdefghijklmnopqrstuvwxyz") =' \
		'b40ce07a430cfd3c033039b9fe9afec95dc1bdcd'; \
	echo 'SHA-0 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'79e966f7a3a990df33e40e3d7f8f18d2caebadfa'; \
	echo 'SHA-0 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'4aa29d14d171522ece47bee8957e35a41f3e9cff' ) > ${.TARGET}
d154 11
a164 11
	(echo 'SHA-1 test suite:'; \
	echo 'SHA-1 ("") = da39a3ee5e6b4b0d3255bfef95601890afd80709'; \
	echo 'SHA-1 ("abc") = a9993e364706816aba3e25717850c26c9cd0d89d'; \
	echo 'SHA-1 ("message digest") =' \
		'c12252ceda8be8994d5fa0290a47231c1d16aae3'; \
	echo 'SHA-1 ("abcdefghijklmnopqrstuvwxyz") =' \
		'32d10c7b8cf96570ca04ce37f2a19d84240d3a89'; \
	echo 'SHA-1 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'761c457bf73b14d27e9e9265c46f4b4dda11f940'; \
	echo 'SHA-1 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'50abf5706a150990a08b2c5ea40fa0e585554732' ) > ${.TARGET}
d169 25
a193 5
	@@echo 'SHA-256 ("abc") = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad' >> ${.TARGET}
	@@echo 'SHA-256 ("message digest") = f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650' >> ${.TARGET}
	@@echo 'SHA-256 ("abcdefghijklmnopqrstuvwxyz") = 71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73' >> ${.TARGET}
	@@echo 'SHA-256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0' >> ${.TARGET}
	@@echo 'SHA-256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e' >> ${.TARGET}
d196 11
a206 11
	(echo 'RIPEMD160 test suite:'; \
	echo 'RIPEMD160 ("") = 9c1185a5c5e9fc54612808977ee8f548b2258d31'; \
	echo 'RIPEMD160 ("abc") = 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc'; \
	echo 'RIPEMD160 ("message digest") =' \
		'5d0689ef49d2fae572b881b123a85ffa21595f36'; \
	echo 'RIPEMD160 ("abcdefghijklmnopqrstuvwxyz") =' \
		'f71c27109c692c1b56bbdceb5b9d2865b3708dbc'; \
	echo 'RIPEMD160 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'b0e20b6e3116640286ed3a87a5713079b21f5189'; \
	echo 'RIPEMD160 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'9b752e45573d4b39f4dbd3323cab82bf63326bfb' ) > ${.TARGET}
d208 1
a208 1
test:	md2.ref md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha256.ref
d234 3
@


1.44
log
@SVN rev 201381 on 2010-01-02 09:58:07Z by ed

Build lib/ with WARNS=6 by default.

Similar to libexec/, do the same with lib/. Make WARNS=6 the norm and
lower it when needed.

I'm setting WARNS?=0 for secure/. It seems secure/ includes the
Makefile.inc provided by lib/. I'm not going to touch that directory.
Most of the code there is contributed anyway.
@
text
@d46 1
a46 1
CFLAGS+= -DSHA1_ASM -DELF
d50 4
a53 1
CFLAGS+= -DRMD160_ASM -DELF
@


1.43
log
@SVN rev 185568 on 2008-12-02 19:49:41Z by phk

Make the "test" target test the compiled version, instead of the
installed version of the md library.
@
text
@d11 2
@


1.43.2.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.43.2.2
log
@SVN rev 231588 on 2012-02-13 16:43:29Z by markm

MFC: sha256 ($5$) and sha512 ($6$) crypt(3) types.

PR:		misc/124164
Delayed by:	markm
@
text
@d8 2
a9 3
	sha256c.c sha256hl.c \
	sha512c.c sha512hl.c
INCS=	md2.h md4.h md5.h ripemd.h sha.h sha256.h sha512.h
d11 1
a11 1
MAN+=	md2.3 md4.3 md5.3 ripemd.3 sha.3 sha256.3 sha512.3
a34 4
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_File.3  sha512.3 SHA512_FileChunk.3
MLINKS+=sha512.3 SHA512_Data.3
d38 1
a38 2
		sha256.ref sha256hl.c sha512.ref sha512hl.c

a78 6
sha512hl.c: mdXhl.c
	(echo '#define LENGTH 64'; \
		sed -e 's/mdX/sha512/g' -e 's/MDX/SHA512_/g'	\
			-e  's/SHA512__/SHA512_/g' \
		${.ALLSRC}) > ${.TARGET}

d108 2
a109 4
	@@echo 'MD4 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'043f8582f241db351ce627e153e7f0e4' >> ${.TARGET}
	@@echo 'MD4 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'e33b4ddc9c38f2199c3e7b164fcc0536' >> ${.TARGET}
d122 11
a132 11
	echo 'SHA-0 test suite:' > ${.TARGET}
	@@echo 'SHA-0 ("") = f96cea198ad1dd5617ac084a3d92c6107708c0ef' >> ${.TARGET}
	@@echo 'SHA-0 ("abc") = 0164b8a914cd2a5e74c4f7ff082c4d97f1edf880' >> ${.TARGET}
	@@echo 'SHA-0 ("message digest") =' \
		'c1b0f222d150ebb9aa36a40cafdc8bcbed830b14' >> ${.TARGET}
	@@echo 'SHA-0 ("abcdefghijklmnopqrstuvwxyz") =' \
		'b40ce07a430cfd3c033039b9fe9afec95dc1bdcd' >> ${.TARGET}
	@@echo 'SHA-0 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'79e966f7a3a990df33e40e3d7f8f18d2caebadfa' >> ${.TARGET}
	@@echo 'SHA-0 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'4aa29d14d171522ece47bee8957e35a41f3e9cff' >> ${.TARGET}
d135 11
a145 11
	echo 'SHA-1 test suite:' > ${.TARGET}
	@@echo 'SHA-1 ("") = da39a3ee5e6b4b0d3255bfef95601890afd80709' >> ${.TARGET}
	@@echo 'SHA-1 ("abc") = a9993e364706816aba3e25717850c26c9cd0d89d' >> ${.TARGET}
	@@echo 'SHA-1 ("message digest") =' \
		'c12252ceda8be8994d5fa0290a47231c1d16aae3' >> ${.TARGET}
	@@echo 'SHA-1 ("abcdefghijklmnopqrstuvwxyz") =' \
		'32d10c7b8cf96570ca04ce37f2a19d84240d3a89' >> ${.TARGET}
	@@echo 'SHA-1 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'761c457bf73b14d27e9e9265c46f4b4dda11f940' >> ${.TARGET}
	@@echo 'SHA-1 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'50abf5706a150990a08b2c5ea40fa0e585554732' >> ${.TARGET}
d150 5
a154 25
	@@echo 'SHA-256 ("abc") =' \
		'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad' >> ${.TARGET}
	@@echo 'SHA-256 ("message digest") =' \
		'f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650' >> ${.TARGET}
	@@echo 'SHA-256 ("abcdefghijklmnopqrstuvwxyz") =' \
		'71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73' >> ${.TARGET}
	@@echo 'SHA-256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0' >> ${.TARGET}
	@@echo 'SHA-256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e' >> ${.TARGET}

sha512.ref:
	echo 'SHA-512 test suite:' > ${.TARGET}
	@@echo 'SHA-512 ("") =' \
		'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e' >> ${.TARGET}
	@@echo 'SHA-512 ("abc") =' \
		'ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f' >> ${.TARGET}
	@@echo 'SHA-512 ("message digest") =' \
		'107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c' >> ${.TARGET}
	@@echo 'SHA-512 ("abcdefghijklmnopqrstuvwxyz") =' \
		'4dbff86cc2ca1bae1e16468a05cb9881c97f1753bce3619034898faa1aabe429955a1bf8ec483d7421fe3c1646613a59ed5441fb0f321389f77f48a879c7b1f1' >> ${.TARGET}
	@@echo 'SHA-512 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'1e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894' >> ${.TARGET}
	@@echo 'SHA-512 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843' >> ${.TARGET}
d157 11
a167 11
	echo 'RIPEMD160 test suite:' > ${.TARGET}
	@@echo 'RIPEMD160 ("") = 9c1185a5c5e9fc54612808977ee8f548b2258d31' >> ${.TARGET}
	@@echo 'RIPEMD160 ("abc") = 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc' >> ${.TARGET}
	@@echo 'RIPEMD160 ("message digest") =' \
		'5d0689ef49d2fae572b881b123a85ffa21595f36' >> ${.TARGET}
	@@echo 'RIPEMD160 ("abcdefghijklmnopqrstuvwxyz") =' \
		'f71c27109c692c1b56bbdceb5b9d2865b3708dbc' >> ${.TARGET}
	@@echo 'RIPEMD160 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'b0e20b6e3116640286ed3a87a5713079b21f5189' >> ${.TARGET}
	@@echo 'RIPEMD160 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'9b752e45573d4b39f4dbd3323cab82bf63326bfb' >> ${.TARGET}
d169 1
a169 1
test:	md2.ref md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha256.ref sha512.ref
a194 3
	${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512 -o shadriver ${.CURDIR}/shadriver.c libmd.a
	./shadriver | cmp sha512.ref -
	@@${ECHO} SHA-512 passed test
@


1.43.2.3
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/8/lib/libmd/Makefile 231588 2012-02-13 16:43:29Z markm $
@


1.43.2.2.2.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.43.2.2.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/lib/libmd/Makefile 231588 2012-02-13 16:43:29Z markm $
@


1.43.2.1.6.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.43.2.1.4.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.43.2.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.42
log
@In light of the recent 2^69 operation collision-finding attack on SHA1,
add support for SHA256.

Tested on:	i386, sparc64
Tested using:	NIST test vectors, built-in tests
X-MFC-after:	5.4-RELEASE
@
text
@d172 1
a172 1
	${CC} ${CFLAGS} ${LDFLAGS} -DMD=2 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
d175 1
a175 1
	${CC} ${CFLAGS} ${LDFLAGS} -DMD=4 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
d178 1
a178 1
	${CC} ${CFLAGS} ${LDFLAGS} -DMD=5 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
d182 1
a182 1
	${CC} ${CFLAGS} ${LDFLAGS} -o rmddriver ${.CURDIR}/rmddriver.c -L. -lmd
d186 1
a186 1
	${CC} ${CFLAGS} ${LDFLAGS} -DSHA=0 -o shadriver ${.CURDIR}/shadriver.c -L. -lmd
d189 1
a189 1
	${CC} ${CFLAGS} ${LDFLAGS} -DSHA=1 -o shadriver ${.CURDIR}/shadriver.c -L. -lmd
d192 1
a192 1
	${CC} ${CFLAGS} ${LDFLAGS} -DSHA=256 -o shadriver ${.CURDIR}/shadriver.c -L. -lmd
@


1.42.2.1
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/6/lib/libmd/Makefile 143334 2005-03-09 19:23:04Z cperciva $
@


1.42.10.1
log
@SVN rev 237157 on 2012-06-16 09:17:21Z by des

Backport sha512 support.
@
text
@d8 2
a9 3
	sha256c.c sha256hl.c \
	sha512c.c sha512hl.c
INCS=	md2.h md4.h md5.h ripemd.h sha.h sha256.h sha512.h
d11 1
a11 1
MAN+=	md2.3 md4.3 md5.3 ripemd.3 sha.3 sha256.3 sha512.3
a34 4
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_File.3  sha512.3 SHA512_FileChunk.3
MLINKS+=sha512.3 SHA512_Data.3
d38 1
a38 2
		sha256.ref sha256hl.c sha512.ref sha512hl.c

a78 6
sha512hl.c: mdXhl.c
	(echo '#define LENGTH 64'; \
		sed -e 's/mdX/sha512/g' -e 's/MDX/SHA512_/g'	\
			-e  's/SHA512__/SHA512_/g' \
		${.ALLSRC}) > ${.TARGET}

d108 2
a109 4
	@@echo 'MD4 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'043f8582f241db351ce627e153e7f0e4' >> ${.TARGET}
	@@echo 'MD4 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'e33b4ddc9c38f2199c3e7b164fcc0536' >> ${.TARGET}
d122 11
a132 11
	echo 'SHA-0 test suite:' > ${.TARGET}
	@@echo 'SHA-0 ("") = f96cea198ad1dd5617ac084a3d92c6107708c0ef' >> ${.TARGET}
	@@echo 'SHA-0 ("abc") = 0164b8a914cd2a5e74c4f7ff082c4d97f1edf880' >> ${.TARGET}
	@@echo 'SHA-0 ("message digest") =' \
		'c1b0f222d150ebb9aa36a40cafdc8bcbed830b14' >> ${.TARGET}
	@@echo 'SHA-0 ("abcdefghijklmnopqrstuvwxyz") =' \
		'b40ce07a430cfd3c033039b9fe9afec95dc1bdcd' >> ${.TARGET}
	@@echo 'SHA-0 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'79e966f7a3a990df33e40e3d7f8f18d2caebadfa' >> ${.TARGET}
	@@echo 'SHA-0 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'4aa29d14d171522ece47bee8957e35a41f3e9cff' >> ${.TARGET}
d135 11
a145 11
	echo 'SHA-1 test suite:' > ${.TARGET}
	@@echo 'SHA-1 ("") = da39a3ee5e6b4b0d3255bfef95601890afd80709' >> ${.TARGET}
	@@echo 'SHA-1 ("abc") = a9993e364706816aba3e25717850c26c9cd0d89d' >> ${.TARGET}
	@@echo 'SHA-1 ("message digest") =' \
		'c12252ceda8be8994d5fa0290a47231c1d16aae3' >> ${.TARGET}
	@@echo 'SHA-1 ("abcdefghijklmnopqrstuvwxyz") =' \
		'32d10c7b8cf96570ca04ce37f2a19d84240d3a89' >> ${.TARGET}
	@@echo 'SHA-1 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'761c457bf73b14d27e9e9265c46f4b4dda11f940' >> ${.TARGET}
	@@echo 'SHA-1 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'50abf5706a150990a08b2c5ea40fa0e585554732' >> ${.TARGET}
d150 5
a154 25
	@@echo 'SHA-256 ("abc") =' \
		'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad' >> ${.TARGET}
	@@echo 'SHA-256 ("message digest") =' \
		'f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650' >> ${.TARGET}
	@@echo 'SHA-256 ("abcdefghijklmnopqrstuvwxyz") =' \
		'71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73' >> ${.TARGET}
	@@echo 'SHA-256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0' >> ${.TARGET}
	@@echo 'SHA-256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e' >> ${.TARGET}

sha512.ref:
	echo 'SHA-512 test suite:' > ${.TARGET}
	@@echo 'SHA-512 ("") =' \
		'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e' >> ${.TARGET}
	@@echo 'SHA-512 ("abc") =' \
		'ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f' >> ${.TARGET}
	@@echo 'SHA-512 ("message digest") =' \
		'107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c' >> ${.TARGET}
	@@echo 'SHA-512 ("abcdefghijklmnopqrstuvwxyz") =' \
		'4dbff86cc2ca1bae1e16468a05cb9881c97f1753bce3619034898faa1aabe429955a1bf8ec483d7421fe3c1646613a59ed5441fb0f321389f77f48a879c7b1f1' >> ${.TARGET}
	@@echo 'SHA-512 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'1e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894' >> ${.TARGET}
	@@echo 'SHA-512 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843' >> ${.TARGET}
d157 11
a167 11
	echo 'RIPEMD160 test suite:' > ${.TARGET}
	@@echo 'RIPEMD160 ("") = 9c1185a5c5e9fc54612808977ee8f548b2258d31' >> ${.TARGET}
	@@echo 'RIPEMD160 ("abc") = 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc' >> ${.TARGET}
	@@echo 'RIPEMD160 ("message digest") =' \
		'5d0689ef49d2fae572b881b123a85ffa21595f36' >> ${.TARGET}
	@@echo 'RIPEMD160 ("abcdefghijklmnopqrstuvwxyz") =' \
		'f71c27109c692c1b56bbdceb5b9d2865b3708dbc' >> ${.TARGET}
	@@echo 'RIPEMD160 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
		'b0e20b6e3116640286ed3a87a5713079b21f5189' >> ${.TARGET}
	@@echo 'RIPEMD160 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
		'9b752e45573d4b39f4dbd3323cab82bf63326bfb' >> ${.TARGET}
d169 1
a169 1
test:	md2.ref md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha256.ref sha512.ref
a194 3
	${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512 -o shadriver ${.CURDIR}/shadriver.c libmd.a
	./shadriver | cmp sha512.ref -
	@@${ECHO} SHA-512 passed test
@


1.42.10.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/7/lib/libmd/Makefile 237157 2012-06-16 09:17:21Z des $
@


1.42.24.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.42.24.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/7.4/lib/libmd/Makefile 143334 2005-03-09 19:23:04Z cperciva $
@


1.42.22.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.42.20.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.42.18.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.42.16.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.41
log
@Backed out rev.1.6 and subsequent copying of it (bogus addition of
-static to CFLAGS).  It just turned rev.1.5 into an obfuscated no-op.
As explained in the log for rev.1.5, testing should be done in the
host environment but there is a problem in cross-compilation environments.
As not explained in the log for rev.1.6, there was apparently a practical
problem with cross-compiling (makeworld should have set -static in
LDFLAGS but apparently didn't).  Cross-compilation was especially
complicated because the relevant programs are test programs that were
run at beforeinstall time -- dynamic libraries might or might not exist
depending on the build options.  The complications became moot in
rev.1.8 when beforeinstall was renamed "test".
@
text
@d7 3
a9 2
	sha0c.c sha0hl.c sha1c.c sha1hl.c
INCS=	md2.h md4.h md5.h ripemd.h sha.h
d11 1
a11 1
MAN+=	md2.3 md4.3 md5.3 ripemd.3 sha.3
d31 4
d37 2
a38 1
		sha0.ref sha0hl.c sha1.ref sha1hl.c shadriver
d73 6
d147 9
d169 1
a169 1
test:	md2.ref md4.ref md5.ref sha0.ref rmd160.ref sha1.ref
d192 3
@


1.41.2.1
log
@MFC the addition of sha256 to libmd and md5(1).

Also, bump __FreeBSD_version so that ports code knows that sha256 is
now in the base system.

Requested by:	Lots of people
@
text
@d7 2
a8 3
	sha0c.c sha0hl.c sha1c.c sha1hl.c \
	sha256c.c sha256hl.c
INCS=	md2.h md4.h md5.h ripemd.h sha.h sha256.h
d10 1
a10 1
MAN+=	md2.3 md4.3 md5.3 ripemd.3 sha.3 sha256.3
a29 4
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_File.3  sha256.3 SHA256_FileChunk.3
MLINKS+=sha256.3 SHA256_Data.3
d32 1
a32 2
		sha0.ref sha0hl.c sha1.ref sha1hl.c shadriver \
		sha256.ref sha256hl.c
a66 6
sha256hl.c: mdXhl.c
	(echo '#define LENGTH 32'; \
		sed -e 's/mdX/sha256/g' -e 's/MDX/SHA256_/g'	\
			-e  's/SHA256__/SHA256_/g' \
		${.ALLSRC}) > ${.TARGET}

a134 9
sha256.ref:
	echo 'SHA-256 test suite:' > ${.TARGET}
	@@echo 'SHA-256 ("") = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' >> ${.TARGET}
	@@echo 'SHA-256 ("abc") = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad' >> ${.TARGET}
	@@echo 'SHA-256 ("message digest") = f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650' >> ${.TARGET}
	@@echo 'SHA-256 ("abcdefghijklmnopqrstuvwxyz") = 71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73' >> ${.TARGET}
	@@echo 'SHA-256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0' >> ${.TARGET}
	@@echo 'SHA-256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e' >> ${.TARGET}

d148 1
a148 1
test:	md2.ref md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha256.ref
a170 3
	${CC} ${CFLAGS} ${LDFLAGS} -DSHA=256 -o shadriver ${.CURDIR}/shadriver.c -L. -lmd
	./shadriver | cmp sha256.ref -
	@@${ECHO} SHA-256 passed test
@


1.40
log
@style.Makefile(5)
@
text
@d151 1
a151 1
	${CC} -static ${CFLAGS} ${LDFLAGS} -DMD=2 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
d154 1
a154 1
	${CC} -static ${CFLAGS} ${LDFLAGS} -DMD=4 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
d157 1
a157 1
	${CC} -static ${CFLAGS} ${LDFLAGS} -DMD=5 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
d161 1
a161 1
	${CC} -static ${CFLAGS} ${LDFLAGS} -o rmddriver ${.CURDIR}/rmddriver.c -L. -lmd
d165 1
a165 1
	${CC} -static ${CFLAGS} ${LDFLAGS} -DSHA=0 -o shadriver ${.CURDIR}/shadriver.c -L. -lmd
d168 1
a168 1
	${CC} -static ${CFLAGS} ${LDFLAGS} -DSHA=1 -o shadriver ${.CURDIR}/shadriver.c -L. -lmd
@


1.39
log
@Stage 3 of dynamic root support. Make all the libraries needed to run
binaries in /bin and /sbin installed in /lib. Only the versioned files
reside in /lib, the .so symlink continues to live /usr/lib so the
toolchain doesn't need to be modified.
@
text
@d4 1
a4 1
SHLIBDIR?=	/lib
@


1.38
log
@Initiate deorbit burn for the i386-only a.out related support.  Moves are
under way to move the remnants of the a.out toolchain to ports.  As the
comment in src/Makefile said, this stuff is deprecated and one should not
expect this to remain beyond 4.0-REL.  It has already lasted WAY beyond
that.

Notable exceptions:
gcc - I have not touched the a.out generation stuff there.
ldd/ldconfig - still have some code to interface with a.out rtld.
old as/ld/etc - I have not removed these yet, pending their move to ports.
some includes - necessary for ldd/ldconfig for now.

Tested on: i386 (extensively), alpha
@
text
@d4 1
@


1.37
log
@Don't build manuals at inappropriate time.
Collapse generation of md[245].3 manpages.
@
text
@a34 1
.if ${OBJFORMAT} == "elf"
a41 1
.endif
@


1.36
log
@MAN[1-9] -> MAN.
@
text
@d1 1
a1 1
# $FreeBSD: src/lib/libmd/Makefile,v 1.35 2001/03/17 10:00:50 phk Exp $
a45 2
all: md2.3 md4.3 md5.3

d74 5
a78 11
md2.3: ${.CURDIR}/mdX.3
	sed -e 's/mdX/md2/g' -e 's/MDX/MD2/g' ${.ALLSRC} > ${.TARGET}
	cat ${.CURDIR}/md2.copyright >> ${.TARGET}

md4.3: ${.CURDIR}/mdX.3
	sed -e 's/mdX/md4/g' -e 's/MDX/MD4/g' ${.ALLSRC} > ${.TARGET}
	cat ${.CURDIR}/md4.copyright >> ${.TARGET}

md5.3: ${.CURDIR}/mdX.3
	sed -e 's/mdX/md5/g' -e 's/MDX/MD5/g' ${.ALLSRC} > ${.TARGET}
	cat ${.CURDIR}/md5.copyright >> ${.TARGET}
@


1.35
log
@Add a new entrypoint to the hashes in libmd:
  char *
  FooFileChunk(const char *filename, char *buf, off_t offset, off_t length)
Which only hashes part of a file.
Implement FooFile() in terms of this function.

Submitted by:	roam
@
text
@d1 1
a1 1
# $FreeBSD: src/lib/libmd/Makefile,v 1.34 2000/01/14 07:57:34 rgrimes Exp $
d9 1
a9 1
MAN3+=  md2.3 md4.3 md5.3 ripemd.3 sha.3
@


1.34
log
@Replace beforeinstall target with new variables used by .mk system.

Reviewed by:	marcel, and make world
@
text
@d1 1
a1 1
# $FreeBSD: src/lib/libmd/Makefile,v 1.33 1999/08/28 00:05:04 peter Exp $
d11 2
a12 1
MLINKS+=md2.3 MD2End.3  md2.3 MD2File.3   md2.3 MD2Data.3
d14 2
a15 1
MLINKS+=md4.3 MD4End.3  md4.3 MD4File.3   md4.3 MD4Data.3
d17 2
a18 1
MLINKS+=md5.3 MD5End.3  md5.3 MD5File.3   md5.3 MD5Data.3
d22 1
d24 2
a25 1
MLINKS+=sha.3 SHA_End.3   sha.3 SHA_File.3    sha.3 SHA_Data.3
d27 2
a28 1
MLINKS+=sha.3 SHA1_End.3  sha.3 SHA1_File.3   sha.3 SHA1_Data.3
@


1.34.2.1
log
@MFC: MAN[1-9] -> MAN.
@
text
@d1 1
a1 1
# $FreeBSD: src/lib/libmd/Makefile,v 1.34 2000/01/14 07:57:34 rgrimes Exp $
d9 1
a9 1
MAN+=	md2.3 md4.3 md5.3 ripemd.3 sha.3
@


1.34.2.2
log
@MFC: 1.37 (build manuals at appropriate time, collapse their generation).
@
text
@d1 1
a1 1
# $FreeBSD$
d40 2
d70 11
a80 5
.for i in 2 4 5
md${i}.3: ${.CURDIR}/mdX.3
	sed -e "s/mdX/md${i}/g" -e "s/MDX/MD${i}/g" ${.ALLSRC} > ${.TARGET}
	cat ${.CURDIR}/md${i}.copyright >> ${.TARGET}
.endfor
@


1.34.2.3
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/4/lib/libmd/Makefile 100247 2002-07-17 15:16:38Z ru $
@


1.33
log
@$Id$ -> $FreeBSD$
@
text
@d1 1
a1 1
# $FreeBSD$
d7 2
a174 6

beforeinstall:
.for i in md2.h md4.h md5.h ripemd.h sha.h
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/$i \
		${DESTDIR}/usr/include
.endfor
@


1.32
log
@add more MLINKS
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.31 1999/03/01 02:39:45 wollman Exp $
@


1.31
log
@Don't even attempt to build the assembly-language versions of RIPEMD160
and SHA-1 when OBJFORMAT is not ELF.  Add a warning to the man page
about how SHA-1 uses bswapl, which will trap on 80386es (and the kernel
should, but doesn't currently, emulate).
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.30 1999/02/26 18:41:45 wollman Exp $
d14 7
@


1.30
log
@Add Eric Young's RIPEMD160 implementation as well, in case SHA-1
should prove weak.  Also fix a few problems with the SHA-1 build.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.29 1999/02/26 04:24:56 wollman Exp $
d20 1
d28 1
@


1.29
log
@Fix bug in MDx test suite.
Add Eric Young's SHA-[01] implementations.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.28 1998/11/12 04:08:10 jdp Exp $
d5 1
d7 1
a7 1
MAN3+=  md2.3 md4.3 md5.3 sha.3
d15 1
d18 1
d21 1
a21 1
SRCS+=	${MACHINE_ARCH}/sha.S
d24 4
d53 6
d127 14
a140 1
test:	md2.ref md4.ref md5.ref sha0.ref sha1.ref
d153 4
d166 1
a166 1
.for i in md2.h md4.h md5.h sha.h
@


1.28
log
@Build libmd shared for a.out too.  Required for some PAM modules.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.27 1998/09/11 05:41:29 imp Exp $
d4 3
a6 2
SRCS=	md2c.c md4c.c md5c.c md2hl.c md4hl.c md5hl.c
MAN3+=  md2.3 md4.3 md5.3
d13 2
a14 1
CLEANFILES+=	md[245]hl.c md[245].ref md[245].3 mddriver
d17 5
d25 2
a26 1
	sed -e 's/mdX/md2/g' -e 's/MDX/MD2/g' ${.ALLSRC} > ${.TARGET}
d29 2
a30 1
	sed -e 's/mdX/md4/g' -e 's/MDX/MD4/g' ${.ALLSRC} > ${.TARGET}
d33 12
a44 1
	sed -e 's/mdX/md5/g' -e 's/MDX/MD5/g' ${.ALLSRC} > ${.TARGET}
d88 27
a114 1
test:	md2.ref md4.ref md5.ref
d127 7
d136 1
a136 1
.for i in md2.h md4.h md5.h
@


1.28.2.1
log
@$Id$ -> $FreeBSD$
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.27
log
@$@@ -> ${.TARGET}
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.26 1998/08/30 01:50:04 jb Exp $
a3 3
.if ${OBJFORMAT} != elf
NOPIC=	true
.endif
@


1.26
log
@BINFORMAT -> OBJFORMAT ready for E-day.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.25 1998/03/19 15:27:08 bde Exp $
d21 1
a21 1
	sed -e 's/mdX/md2/g' -e 's/MDX/MD2/g' $> > $@@
d24 1
a24 1
	sed -e 's/mdX/md4/g' -e 's/MDX/MD4/g' $> > $@@
d27 1
a27 1
	sed -e 's/mdX/md5/g' -e 's/MDX/MD5/g' $> > $@@
d30 2
a31 2
	sed -e 's/mdX/md2/g' -e 's/MDX/MD2/g' $> > $@@
	cat ${.CURDIR}/md2.copyright >> $@@
d34 2
a35 2
	sed -e 's/mdX/md4/g' -e 's/MDX/MD4/g' $> > $@@
	cat ${.CURDIR}/md4.copyright >> $@@
d38 2
a39 2
	sed -e 's/mdX/md5/g' -e 's/MDX/MD5/g' $> > $@@
	cat ${.CURDIR}/md5.copyright >> $@@
d42 8
a49 8
	echo 'MD2 test suite:' > $@@
	@@echo 'MD2 ("") = 8350e5a3e24c153df2275c9f80692773' >> $@@
	@@echo 'MD2 ("a") = 32ec01ec4a6dac72c0ab96fb34c0b5d1' >> $@@
	@@echo 'MD2 ("abc") = da853b0d3f88d99b30283a69e6ded6bb' >> $@@
	@@echo 'MD2 ("message digest") = ab4f496bfb2a530b219ff33031fe06b0' >> $@@
	@@echo 'MD2 ("abcdefghijklmnopqrstuvwxyz") = 4e8ddff3650292ab5a4108c3aa47940b' >> $@@
	@@echo 'MD2 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = da33def2a42df13975352846c30338cd' >> $@@
	@@echo 'MD2 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = d5976f79d83d3a0dc9806c3c66f3efd8' >> $@@
d52 8
a59 8
	echo 'MD4 test suite:' > $@@
	@@echo 'MD4 ("") = 31d6cfe0d16ae931b73c59d7e0c089c0' >> $@@
	@@echo 'MD4 ("a") = bde52cb31de33e46245e05fbdbd6fb24' >> $@@
	@@echo 'MD4 ("abc") = a448017aaf21d8525fc10ae87aa6729d' >> $@@
	@@echo 'MD4 ("message digest") = d9130a8164549fe818874806e1c7014b' >> $@@
	@@echo 'MD4 ("abcdefghijklmnopqrstuvwxyz") = d79e1c308aa5bbcdeea8ed63df412da9' >> $@@
	@@echo 'MD4 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 043f8582f241db351ce627e153e7f0e4' >> $@@
	@@echo 'MD4 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = e33b4ddc9c38f2199c3e7b164fcc0536' >> $@@
d62 8
a69 8
	echo 'MD5 test suite:' > $@@
	@@echo 'MD5 ("") = d41d8cd98f00b204e9800998ecf8427e' >> $@@
	@@echo 'MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661' >> $@@
	@@echo 'MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72' >> $@@
	@@echo 'MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0' >> $@@
	@@echo 'MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b' >> $@@
	@@echo 'MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = d174ab98d277d9f5a5611c2c9f419d9f' >> $@@
	@@echo 'MD5 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 57edf4a22be3c955ac49da2e2107b67a' >> $@@
@


1.25
log
@Don't use the beforedepend target.  It was a no-op here except for
helping bsd.dep.mk break `make -jN depend'.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.24 1997/09/05 11:49:43 peter Exp $
d4 1
a4 1
.if ${BINFORMAT} != elf
@


1.24
log
@If not building a.out, still build a pic version of libmd.  This allows
things like libskey.so to be dynamically self contained.

Things like md5(1) where speed is critical should still link with libmd.a,
but for things like login, where it's a once-off call if skey is used, it's
not worth the hassle.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.23 1997/02/22 15:07:10 peter Exp $
a83 2

beforedepend:	md2hl.c md4hl.c md5hl.c
@


1.23
log
@Revert $FreeBSD$ to $Id$
@
text
@d1 1
a1 1
#	$Id$
d4 1
d6 1
@


1.22
log
@Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
@
text
@d1 1
a1 1
#	$FreeBSD$
@


1.21
log
@cmp -s || install -c ==> install -C, use a .for loop
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.20 1996/02/09 22:44:44 phk Exp $
@


1.21.2.1
log
@$Id$ -> $FreeBSD$
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.20
log
@Don't install mdX.3, it's the template used to build the other pages.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.19 1996/02/09 20:57:53 phk Exp $
d86 4
a89 9
	-cd ${.CURDIR}; cmp -s md2.h ${DESTDIR}/usr/include/md2.h || \
	  ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 md2.h \
	  ${DESTDIR}/usr/include
	-cd ${.CURDIR}; cmp -s md4.h ${DESTDIR}/usr/include/md4.h || \
	  ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 md4.h \
	  ${DESTDIR}/usr/include
	-cd ${.CURDIR}; cmp -s md5.h ${DESTDIR}/usr/include/md5.h || \
	  ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 md5.h \
	  ${DESTDIR}/usr/include
@


1.19
log
@Bill was a little to fast here...
@
text
@d1 1
a1 1
#	$Id$
d6 1
a6 1
MAN3+=	mdX.3 md2.3 md4.3 md5.3
@


1.18
log
@Add some missing MLINKS, correct some cross references, correct some
file locations and some minor formatting/style problems.
@
text
@d1 1
a1 1
#	$FreeBSD$
a12 2
MLINKS+=mdX.3 MDXInit.3 mdX.3 MDXUpdate.3 mdX.3 MDXFinal.3 mdX.3 MDXEnd.3 \
	mdX.3 MDXFile.3 mdX.3 MDXData.3
@


1.17
log
@Added some missing MLINKS for section 3 man pages.
Also corrected a few minor formatting errors, file location and cross
references in some of the section 3 man pages.

This shuts up a lot of the output from "manck" for section 3.
@
text
@d6 1
a6 5
.if exists(obj)
MAN3+=	obj/md2.3 obj/md4.3 obj/md5.3
.else
MAN3+=	md2.3 md4.3 md5.3
.endif
d13 1
a13 1
MLINKS=mdX.3 MDXInit.3 mdX.3 MDXUpdate.3 mdX.3 MDXFinal.3 mdX.3 MDXEnd.3 \
@


1.16
log
@Back out that last change; we don't build this shared.
@
text
@d17 2
@


1.15
log
@Bumped shared lib rev to 2.1.
@
text
@a3 2
SHLIB_MAJOR= 2
SHLIB_MINOR= 1
@


1.14
log
@Change `install' to `${INSTALL}' so that default install flags can be
specified in the top level Makefiles.

Previously I missed dozens of Makefiles that skip the install after
using `cmp -s' to decide that the install isn't necessary.
@
text
@d4 2
@


1.13
log
@Change this to do what it should have done from the start.
Add argument for buffer for output.
Fix manuals.
@
text
@d91 1
a91 1
	  install -c -o ${BINOWN} -g ${BINGRP} -m 444 md2.h \
d94 1
a94 1
	  install -c -o ${BINOWN} -g ${BINGRP} -m 444 md4.h \
d97 1
a97 1
	  install -c -o ${BINOWN} -g ${BINGRP} -m 444 md5.h \
@


1.12
log
@Remove trailing whitespace.
@
text
@d6 11
a16 7
MAN3+=	mdX.3
MLINKS+=mdX.3 MD2Init.3 mdX.3 MD2Update.3 mdX.3 MD2Final.3
MLINKS+=mdX.3 MD2End.3  mdX.3 MD2File.3   mdX.3 MD2Data.3
MLINKS+=mdX.3 MD4Init.3 mdX.3 MD4Update.3 mdX.3 MD4Final.3
MLINKS+=mdX.3 MD4End.3  mdX.3 MD4File.3   mdX.3 MD4Data.3
MLINKS+=mdX.3 MD5Init.3 mdX.3 MD5Update.3 mdX.3 MD5Final.3
MLINKS+=mdX.3 MD5End.3  mdX.3 MD5File.3   mdX.3 MD5Data.3
@


1.12.4.1
log
@Brought in changes from main branch: add output buffer pointer to improve
performance.
@
text
@d6 7
a12 11
.if exists(obj)
MAN3+=	obj/md2.3 obj/md4.3 obj/md5.3
.else
MAN3+=	md2.3 md4.3 md5.3
.endif
MLINKS+=md2.3 MD2Init.3 md2.3 MD2Update.3 md2.3 MD2Final.3
MLINKS+=md2.3 MD2End.3  md2.3 MD2File.3   md2.3 MD2Data.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 MD4Data.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 MD5Data.3
d87 1
a87 1
	  ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 md2.h \
d90 1
a90 1
	  ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 md4.h \
d93 1
a93 1
	  ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 md5.h \
@


1.12.4.2
log
@Bumpbed shared lib rev to 2.1.
@
text
@a3 2
SHLIB_MAJOR= 2
SHLIB_MINOR= 1
@


1.12.4.3
log
@Back out that last change; we don't build this shared.
@
text
@d4 2
@


1.11
log
@Eliminate a bogus tab.
@
text
@d7 1
a7 1
MLINKS+=mdX.3 MD2Init.3 mdX.3 MD2Update.3 mdX.3 MD2Final.3 
d9 1
a9 1
MLINKS+=mdX.3 MD4Init.3 mdX.3 MD4Update.3 mdX.3 MD4Final.3 
d11 1
a11 1
MLINKS+=mdX.3 MD5Init.3 mdX.3 MD5Update.3 mdX.3 MD5Final.3 
@


1.10
log
@Clean up beforeinstall
@
text
@d38 1
a38 1
	
@


1.9
log
@Added beforeinstall rule to install .h files.  We might need some .mk
support for this kind of thing.  Look at src/Makefile target "includes".
@
text
@d86 1
a86 2
	-cd ${.CURDIR}; cmp -s md2.h ${DESTDIR}/usr/include/md2.h > \
	  /dev/null 2>&1 || \
d89 1
a89 2
	-cd ${.CURDIR}; cmp -s md4.h ${DESTDIR}/usr/include/md4.h > \
	  /dev/null 2>&1 || \
d92 1
a92 2
	-cd ${.CURDIR}; cmp -s md5.h ${DESTDIR}/usr/include/md5.h > \
	  /dev/null 2>&1 || \
@


1.8
log
@libmd no longer built as shared-lib, only static.
Renamed the beforeinstall to test.
@
text
@d85 14
@


1.7
log
@Build *.3 and *.ref at build time, not at install time.
@
text
@d4 1
d16 1
a16 1
all: md2.3 md2.ref md4.3 md4.ref md5.3 md5.ref
d69 1
a69 1
beforeinstall:
@


1.6
log
@Make mddriver static.
Submitted by:	jkh
@
text
@d15 2
d68 1
a68 1
beforeinstall: md2.ref md4.ref md5.ref md2.3 md4.3 md5.3
@


1.5
log
@Use ${LDFLAGS} instead of static for compiling binaries.  Neither is
sufficient for cross compiling but it's best to test with the flags
normally used.

Use ${ECHO} instead of `echo' so that `make -s' is fairly quiet.
@
text
@d69 1
a69 1
	${CC} ${CFLAGS} ${LDFLAGS} -DMD=2 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
d72 1
a72 1
	${CC} ${CFLAGS} ${LDFLAGS} -DMD=4 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
d75 1
a75 1
	${CC} ${CFLAGS} ${LDFLAGS} -DMD=5 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
@


1.4
log
@Added ${.CURDIRb to vuilding of man pages so it works with obj

Submitted by:	Paul Richards
@
text
@d67 3
a69 3
	@@echo if any of these test fail, the code produces wrong results
	@@echo and should NOT be used.
	${CC} ${CFLAGS} -static -DMD=2 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
d71 2
a72 2
	@@echo MD2 passed test
	${CC} ${CFLAGS} -static -DMD=4 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
d74 2
a75 2
	@@echo MD4 passed test
	${CC} ${CFLAGS} -static -DMD=5 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
d77 1
a77 1
	@@echo MD5 passed test
@


1.3
log
@Boy, was *this* ever bollixed!

1. Copyright files looked for in the wrong place

2. cmp was looking in wrong place for test data.

3. Driver for test not linked static, thus dynamic resolution of library
   not working.

4. Man page installation not consistent with source.

Reviewed by:
Submitted by:	jkh
@
text
@d24 1
a24 1
md2.3: mdX.3
d28 1
a28 1
md4.3: mdX.3
d32 1
a32 1
md5.3: mdX.3
@


1.2
log
@Make obj directory work right.  md?hl.c should probably be
deleted, but I'll leave that up to PHK.
@
text
@d5 8
a12 8
MAN3+=	md2.3 md4.3 md5.3
MLINKS+=md2.3 MD2Init.3 md2.3 MD2Update.3 md2.3 MD2Final.3 
MLINKS+=md2.3 MD2End.3  md2.3 MD2File.3   md2.3 MD2Data.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 MD4Data.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 MD5Data.3
CLEANFILES+=	md[245]hl.c md[245].ref md[245].3
d26 1
a26 1
	cat md2.copyright >> $@@
d30 1
a30 1
	cat md4.copyright >> $@@
d34 1
a34 1
	cat md5.copyright >> $@@
d69 2
a70 2
	${CC} ${CFLAGS} -DMD=2 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
	./mddriver | cmp ${.CURDIR}/md2.ref -
d72 2
a73 2
	${CC} ${CFLAGS} -DMD=4 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
	./mddriver | cmp ${.CURDIR}/md4.ref -
d75 2
a76 2
	${CC} ${CFLAGS} -DMD=5 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
	./mddriver | cmp ${.CURDIR}/md5.ref -
@


1.1
log
@Initial revision
@
text
@d13 1
d79 2
@


1.1.1.1
log
@
Reviewed by:	phk
Imported libmd.  This library contains MD2, MD4 and MD5.
These three boggers pop up all over the place all of the time, so I 
decided we needed a library with them.  In general they are used for
security checks, so if you use them you want to link them static.
@
text
@@
