History log of /freebsd-current/lib/libmd/Makefile
Revision Date Author Comments
# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/


# 2768d705 06-Feb-2023 Dag-Erling Smørgrav <des@FreeBSD.org>

libmd / md5: Add SHA-512/224.

While there, remove .Tn from man pages.

Also remove an obsolete comment about the 80386.

MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: kevans, allanjude
Differential Revision: https://reviews.freebsd.org/D38373


# 20adba8b 08-Aug-2022 Gleb Popov <arrowd@FreeBSD.org>

src.conf: Introduce WITHOUT_MACHDEP knob.

Summary:
This knob can be used to make buildsystem prefer generic C implentations of
various functions, instead of machine-specific assembler ones.

Test Plan: `make buildworld` on amd64

Reviewed by: imp, emaste

Differential Revision: https://reviews.freebsd.org/D36076

MFC after: 3 days


# 71bf1c4c 19-Nov-2021 Andrew Turner <andrew@FreeBSD.org>

Add accelerated arm64 sha512 to libmd

As with sha256 add support for accelerated sha512 support to libmd on
arm64. This depends on clang 13+ to build as this is the first release
with the needed intrinsics. Gcc should also support them, however from
a currently unknown release.

Reviewed by: cem
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D33373


# a9472032 30-Aug-2021 Andrew Turner <andrew@FreeBSD.org>

Revert "Disable the accelerated arm64 sha25 in static libraries"

This is now unneeded as arm64 can now resolve ifuncs in static binaries

This reverts commit c81ea895b563c4d1e39468a8525284b7474fe850.

Sponsored by: The FreeBSD Foundation


# c81ea895 19-Aug-2021 Andrew Turner <andrew@FreeBSD.org>

Disable the accelerated arm64 sha25 in static libraries

We don't have ifunc support in static arm64 binaries. Until we do
disable the accelerated sha256 code in a static libmd as it uses an
ifunc.

Reported by: brd
Sponsored by: The FreeBSD Foundation


# 69d8dc20 23-Jul-2021 Andrew Turner <andrew@FreeBSD.org>

Use arm64 sha256 intrinsics in libmd

Summary:
When running on a CPU that supports the arm64 sha256 intrinsics use them
to improve perfromance of sha256 calculations.

With this changethe following improvement has been seen on an Apple M1
with FreeBS running under Parallels, with similar results on a
Neoverse-N1 r3p1.

x sha256.orig
+ sha256.arm64
+--------------------------------------------------------------------+
|++ x x|
|+++ xxx|
||A |A||
+--------------------------------------------------------------------+
N Min Max Median Avg Stddev
x 5 3.41 3.5 3.46 3.458 0.042661458
+ 5 0.47 0.54 0.5 0.504 0.027018512
Difference at 95.0% confidence
-2.954 +/- 0.0520768
-85.4251% +/- 0.826831%
(Student's t, pooled s = 0.0357071)

Reviewed by: cem
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D31284


# da6e5efe 02-Oct-2020 Ed Maste <emaste@FreeBSD.org>

libmd: add dependency workaround for r366344

r366344 fixed and reenabled the assembly optimized skein implementation,
but skein_block objects were not being rebuilt in no-clean builds. This
resulted in failing no-clean builds. SKEIN_USE_ASM controls which
routines come from C vs assembly, and with no explicit dependency
r366344's change to SKEIN_USE_ASM did not cause skein_block.{o,pico}
to be rebuilt.

Add a dependency on this Makefile for the skein_block objects. This
dependency is broader in scope than absolutely required (that is, the
skein_block objects will now be rebuilt on any change to this Makefile).
There are ways this could be addressed, but it is probably not worth the
additional effort or testing time to pursue them.

PR: 248221
Reported by: kevans, Jeremy Faulkner
Discussed with: kevans
Sponsored by: The FreeBSD Foundation


# 36972ee3 01-Oct-2020 Ed Maste <emaste@FreeBSD.org>

libmd: fix assembly optimized skein implementation

The assembly implementation incorrectly used logical AND instead of
bitwise AND. Fix, and re-enable in libmd.

Submitted by: Yang Zhong <yzhong@freebsdfoundation.org>
Reviewed by: cem (earlier)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D26614


# 0d2c19d0 23-Jul-2020 Ed Maste <emaste@FreeBSD.org>

libmd: temporarily disable optimized assembly skein1024 implementation

It is apparently broken when assembled by contemporary GNU as as well as
Clang IAS (which is used in the default configuration).

PR: 248221
Reported by: pizzamig
Sponsored by: The FreeBSD Foundation


# 7425ce4b 15-Jul-2020 Alex Richardson <arichardson@FreeBSD.org>

Remove warning that is no longer accurate after r361853

We now build the skein assembly with clangs integrated assembler.

Reviewed By: emaste
Differential Revision: https://reviews.freebsd.org/D25664


# 24ed6f55 05-Jun-2020 Ed Maste <emaste@FreeBSD.org>

Rename skein_block_asm.s to .S and assemble using Clang IAS

Comparing the object files produced by GNU as 2.17.50 and Clang IAS
shows many immaterial changes in strtab etc., and one material change
in .text:

1bac: 4c 8b 4f 18 mov 0x18(%rdi),%r9
1bb0: eb 0e jmp 1bc0 <Skein1024_block_loop>
- 1bb2: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1)
- 1bb9: 00 00 00 00
- 1bbd: 0f 1f 00 nopl (%rax)
+ 1bb2: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
+ 1bb9: 00 00 00
+ 1bbc: 0f 1f 40 00 nopl 0x0(%rax)

