freebsd-dev/usr.bin/make
Kris Kennaway 0937df81ca Introduce support for using OpenSSL ASM optimizations. This is done
through the use of a new build directive, MACHINE_CPU, which contains a
list of the CPU generations/features for which optimizations are desired.
This feature will be extended to cover the ports tree in the future.

Currently OpenSSL provides optimizations for i386, i586 and i686-class
CPUs. Currently it has not been tested on an i386 or i486.

Teach make(1) to provide sensible defaults for MACHINE_CPU if it is not
defined (namely, the lowest common denominator CPU we support for each
architecture).  Currently this is i386 for the i386 architecture and ev4
for the alpha.  sys.mk also sets the variable as a last resort for
consistency with MACHINE_ARCH and bootstrapping from very old versions of
make.

Benchmarks show a significant speed increase even in the i386 case, with
additional improvements for i586 and i686 systems.  For maximum performance
define MACHINE_CPU=i686 i586 i386 in /etc/make.conf.

Based on a patch submitted by:  Mike Silbersack <silby@silby.com>
Reviewed by:    current
2001-02-19 03:59:05 +00:00
..
lst.lib There's also no point in #typedef'ing void/char pointers. Accordingly, 2000-12-02 20:24:42 +00:00
PSD.doc Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
arch.c Fix a bug introduced in rev. 1.17: initialize variables before use, not after. 2000-12-16 02:14:37 +00:00
buf.c Use __RCSID() 2000-07-09 02:54:54 +00:00
buf.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
compat.c There's also no point in #typedef'ing void/char pointers. Accordingly, 2000-12-02 20:24:42 +00:00
cond.c There's also no point in #typedef'ing void/char pointers. Accordingly, 2000-12-02 20:24:42 +00:00
config.h Allow use of the ${MAKE_SHELL} variable to specify alternate shells for 2000-08-16 23:31:43 +00:00
dir.c Fix nasty bug where make(1) assumed that you could read the directory it 2001-02-10 07:12:18 +00:00
dir.h There's also no point in #typedef'ing void/char pointers. Accordingly, 2000-12-02 20:24:42 +00:00
for.c There's also no point in #typedef'ing void/char pointers. Accordingly, 2000-12-02 20:24:42 +00:00
hash.c There's no reason to use fancy forms of NULL. Replace all instances 2000-12-02 18:58:01 +00:00
hash.h There's also no point in #typedef'ing void/char pointers. Accordingly, 2000-12-02 20:24:42 +00:00
job.c Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
job.h There's no reason to use fancy forms of NULL. Replace all instances 2000-12-02 18:58:01 +00:00
list.h There's no reason to use fancy forms of NULL. Replace all instances 2000-12-02 18:58:01 +00:00
lst.h There's also no point in #typedef'ing void/char pointers. Accordingly, 2000-12-02 20:24:42 +00:00
main.c Introduce support for using OpenSSL ASM optimizations. This is done 2001-02-19 03:59:05 +00:00
make.1 Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
make.c There's also no point in #typedef'ing void/char pointers. Accordingly, 2000-12-02 20:24:42 +00:00
make.h Fix style(9) bug; use ISDOT[DOT,]() macro available in util.c by moving 2001-01-21 08:24:41 +00:00
Makefile Assume MAINTAINER. I will be taking the job of merging NetBSD/OpenBSD 2000-09-29 19:51:48 +00:00
Makefile.dist
nonints.h There's also no point in #typedef'ing void/char pointers. Accordingly, 2000-12-02 20:24:42 +00:00
parse.c Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
pathnames.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
sprite.h There's also no point in #typedef'ing void/char pointers. Accordingly, 2000-12-02 20:24:42 +00:00
str.c There's also no point in #typedef'ing void/char pointers. Accordingly, 2000-12-02 20:24:42 +00:00
suff.c Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
targ.c Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
util.c Fix style(9) bug; use ISDOT[DOT,]() macro available in util.c by moving 2001-01-21 08:24:41 +00:00
var.c There's also no point in #typedef'ing void/char pointers. Accordingly, 2000-12-02 20:24:42 +00:00