0000000000001bc0 <Skein1024_block_loop>:
Skein1024_block_loop():
1bc0: 4c 8b 47 10 mov 0x10(%rdi),%r8
1bc4: 4c 03 85 c0 00 00 00 add 0xc0(%rbp),%r8

That is, GNU as and Clang's integrated assembler use different multi-
byte NOPs for alignment (GNU as emits an 11 byte NOP + a 3 byte NOP,
while Clang IAS emits a 10 byte NOP + a 4 byte NOP).

Dependency cleanup hacks are not required, because we do not create
.depend files from GNU as.

Reviewed by: allanjude, arichardson, cem, tsoome
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D8434


# f2b86886 05-Jun-2020 Ed Maste <emaste@FreeBSD.org>

Also pass SKEIN_USE_ASM to the assembler, via AFLAGS


# 310e81ae 05-Jun-2020 Ed Maste <emaste@FreeBSD.org>

Apply C SKEIN_LOOP setting only to skein_block.c

Otherwise if assembling skein_block_asm.s with Clang's integrated assembler
we can pass conflicting SKEIN_LOOP settings (via CFLAGS and ACFLAGS).


# a7b5a3d48 05-Sep-2019 Emmanuel Vadot <manu@FreeBSD.org>

pkgbase: Put a lot of binaries and lib in FreeBSD-runtime

All of them are needed to be able to boot to single user and be able
to repair a existing FreeBSD installation so put them directly into
FreeBSD-runtime.

Reviewed by: bapt, gjb
Differential Revision: https://reviews.freebsd.org/D21503


# 01a9c323 26-Aug-2018 Sean Bruno <sbruno@FreeBSD.org>

r338270 had the side effect of no longer installing libmd.so into /lib.
For users who have a seperate zfs mount of /usr or /usr/lib, this will
cause dynamic loading failures when attempting to execute zfs mount on
bootup. E.g. the system won't boot.

Including <src.opts.mk> sets SHLIBDIR, so SHLIBDIR?= has no
effect. The other lib/ Makefiles solve this problem by moving the
SHLIBDIR assignment to before .include <src.opts.mk>.

Submitted by: jilles
Reviewed by: allanjude
Approved by: re (rgrimes)
Differential Revision: https://reviews.freebsd.org/D16910


# c91575ce 23-Aug-2018 Alex Richardson <arichardson@FreeBSD.org>

Don't build skein_block_asm.s if we don't have an as binary

This fixes building libmd on MacOS/Linux. The real fix is probably to
build it as a .S file with $CC instead. It might also be better to just
compile the C file in userspace since the compiler can the use SSE/AVX.

Reviewed By: emaste, brooks
Approved By: jhb (mentor)
Differential Revision: https://reviews.freebsd.org/D16844


# 078018e0 20-Aug-2018 Alex Richardson <arichardson@FreeBSD.org>

Allow bootstrapping libmd on MacOS

The assembly files use directives that only work for ELF targets so skip
them when bootstrapping on MacOS.

Reviewed By: imp
Approved By: jhb (mentor)
Differential Revision: https://reviews.freebsd.org/D14247


# 8ff3cdd1 09-Jul-2018 Conrad Meyer <cem@FreeBSD.org>

Integrate SHA2-224 with userspace components

The double compilation of the kernel sources in libmd and libcrypt is
baffling, but add yet another define hack to prevent duplicate symbols.

Add documentation and SHA2-224 test cases to libmd.

Integrate with the md5(1) command, document, and add more test cases;
self-tests pass.


# 25316863 23-May-2018 Mark Johnston <markj@FreeBSD.org>

Revert r334090.

It causes the 32bit compat build of libmd to fail with:

libmd/rmd160c.c:86:9: error: 'ripemd160_block' macro redefined
#define ripemd160_block ripemd160_block_x86
^
libmd/ripemd.h:122:9: note: previous definition is here
#define ripemd160_block _libmd_ripemd160_block


# 272b99f7 23-May-2018 Eitan Adler <eadler@FreeBSD.org>

libmd: build with WARNS=1

- build with WARNS=1. This works without any changes
- remove two unused variables noticed at WARNS=2


# 929b476a 01-Jul-2017 Allan Jude <allanjude@FreeBSD.org>

Increase loop unrolling for skein hashes

This patch was inspired by an opposite change made to shrink the code
for the boot loader.

On my i7-4770, it increases the skein1024 speed from 470 to 550 MB/s

Reviewed by: sbruno
MFC after: 1 month
Sponsored by: ScaleEngine Inc.
Differential Revision: https://reviews.freebsd.org/D7824


# a1b9cad5 06-Mar-2017 Bryan Drewery <bdrewery@FreeBSD.org>

Fix bootstrapping libmd on older systems after r314709.

This follows another fix to bootstrap libmd after r313404. The
MD5FileChunk prototype is needed to build libmd, but it is
only reliably in the src tree's sys/md5.h header. Rather than
polluting the legacy build with this header for the entire build,
just symlink it in here for now as is done in the elftoolchain
build. Libmd is already referencing other src tree headers by
its used of CFLAGS+= ${SRCTOP}/sys/crypto/sha2. This, and
other uses of CFLAGS+= ${SRCTOP}/sys..., may later change to
be in the legacy mechanism.

Reported by: bde, ian, sjg
Tested by: ian


# 49233bae 19-Jan-2017 Enji Cooper <ngie@FreeBSD.org>

Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones

This simplifies pathing in make/displayed output

MFC after: 3 weeks
Sponsored by: Dell EMC Isilon


# 60a4cd84 21-Jul-2016 Ed Maste <emaste@FreeBSD.org>

libmd: strip local absolute symbols (to link with lld)

Old versions of gas produce an invalid section index. That is ignored by
old versions of ld, but prevents a link with lld.

Submitted by: Rafael Ávila de Espíndola (earlier version)
Reviewed by: allanjude
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D6789


# 1780e407 28-May-2016 Allan Jude <allanjude@FreeBSD.org>

Implement SHA-512 truncated (224 and 256 bits)

This implements SHA-512/256, which generates a 256 bit hash by
calculating the SHA-512 then truncating the result. A different initial
value is used, making the result different from the first 256 bits of
the SHA-512 of the same input. SHA-512 is ~50% faster than SHA-256 on
64bit platforms, so the result is a faster 256 bit hash.

The main goal of this implementation is to enable support for this
faster hashing algorithm in ZFS. The feature was introduced into ZFS
in r289422, but is disconnected because SHA-512/256 support was missing.
A further commit will enable it in ZFS.

This is the follow on to r292782

Reviewed by: cem
Sponsored by: ScaleEngine Inc.
Differential Revision: https://reviews.freebsd.org/D6061


# a70cba95 04-Feb-2016 Glen Barber <gjb@FreeBSD.org>

First pass through library packaging.

Sponsored by: The FreeBSD Foundation


# 7a3f5d11 27-Dec-2015 Allan Jude <allanjude@FreeBSD.org>

Replace sys/crypto/sha2/sha2.c with lib/libmd/sha512c.c

cperciva's libmd implementation is 5-30% faster

The same was done for SHA256 previously in r263218

cperciva's implementation was lacking SHA-384 which I implemented, validated against OpenSSL and the NIST documentation

Extend sbin/md5 to create sha384(1)

Chase dependancies on sys/crypto/sha2/sha2.{c,h} and replace them with sha512{c.c,.h}

Reviewed by: cperciva, des, delphij
Approved by: secteam, bapt (mentor)
MFC after: 2 weeks
Sponsored by: ScaleEngine Inc.
Differential Revision: https://reviews.freebsd.org/D3929


# 3a6dcb1f 11-Jul-2015 Craig Rodrigues <rodrigc@FreeBSD.org>

Add new include path for sha256.h

This fixes the bootstrap build on FreeBSD 10.

Submitted by: andrew


# 18b2ee82 15-Jun-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Revert r284417 it is not necessary anymore


# 4232f826 15-Jun-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Enforce overwritting SHLIBDIR

Since METAMODE has been added, sys.mk loads bsd.mkopt.mk which ends load loading
bsd.own.mk which then defines SHLIBDIR before all the Makefile.inc everywhere.

This makes /lib being populated again.

Reported by: many


# 2dd0a89c 11-May-2015 Thomas Quinot <thomas@FreeBSD.org>

Unbreak MIPS build following rev. 282726

Introduce further adjustments to the renaming of libmd
symbols: make sure that we do not generate dangling weak
aliases, as this causes build failures on MIPS.

Tested by: sbruno


# 8083f14f 15-Mar-2014 John-Mark Gurney <jmg@FreeBSD.org>

replace the kernel's version w/ cperciva's implementation... In all
my tests, it is faster ~20%, even on an old IXP425 533MHz it is ~45%
faster... This is partly due to loop unrolling, so the code size does
significantly increase... I do plan on committing a version that
rolls up the loops again for smaller code size for embedded systems
where size is more important than absolute performance (it'll save ~6k
code)...

The kernel implementation is now shared w/ userland's libcrypt and
libmd...

We drop support for sha256 from sha2.c, so now sha2.c only contains
sha384 and sha512...

Reviewed by: secteam@


# 9b9c3018 27-Apr-2012 David E. O'Brien <obrien@FreeBSD.org>

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


# 3b50f6bf 09-Apr-2011 Mark Murray <markm@FreeBSD.org>

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


# 152e60f2 15-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

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


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# daaf5759 02-Jan-2010 Ed Schouten <ed@FreeBSD.org>

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.


# 83720896 02-Dec-2008 Poul-Henning Kamp <phk@FreeBSD.org>

Make the "test" target test the compiled version, instead of the
installed version of the md library.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 186c183c 09-Mar-2005 Colin Percival <cperciva@FreeBSD.org>

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


# 5c3a55de 26-Feb-2004 Bruce Evans <bde@FreeBSD.org>

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".


# 4f4a104e 18-Aug-2003 David E. O'Brien <obrien@FreeBSD.org>

style.Makefile(5)


# 41d8423f 17-Aug-2003 Gordon Tetlow <gordon@FreeBSD.org>

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.


# 66422f5b 16-Sep-2002 Peter Wemm <peter@FreeBSD.org>

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


# 11c456c0 10-Apr-2002 Ruslan Ermilov <ru@FreeBSD.org>

Don't build manuals at inappropriate time.
Collapse generation of md[245].3 manpages.


# 4a558355 27-Mar-2001 Ruslan Ermilov <ru@FreeBSD.org>

MAN[1-9] -> MAN.


# 8a24546c 17-Mar-2001 Poul-Henning Kamp <phk@FreeBSD.org>

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


# d05257b0 14-Jan-2000 Rodney W. Grimes <rgrimes@FreeBSD.org>

Replace beforeinstall target with new variables used by .mk system.

Reviewed by: marcel, and make world


# 7f3dea24 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# 5365c4e7 02-Mar-1999 Andrey A. Chernov <ache@FreeBSD.org>

add more MLINKS


# 303dec3b 28-Feb-1999 Garrett Wollman <wollman@FreeBSD.org>

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).


# d00ed299 26-Feb-1999 Garrett Wollman <wollman@FreeBSD.org>

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.


# c177a86b 25-Feb-1999 Garrett Wollman <wollman@FreeBSD.org>

Fix bug in MDx test suite.
Add Eric Young's SHA-[01] implementations.


# d3b89ae3 11-Nov-1998 John Polstra <jdp@FreeBSD.org>

Build libmd shared for a.out too. Required for some PAM modules.


# c0f3e0b9 10-Sep-1998 Warner Losh <imp@FreeBSD.org>

$@ -> ${.TARGET}


# 8deb7ff0 29-Aug-1998 John Birrell <jb@FreeBSD.org>

BINFORMAT -> OBJFORMAT ready for E-day.


# c8151f7b 19-Mar-1998 Bruce Evans <bde@FreeBSD.org>

Don't use the beforedepend target. It was a no-op here except for
helping bsd.dep.mk break `make -jN depend'.


# 1840bd14 05-Sep-1997 Peter Wemm <peter@FreeBSD.org>

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.


# 7e546392 22-Feb-1997 Peter Wemm <peter@FreeBSD.org>

Revert $FreeBSD$ to $Id$


# 1130b656 14-Jan-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

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.


# 62217f35 29-Aug-1996 Peter Wemm <peter@FreeBSD.org>

cmp -s || install -c ==> install -C, use a .for loop


# c896bf91 09-Feb-1996 Poul-Henning Kamp <phk@FreeBSD.org>

Don't install mdX.3, it's the template used to build the other pages.


# 5dc3e051 09-Feb-1996 Poul-Henning Kamp <phk@FreeBSD.org>

Bill was a little to fast here...


# 6fad16fd 09-Feb-1996 Mike Pritchard <mpp@FreeBSD.org>

Add some missing MLINKS, correct some cross references, correct some
file locations and some minor formatting/style problems.


# c211e812 08-Feb-1996 Mike Pritchard <mpp@FreeBSD.org>

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.


# d49b5c24 06-Sep-1995 David Greenman <dg@FreeBSD.org>

Back out that last change; we don't build this shared.


# ed79e030 06-Sep-1995 David Greenman <dg@FreeBSD.org>

Bumped shared lib rev to 2.1.


# 48cfb668 05-Aug-1995 Bruce Evans <bde@FreeBSD.org>

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.


# 05f65b29 12-Jul-1995 Poul-Henning Kamp <phk@FreeBSD.org>

Change this to do what it should have done from the start.
Add argument for buffer for output.
Fix manuals.


# 6c06b4e2 29-May-1995 Rodney W. Grimes <rgrimes@FreeBSD.org>

Remove trailing whitespace.


# f932e96d 23-Jan-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Eliminate a bogus tab.


# a78d3e07 01-Nov-1994 Paul Traina <pst@FreeBSD.org>

Clean up beforeinstall


# 345ee1c6 18-Sep-1994 Poul-Henning Kamp <phk@FreeBSD.org>

Added beforeinstall rule to install .h files. We might need some .mk
support for this kind of thing. Look at src/Makefile target "includes".


# 9d8044d0 18-Sep-1994 Poul-Henning Kamp <phk@FreeBSD.org>

libmd no longer built as shared-lib, only static.
Renamed the beforeinstall to test.


# a9d26259 08-Sep-1994 Bruce Evans <bde@FreeBSD.org>

Build *.3 and *.ref at build time, not at install time.


# 5fb32aad 03-Sep-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Make mddriver static.
Submitted by: jkh


# d160679a 28-Aug-1994 Bruce Evans <bde@FreeBSD.org>

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.


# 0609e634 25-Aug-1994 Paul Richards <paul@FreeBSD.org>

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

Submitted by: Paul Richards


# 71053682 08-Aug-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

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


# 0abc7bfc 04-Aug-1994 Garrett Wollman <wollman@FreeBSD.org>

Make obj directory work right. md?hl.c should probably be
deleted, but I'll leave that up to PHK.


# c9502b53 23-Jul-1994 Poul-Henning Kamp <phk@FreeBSD.org>

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.