Commit Graph

1314 Commits

Author SHA1 Message Date
obrien
5568092622 Use >= so we can use the actual WARNS levels. 2005-01-16 21:08:31 +00:00
ru
24bdd9ea52 Revert previous revision. Including bsd.compat.mk is necessary
both from sys.mk (to handle old knobs set in /etc/make.conf),
and from here (to handle old knobs set in individual makefiles).
2005-01-09 12:55:47 +00:00
krion
09885bc66a Remove trailing spaces. 2005-01-06 11:12:43 +00:00
ru
00b956726a Include bsd.compat.mk early from sys.mk, enough for makefiles
using conditional statements to see the new spellings of NO_*
knobs (in case user still uses old spellings).

Reported by:	kris
2004-12-23 08:51:50 +00:00
ru
c8158555ed NOPAM -> NO_PAM 2004-12-21 12:49:24 +00:00
ru
bb6ad7dcac NOFORTH -> NO_FORTH 2004-12-21 12:32:15 +00:00
ru
29be3c915e NOCLEAN -> NO_CLEAN
NOCLEANDIR -> NO_CLEANDIR
2004-12-21 12:21:26 +00:00
ru
68c5efb791 NOSHARE -> NO_SHARE 2004-12-21 12:13:23 +00:00
ru
8f62cc9941 NOHTML -> NO_HTML 2004-12-21 12:05:11 +00:00
ru
5c04306fea NOINET6 -> NO_INET6 2004-12-21 10:49:29 +00:00
ru
f6f8222630 NOGAMES -> NO_GAMES 2004-12-21 10:36:54 +00:00
ru
f4c44b761b NOCRYPT -> NO_CRYPT 2004-12-21 10:16:04 +00:00
ru
c1a820195c NOSHARED -> NO_SHARED 2004-12-21 09:59:45 +00:00
ru
0b2edb3a9b NOFSCHG -> NO_FSCHG 2004-12-21 09:53:14 +00:00
ru
e1caf1330c NOINSTALLLIB -> NO_INSTALLLIB 2004-12-21 09:51:09 +00:00
ru
c2e515500a NOMLINKS -> NO_MLINKS 2004-12-21 09:44:43 +00:00
ru
4b9f1e21d7 NOTAGS -> NO_TAGS 2004-12-21 09:43:25 +00:00
ru
0fd3f0e793 NOEXTRADEPEND -> NO_EXTRADEPEND 2004-12-21 09:42:10 +00:00
ru
74176cc161 NODOCCOMPRESS -> NO_DOCCOMPRESS
NOINFO -> NO_INFO
NOINFOCOMPRESS -> NO_INFOCOMPRESS
NOLINT -> NO_LINT
NOPIC -> NO_PIC
NOPROFILE -> NO_PROFILE
2004-12-21 09:33:47 +00:00
ru
3b01b84505 NOATM -> NO_ATM 2004-12-21 09:08:06 +00:00
ru
ba3655c74f NOLIBC_R -> NO_LIBC_R
NOLIBPTHREAD -> NO_LIBPTHREAD
NOLIBTHR -> NO_LIBTHR
2004-12-21 09:00:26 +00:00
ru
cec60429bb Start the dreaded NOFOO -> NO_FOO conversion.
OK'ed by:	core
2004-12-21 08:47:35 +00:00
paul
3b39879086 If PORTNAME is set in a system Makefile then hook into the ports
mechanisms to allow a package to be created. This paves the way
for packaging the main tree.
2004-12-20 15:46:56 +00:00
obrien
e0d65a7ca4 Rev 1.44 was a little over-zealous for FreeBSD/AMD64, trim. 2004-12-11 18:36:42 +00:00
jhb
8bf149c906 No need to add I386_CPU to CFLAGS here for 80386 systems as they are no
longer supported.
2004-11-16 21:12:47 +00:00
bz
4b83c5852a Add knob NO_NIS (fka NO_YP_LIBC) and make world compileable when set.
If turned on  no NIS support and related programs will be built.

Lost parts rediscovered by:	Danny Braniss <danny at cs.huji.ac.il>
PR:		bin/68303
No objections:	des, gshapiro, nectar
Reviewed by:	ru
Approved by:	rwatson (mentor)
MFC after:	2 weeks
2004-11-13 20:40:32 +00:00
ru
3ff8bfc8dc Install precious programs with -S. 2004-11-12 13:24:34 +00:00
obrien
0405976085 Compiling with 'strict-aliasing' optimization breaks some [notable] ports.
GCC turns on 'strict-aliasing' optimization at all levels above -O[1], so
explicitly turn it off when using compiling with the -O2 optimization level.
2004-11-11 01:09:56 +00:00
ru
f0fbc30e0d Introduce the PRECIOUSPROG knob in bsd.prog.mk, similar
to PRECIOUSLIB from bsd.lib.mk.  The side effect of this
is making installing the world under jail(8) possible by
using another knob, NOFSCHG.

Reviewed by:	oliver
2004-11-03 18:01:21 +00:00
des
56a78f3cfb Switch the default CFLAGS to -O2 -pipe.
Submitted by:	obrien
2004-10-25 20:04:50 +00:00
ru
5db2b9d5b3 For variables that are only checked with defined(), don't provide
any fake value.
2004-10-24 15:33:08 +00:00
obrien
f1ecee461a Define "I386_CPU" if CPUTYPE is 'i386'. Userland bits can check for "I386_CPU"
to determine if they should select code paths suitable for the 80386 CPU.

Suggested by:	ru
2004-10-19 17:25:33 +00:00
obrien
db19430bea Embellish the AMD64 sections a little. Including supporting 'nocona'. 2004-10-17 05:19:45 +00:00
obrien
469c182b4d + Simplify by treating the standard x86 CPU names as the CPUTYPE vs.
treating them as an alias.  Treat the shorthand versions as aliases.
+ Separate the x86 GCC CPU CFLAGS from the ICC CFLAGS.  This greatly
  simplifies the GCC section.  It also makes it more clear which CPU's
  have the same ICC CPU CFLAGS.
+ Remove redundancy in the alpha section.
+ Add forgotten ICC CPU CFLAGS for the mobile Intel CPU's added in rev. 1.42.
2004-10-17 05:08:29 +00:00
des
e7198173ce Add support for Pentium M, Pentium 3M and Pentium 4M.
PR:		i386/72340
Submitted by:	Rong-En Fan <rafan@infor.org>
MFC after:	2 weeks
2004-10-07 09:56:48 +00:00
ru
72ee9a6204 Install precious shared libraries with -S.
Prodded by:	Xin LI
2004-10-01 07:57:02 +00:00
trhodes
632ac71095 Fix build in the !NOATM case by using the begemot library in place of
using libisc which was a part of BIND8.

Discussed with:	des, re, dougb
Submitted by:	harti (one part)
Reviewed by:	harti (previous version)
2004-09-24 22:10:34 +00:00
dougb
389acf125b Fix the WANT_BIND_LIBS knob by correctly spelling it as WITH_BIND_LIBS
to match how similar syntax is used in the ports system. Thanks to kris
for pointing out my mistake here.

Install the lwres library unless the user defines NO_BIND, or the new
knob, NO_BIND_LIBS_LWRES. There is at least one potential customer
for this library in the wings. Thanks to nectar for the reminder.
2004-09-24 18:42:05 +00:00
ru
03cf2e6303 Don't expose BIND libraries and their headers to the public by default,
but have a knob (WANT_BIND_LIBS) to build and install them in /usr/lib
and /usr/include.  Rumors are that this may be useful at a later point,
let's see.

What this really means is that all BIND libraries are now internal to
buildworld (by default, unless WANT_BIND_LIBS is defined), and linked
statically into various BIND executables.

While here, removed redundant -I's from CFLAGS in lib/bind makefiles.

Sponsored by:	des
OK'ed by:	dougb
2004-09-24 13:42:00 +00:00
cognet
c633cdf68b Add CPUCFLAGS for the strongarm and xscale CPUs. 2004-09-23 22:59:31 +00:00
ru
a5b75e6c38 - Wrapped BIND 9 libraries defines into !defined(NO_BIND).
- Added forgotten LIBLWRES to fix missing dependencies
  revealed by "make checkdpadd".
2004-09-23 07:13:36 +00:00
des
a4c12f8006 Switch from BIND 8 to BIND 9.
Submitted by:	(in part) dougb@, trhodes@
Reviewed by:	dougb@, trhodes@, re@
MFC after:	5 days
2004-09-21 19:01:48 +00:00
imp
e088e43c3d Although 'Unanimous Consent' appears to be a well defined and used in
the US Senate, Canadian Parliament and Australian Senate, it was
causing some confusion.  After some consultation with Mark Murray,
change this to 'without objection' since often times a plain-speaking
term is preferable to a regionally used term.

Also, clarify that this procedure is to be used when for more mundane
matters that need a sanity check, but don't need the whole, ponderous
voting proceedure that more difficult issues require.  Core members
that read email in any given 48 hour period are trusted enough to know
the difference and to provide the sanity check as necessary.

Reviewed by: markm
2004-09-07 15:19:40 +00:00
ru
98087389a3 Removed COPTS support from kmod.mk and kern.pre.mk.
COPTS support in bsd.prog.mk is preserved but discouraged.
2004-08-13 14:30:26 +00:00
obrien
f24c4fd00f Add more aliases for common CPUTYPE spellings 2004-08-11 21:51:27 +00:00
obrien
de0b884134 The last commit had one too many libs. 2004-08-11 19:19:26 +00:00
harti
273eef07a6 Use the '+' flag to make make recurse into sub-directories even when
given -n. For POLA reasons this behaviour is switched on only when
at least two -n flags are given to make. One -n flag keeps the old behaviour
of showing the shell command that would recurse into the sub-directories.

Discussed with: ru
2004-08-09 10:54:05 +00:00
obrien
cf4883977c Bmake the library containing and processing the magic. 2004-08-09 08:48:28 +00:00
obrien
5a8f74ead8 Consistently list _CPUCFLAGS. 2004-08-02 04:19:22 +00:00
eik
311c5a0637 Enable testing of customized variants of bsd.port.mk and
bsd.port.subdir.mk, without the overhead of an additional ports tree.

Use
  make BSDPORTMK='${PORTSDIR}/My.Mk/bsd.port.mk' target
and
  make BSDPORTSUBDIRMK='${PORTSDIR}/My.Mk/bsd.port.subdir.mk' target

to build with the alternate versions.

MFC after:	3 days
2004-07-02 20:47:18 +00:00
bde
c62cf4ddbd Fixed style bugs in previous commit (151 characters of trailing whitespace). 2004-06-21 16:12:02 +00:00
pjd
7a9e41c110 - Missing trailing slash for a kern directory check.
- Check in both places if ${_dir}/conf/kmod.mk exists.
- Style fixes (lines too long).

Submitted by:	bde
2004-06-21 08:41:50 +00:00
pjd
861ab9f6f2 Check if ${_dir}/kern exists as well, because if it doesn't exists
we will fail later and we can miss good kernel source tree directory.
I found this trying to compile kld module and it finds 'conf/kmod.mk'
in '../..', but it fails later, because there is no 'kern' directory,
but there is valid kernel source tree still in /usr/src/sys/.
2004-06-18 16:38:42 +00:00
cognet
68c2ae3337 Define MACHINE_CPU for arm. 2004-05-14 13:34:15 +00:00
bde
32fb306df4 Moved FreeBSD build pollution (/etc/make.conf) and zombie aout support
(OBJFORMAT) into a non-POSIX section.
2004-05-12 22:53:52 +00:00
bde
385a8b9165 Removed conditional include of /etc/make.conf.local and the error for the
existence of this file.  This stopped working more than 4 years ago when
the generation of the error was added in rev.1.44.  The .error directive
gives fatal errors, so stale /etc/make.conf.local files must have been
gone away more than 4 years on systems where make(1) works.
2004-05-12 21:51:11 +00:00
des
34071d54d5 -W{missing,strict}-prototypes do not make sense for C++, and gcc34 will
complain about them, so remove them from CXXFLAGS.
2004-05-10 12:14:18 +00:00
des
e24f4ce2d9 Add SHLIB as a shortcut for shared-only libraries.
Not objected to by: bde, ru
2004-05-07 09:58:36 +00:00
ru
24a278dc58 g++(1) is unhappy with -Wnested-externs.
Prodded by:	des
2004-04-20 15:16:07 +00:00
ru
0807140c6b Mark the "obj" target with the .PHONY attribute. 2004-04-13 12:36:00 +00:00
dfr
fff0eafd3d Add ${CPUTYPE} support for crusoe processors (cribbed from Linux kernel
settings). Pretend that a crusoe is an i686 which doesn't like alignment
padding.
2004-04-05 09:55:50 +00:00
marcel
a02786e154 Add a reference to the ia64 options to gcc. While here, sort the list. 2004-03-21 04:57:24 +00:00
trhodes
c1888d71d1 Remove whitespace at EOL. 2004-03-15 17:01:31 +00:00
trhodes
1ff837cfce Fix some style bugs in previous commit.
Fix 'broken' ifdefs.
icc does not support profiling yet so remove unfinished code which was
supposed to help.

Submitted by:	netchild (original version)
Reviewed by:	ru
2004-03-14 01:29:05 +00:00
trhodes
1492567af1 This are the build infrastructure changes to allow to use the
Intel C/C++ compiler (lang/icc) to build the kernel.

The icc CPUTYPE CFLAGS use icc v7 syntax, icc v8 moans about them, but
doesn't abort. They also produce CPU specific code (new instructions
of the CPU, not only CPU specific scheduling), so if you get coredumps
with signal 4 (SIGILL, illegal instruction) you've used the wrong
CPUTYPE.

Incarnations of this patch survive gcc compiles and my make universe.
I use it on my desktop.

To use it update share/mk, add
	/usr/local/intel/compiler70/ia32/bin	(icc v7, works)
or
	/usr/local/intel_cc_80/bin		(icc v8, doesn't work)
to your PATH, make sure you have a new kernel compile directory
(e.g. MYKERNEL_icc) and run
	CFLAGS="-O2 -ip" CC=icc make depend
	CFLAGS="-O2 -ip" CC=icc make
in it.

Don't compile with -ipo, the build infrastructure uses ld directly to
link the kernel and the modules, but -ipo needs the link step to be
performed with Intel's linker.

Problems with icc v8:
 - panic: npx0 cannot be emulated on an SMP system
 - UP: first start of /bin/sh results in a FP exception

Parts of this commit contains suggestions or submissions from
Marius Strobl <marius@alchemy.franken.de>.

Reviewed by:	silence on -arch
Submitted by:	netchild
2004-03-12 21:36:12 +00:00
bde
c66fcd0b62 Fixed indentation of conditionals.
Submitted by:	Rostislav Krasny <rosti_bsd@yahoo.com>
2004-03-05 15:59:33 +00:00
des
bc27cba087 Remove -Wbad-function-cast. Its main purpose is to catch bugs that we
already catch with -Wstrict-prototypes, and it causes spurious warnings
for some perfectly legitimate constructs.
2004-02-16 20:07:06 +00:00
kientzle
4a7e80c5fe Register libarchive in bsd.libnames.mk and mdoc.local
Submitted by:	ru
2004-02-13 01:14:38 +00:00
ru
951150d25a Two changes to aid in cleaning up sys/boot/ makefiles:
- Don't put libc.a as a dependency if program is linked with -nostdlib.

- Added INTERNALPROG (by analogy to INTERNALLIB) for programs which are
  built only for its side effect and shold not be installed.
2004-02-09 14:05:17 +00:00
ru
21fda7ee48 First round of cleanups to sys/boot/ makefiles:
- do not use PROG for what's not a real C program,
- use sys.mk transformation rules where possible,
- only create the "machine" symlink on AMD64,
- removed MAINTAINER lines in individual makefiles,
- added the LIBSTAND defitinion to <bsd.libnames.mk>,
- somewhat better contents in .depend files.

Tested on:	i386, amd64
Prodded by:	bde
2004-02-06 21:58:32 +00:00
ru
5932ce932a Temporarily put STRIP back; bsd.port.mk still needs it. 2004-02-05 20:48:44 +00:00
ru
a24e2d0f9b Don't define STRIP in bsd.own.mk. 2004-02-05 20:16:18 +00:00
ru
0cef6a966e make(1) can now handle spaces surrounding parenthesis correctly. 2004-02-05 08:44:43 +00:00
des
3d46295743 GC port.mkversion. 2004-02-05 00:07:09 +00:00
bde
d769a0fd0e Fixed breakage of POSIX support in rev.1.31. -pipe was added to
CFLAGS in all cases, but POSIX requires a default of -O.  Adding
-pipe unconditionally still is still broken for non-gcc compilers
in the non-POSIX case.
2004-02-04 14:40:44 +00:00
ru
eeb0cbd805 Nothing in libypclnt depends on librpcsvc.
Reported by:	lorder(1) (modified to work with libraries)
2004-02-04 09:53:29 +00:00
ru
9ce4a934e1 A shorter version of keeping all -std= options out of CXXFLAGS. 2004-02-03 09:40:11 +00:00
ru
3964693be1 Fixed MINUSLPAM:
- Added missing NOCRYPT and NO_OPENSSL checks for Kerberos.

- Don't depend on -lcrypto and -lcrypt in pam_ssh to resolve
  dependencies in pam_krb5 and pam_ksu -- the former may not
  be compiled at all if NO_OPENSSH knob is enabled.

- Added missing -lcrypt to pam_ssh dependencies.

- Moved librpcsvc after libypclnt.

(The last two aren't strictly speaking necessary to resolve
the dependencies of static versions of pam_ssh and pam_unix,
respectively, but they correspond to dynamic dependencies
of libssh and libypclnt, and are put here for consistency.)

In collaboration with: bde
Reviewed by:	des
2004-02-03 09:37:12 +00:00
ru
aef6df4460 GC LIBPC and LIBPLOT: they never existed in unencumbered BSD versions.
Reviewed by:	bde
2004-02-02 21:44:48 +00:00
marcel
d859198df2 Add LIBPTHREAD. 2004-01-31 17:25:18 +00:00
bde
cbb2f01880 1. Garbage-collected LIBDES (now in a different library), LIBPERL (banished
to ports) and LIBRESOLV (now in a different library.

2. Added comments about nonexistent libraries LIBPC and LIBPLOT.

Submitted by:	ru (1)
2004-01-31 03:15:50 +00:00
bde
bd35586e23 Fixed insertion sort errors for LIBBLUETOOTH and LIBSDP. 2004-01-31 03:09:10 +00:00
bde
7ca2ea57e6 Removed XXX comments about some libraries only being in the secure
distribution.  This is not the place to document this, especially
now that the secure distribution is the normal one.

Reviewed by:	ru
2004-01-31 02:51:41 +00:00
bde
2f84e3271e Fixed some style bugs (long lines). 2004-01-31 02:17:11 +00:00
jhb
822c3ce335 Drop -mcpu=pentiumpro from the default CPU flags for i386 as it doesn't
perform better than the default setting for most i386 CPUs.

Requested by:	bde
2004-01-30 19:51:26 +00:00
ru
035d02d5ec Fixed bogus ${FOO:Mbar} tests where the actual intent is to check
if the result set is empty.  While here, replaced non-bogus empty
string comparisons with equivalent empty() checks.
2004-01-27 23:22:15 +00:00
ru
c12dfd0f16 Guess better the source for object files in case .depend file is
missing and there are multiple choices using multiple inference
(suffix transformation) rules.

This is known to fix compilation of s_log1p.o in lib/msun on i386,
as otherwise it attempted to use s_log1p.S as the source (which is
marked broken) instead of legal s_log1p.c which is in CFLAGS.  The
normal case where .depend file exists is not affected.

Reviewed by:	bde
2004-01-17 18:51:55 +00:00
ru
b48a558a6b Introduce DPSRCS, that holds the list of source files which are
needed for generating dependencies.  SRCS are always part of it,
and normally only they.

This can be useful in some random cases where it's necessary to
have something in .depend that isn't part of SRCS.  This will be
used to replace a hack in lib/libpam/libpam/Makefile.
2004-01-13 17:37:45 +00:00
ru
7f5ae3ced7 - Replaced several := ops with their += equivalents; the old
form became unnecessary with the bsd.prog.mk,v 1.69 change.

- Eliminated duplicate y.tab.h in SRCS.

Reviewed by:	bde

- Complementary to the said bsd.prog.mk change, use the fact
  that inner .for loops are not real loops but a tricky form
  of a local macro for the outer loop's variable, and switch
  to using faster variable modifiers to replace extensions.
2004-01-12 15:29:47 +00:00
ru
032a5ac8ac Put the warning flags to where they belong (into CWARNFLAGS).
This allows us to easily override them when necessary, e.g.,
to selectively disable warnings in libc/ contributed sources.
2004-01-11 10:29:55 +00:00
ru
6f460d8fda Keep up with sys/conf/ changes. 2004-01-10 18:01:08 +00:00
green
7555fe73fd Fix a very corner case when you want to make cleandir SUBDIRs which
are built using a ${MAKE} that's not just "make".

Test by:	make universe (followed by cleandirs)
2004-01-02 05:05:48 +00:00
harti
addfc2e6e8 Add a define for libbsnmp. 2003-11-10 09:07:30 +00:00
harti
8d6a31fb68 Add a definition for libngatm.
Reviewed by:	ru
2003-10-27 13:51:28 +00:00
emax
41bb0e8fd2 Update Bluetooth code.
Reviewed by: M. Warner Losh <imp@bsdimp.com>; John Hay <jhay@freebsd.org>
Approved by: M. Warner Losh <imp@bsdimp.com> (mentor)
2003-10-12 22:04:24 +00:00
nectar
9d50fa1c54 Update build infrastructure for Heimdal 0.6. 2003-10-09 19:48:47 +00:00
ru
ae6ec1960e Removed the ancient .LIBS setting that causes non-existent
libraries to be reported as up-to-date.

Before:

# make -f /dev/null nonexistent.a
`nonexistent.a' is up to date.

After:

# make -f /dev/null nonexistent.a
make: don't know how to make nonexistent.a. Stop

PR:		bin/44137 (part of)
2003-10-03 20:47:37 +00:00
fjoe
571ef024e3 - Support for multibyte charsets in LIBICONV.
- CD9660_ICONV, NTFS_ICONV and MSDOSFS_ICONV kernel options
(with corresponding modules).
- kiconv(3) for loadable charset conversion tables support.

Submitted by:	Ryuichiro Imura <imura@ryu16.org>
2003-09-26 20:26:25 +00:00
markm
60e30bb741 Separate out userland linting and kernel linting a bit more. This
make things a bit easier for folks using lints other than the
"base" lint.
2003-09-26 17:49:25 +00:00
ru
34673ebfc3 - No need to create libfoo.so -> libfoo.so.X symlinks in /lib,
as it was decided that our toolchain will revert to looking
  for libraries in /usr/lib only.

- Make /usr/lib/libfoo.so -> /lib/libfoo.so.X symlinks absolute
  so that they still work if /usr is symlinked.

- Remove stale /usr/lib/libfoo.so.X libraries during install.

Discussed with:	gordon, obrien, peter
2003-09-07 14:15:40 +00:00
ru
158b38338d Implement sed(1) commands using the make(1)'s RE variable modifier.
(This almost eliminates the need of a sed(1) during installworld.)
2003-09-07 12:59:22 +00:00
peter
06abe0101f Emergency backout of rev 1.152. This is a 100% guaranteed way to totally
hose your system.  You end up with just about everything statically linked
(except for libpam.so), which then causes all the pam users to fail.
eg: login, sshd, su etc all stop working because dlopen no longer works
because there is no libc.so in memory anymore.

gcc passes -L/usr/lib to ld.  The /usr/lib/libxxx.so symlink is *not* a
compatability link.  It is actually the primary link.  There should be no
symlinks in /lib at all.  Only /lib/libXX.so.Y.

peter@daintree[9:27pm]/usr/bin-104> file yppasswd
yppasswd: setuid ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 5.1.1, dynamically linked (uses shared libs), stripped
peter@daintree[9:27pm]/usr/bin-105> ldd yppasswd
yppasswd:
        libpam.so.2 => /usr/lib/libpam.so.2 (0x280d1000)
peter@daintree[9:28pm]/usr/bin-106>

Note no libc.so.5.  Hence libpam.so.2 has unresolved dependencies.

I believe this is also the cause of the recent buildworld failures when
pam_krb5.so references -lcrypto stuff etc and when librpcsvc.so references
des_setparity() etc.

This change could not possibly have worked, unless there are other missing
changes to the gcc configuration.  It won't work with ports versions of
gcc either.
2003-09-04 04:29:11 +00:00
ru
1e549f16bc As ld(1) was taught to look into /lib, there's no longer a reason
for having compatibility .so symlinks.

Submitted by:	obrien
Reviewed by:	gordon
2003-09-03 06:31:50 +00:00
ru
0bed259e82 Whitespace diff reduction between bsd.prog.mk and bsd.lib.mk outputs. 2003-08-31 15:20:17 +00:00
obrien
ed2501355f Fix typo.
Submitted by:	Ulrich Spoerlein <q@uni.de>
2003-08-18 00:33:35 +00:00
gordon
61c5e684cc When creating .so symlinks, use SHLIBDIR instead of LIBDIR so symlinks
are created in the correct location. Always make them. For libraries
that live in /lib, this causes a /lib/libfoo.so and a compatibility
/usr/lib/libfoo.so to be created. We may want to drop the
/usr/lib/libfoo.so symlink at some future point.
2003-08-17 23:56:29 +00:00
gordon
c455fd684d Handle the case where SHLIBDIR != LIBDIR. When creating links, we
need relative pathing to work correctly. This is s necessary step
for putting libraries in /lib while the .so symlinks still live
in /usr/lib.

This should be a big NOOP in the case where SHLIBDIR == LIBDIR.
2003-08-17 07:42:50 +00:00
mux
adb7e9909e Since -march=pentium4 is supposed to be fixed with GCC 3.3, and
since people have been reporting success with it, re-enable the
pentium4 optimization.
2003-07-13 10:34:09 +00:00
bde
696003930f Use make(1) instead of a shell script to implement the checkdpadd target.
This is simpler, and is easy to do now that make(1) supports substituting
regexps.  Fixed missing '$' anchor in the regexp.  Use less cryptic names
for temporary variables.

Submitted by:	ru (early version)
Reviewed by:	ru
2003-07-03 11:43:57 +00:00
ru
9e382c20d5 Libraries come. 2003-07-02 23:57:29 +00:00
ru
b37cc8df23 Sort. 2003-07-02 23:54:37 +00:00
ru
8a923fea13 Don't trust sys.mk,v 1.61 commit log, and make .asm alias for .S. 2003-07-02 17:03:28 +00:00
ru
bd43451437 The .s files do not have to be preprocessed with cpp(1). 2003-07-02 16:43:07 +00:00
ru
dc7e39e87b Revert to using as(1) to compile plain assembler source files.
All .s files that need cpp(1) processing (see gcc(1) manpage's
DESCRIPTION section) have been repo-copied to .S files.  This
is mostly to bring bsd.lib.mk in agreement with sys.mk.

Desired by:	obrien
2003-07-02 12:41:04 +00:00
ru
40666ef4a4 There's no reason to keep separate AINC knob anymore.
The only real use of it (lib/libc/Makefile) has been
fixed, and if necessary, the contents of AINC should
be added to CFLAGS.

Explained by:	bde
2003-07-01 15:15:45 +00:00
ru
7e2e5a882d Propagate the ${AINC} knob (assembler include) to sys.mk,
and remove the .S.o transformation rule from bsd.lib.mk.
2003-06-30 20:02:46 +00:00
ru
d3f9a6af56 Removed suffix-transformation rules that are duplicates
(or are subsets) of the corresponding rules in sys.mk.
2003-06-30 19:48:14 +00:00
ru
e36739ab6c The use of ld(1) to strip compiler local and non-global
symbols from object files has bitrotted over the last
thirteen years, and it now does more harm than good.

An attempt to work around the problems caused by using
ld(1) for stripping was to pass LDFLAGS to the ld(1)
command, but this was not right either as ${LDFLAGS}
should, by design, be used with cc(1) and not ld(1).

One of the proposed solutions was to use the objcopy(1)
utility to do the strip work, and the other would be to
use strip(1), but Bruce Evans suggested not stripping
any symbols at all.  This works by leaving the grunt
work to the final strip(1) command (when installing the
binary).

Submitted by:	bde
2003-06-30 19:03:56 +00:00
gordon
040430fc2e Add ${CRUNCH_CFLAGS} support for adding compile options to crunch
components. This is generally considered a non-optimal solution but
it gets the job done for the /rescue case.

Submitted by:	Tim Kientzle <kientzle@acm.org>
2003-06-29 18:16:26 +00:00
peter
1b80a1cccb Be consistent about the use of ${LDFLAGS} for the internal rules. Some
were missing.  This made it difficult to add backend ABI overrides when
building shared libs.
2003-06-26 01:01:48 +00:00
imp
93442457e1 Put on the core hat and back out all of the CSTD= changes. Core will
deal with working with the parties to define a coherent definition for
CSTD that doesn't break things.

Core hat seconded by: markm
2003-06-14 17:41:59 +00:00
des
5d547700c7 Revert to a known-good state. Anyone desiring to experiment with stricter
global settings is free to do so in his or her own source tree.
2003-06-14 11:57:44 +00:00
peter
db4799b484 Build/install the PIC version of libgcc (libcc_pic.a) for use by shared
libraries that do exception unwinding.
2003-06-13 22:07:39 +00:00
peter
bc201df6b8 We cannot use c99 on amd64 either due to lack of alloca(). libc:strptime()
uses alloca() and alloca is impossible to implement as a callable function
on amd64.  It has to be a compiler builtin.  Note that the bigger problem
is that libc is not c99 clean internally.
2003-06-13 21:54:21 +00:00
obrien
a4cd3eb263 Remove NOSHLIBS, users can get by with NOPIC.
Desired by:	ru
2003-06-10 04:47:49 +00:00
obrien
9b92f918c2 Be C std strict on i386 and amd64 as we can. Be loose on Alpha and ia64. 2003-06-07 08:05:35 +00:00
obrien
93e4e9df9b Compile our code as C99 w/GNU extensions by default.
We can't use straight "c99" due to the lack of alloca.S for non-i386 platforms.
2003-06-06 16:55:05 +00:00
markm
07c361bdc3 Update some library names. Libraries come, libraries go. 2003-06-04 15:36:57 +00:00
obrien
5c52044b3d I got a bazzar bug report 2003-06-02 08:10:57 +00:00
obrien
4f1dd109b8 Turn back on c99, the tree should be ready for it now. 2003-06-02 06:26:14 +00:00
obrien
c2c5b39ab7 To quote Tony Maher <tonymaher@optushome.com.au>, "maybe 3rd time lucky ;-)"
*sigh* Just can't get a brake when trying to react too quickly and fix the build.
2003-06-02 01:01:42 +00:00
obrien
e15b452288 Temperarly turn off building the tree with c99.
I swore this made it thru a 'make world', but I don't know what happened.
2003-06-02 00:11:07 +00:00
obrien
45f07c7359 Use a bigger hammer -- keep all -std= out of CXXFLAGS.
Also allow for "CSTD=" in a Makefile.
2003-06-01 22:13:45 +00:00
obrien
00cddc9c66 Do not set a C standard for the C++ compiler. 2003-06-01 21:33:05 +00:00
obrien
07f2e845ae Compile our code as C99 by default. 2003-06-01 18:31:25 +00:00
obrien
8c39502975 CSTD is virtually worthless for WARNS=2-5. Return -pedantic to WARNS=6+. 2003-05-31 16:37:22 +00:00
obrien
8b0354b4be Make CSTD style match the rest of file. 2003-05-31 16:30:39 +00:00
anholt
99b5c5ca72 Change -march=pentium4 to -march=pentium3 when CPUTYPE==p4, because gcc 3.2 is
known to produce broken code with -march=pentium4.  Add a note explaining this.
This should be removed when we update to gcc 3.3 or the bug is otherwise fixed.

Approved by:	re
2003-05-22 16:56:46 +00:00
ru
1ac7af4ec8 Fixed typo in a comment.
PR:		misc/52486
Submitted by:	"Simon L. Nielsen" <simon@nitro.dk>
Approved by:	re (jhb)
2003-05-21 12:58:28 +00:00
peter
ffb2fe06d8 s/x86[-_]64/amd64/ for MACHINE_ARCH and MACHINE_CPU .ifdefs.
Noticed by:  ru
Approved by: re (amd64-specific low risk stuff)
2003-05-20 01:46:16 +00:00
trhodes
449dc210f7 Apply the first in a series of patches which will bring bsd.README up to date.
PR:		35652
Submitted by:	"Simon L. Nielsen" <simon@nitro.dk> (original version)
Approved by:	re (bmah)
2003-05-17 18:03:05 +00:00
des
495eda8ee4 Whitespace cleanup (1.15 had spaces instead of tabs) 2003-05-05 21:14:36 +00:00
des
2a6383574f Don't use -pedantic unless we also set -std of some kind. 2003-05-05 21:13:32 +00:00
markm
ee63e7dc15 Turn MAKE_KERBEROS5 into NO_KERBEROS by negating the logic. Some extra
cleanups were necessary in release/Makefile, and the tinderbox code
was syntax checked, not run checked.
2003-05-05 07:58:44 +00:00
markm
152593ef08 Remove some games/ cruft that is no longer of relevance. 2003-05-03 15:48:12 +00:00
des
d147648191 Add a mechanism to allow Makefiles to specify the particular C dialect
in which the source code is written.  This is controlled by the CSTD
variable, which can have one of the following values:

  - "k&r"		=> -traditional
  - "c89" or "c90"	=> -std=iso9899:1990
  - "c94" or "c95"	=> -std=iso9899:199409
  - "c99"		=> -std=iso9899:1999

The corresponding option is added to CFLAGS regardless of WARNS level.
This also removes -ansi from WARNS level 6, but adds -Wno-long-long to
work around a weird gcc bug (-ansi, which is supposedly equivalent to
-std=iso9899:1990, seems to turn long long warnings off instead of on)

If CSTD is undefined, CFLAGS are unchanged except for the -ansi /
-Wno-long-long change mentioned above for WARNS level 6.
2003-05-01 14:36:27 +00:00
obrien
61ca7f9bcb Add NOSHLIBS.
If one is using NOSHARED, why build the libs.
2003-04-27 21:44:52 +00:00
ru
2230610831 Axe CXXINCLUDES from CXXFLAGS, it serves no useful purpose anymore.
Reviewed by:	bde
2003-04-22 11:04:25 +00:00
obrien
038d1a303c Add CPUTYPE support for "athlon-tbird", as GCC makes the distinction.
PR:		50801
Submitted by:	Glenn Johnson <glennpj@charter.net>
2003-04-14 17:36:29 +00:00
obrien
1fbfa2b11c Default the userland to 486 capabilities. 2003-04-11 21:28:17 +00:00
imp
b0693a4cbc Migrate to a new way of dealing with building from old revisions of
FreeBSD.  This method attempts to centralize all the necessary hacks
or work arounds in one of two places in the tree (src/Makefile.inc1
and src/tools/build).  We build a small compatibility library
(libbuild.a) as well as selectively installing necessary include
files.  We then include this directory when building host binaries.

This removes all the past release compatibilty hacks from various
places in the tree.  We still build on tip of stable and current.  I
will work with those that want to support more, although I anticipate
it will just work.

Many thanks to ru@, obrien@ and jhb@ for providing valuable input at
various stage of implementation, as well as for working together to
positively effect a change for the better.
2003-04-05 20:30:30 +00:00
ru
db5ec15123 -Wall implies -Wuninitialized if -O is also in effect.
-Wuninitialized does not work without -O.

This fixes the ${WARNS} > 4 compilations with -O0.

Spotted by:	marcel
2003-04-04 10:47:06 +00:00
ru
874869c32c Enable cpp(1) warnings in system headers. GCC is oriented on
glibc which is externally maintained, so GCC ships with these
warnings turned off by default.  This is also consistent with
the src/contrib/gcc/c-lex.c,v 1.2 change.
2003-03-31 13:10:51 +00:00
obrien
789bddd5c2 Globally use -mieee in /usr/src for Alpha. 2003-03-29 03:14:24 +00:00
obrien
6b548a3cf0 Reduce "code duplication" for AMD CPU's. 2003-03-29 03:13:19 +00:00
ru
1ab3497203 Added GEOM library to the bsd.libnames.mk namespace. 2003-03-21 14:31:51 +00:00
ru
d3c68089ef Record the sudden death of bsd.kern.mk and bsd.sgml.mk. 2003-03-12 14:31:36 +00:00
markm
3275ff10b2 KerberosIB deorbit: Remove library references. 2003-03-08 13:38:06 +00:00
ru
6b990c6f87 If we carry our MODULES_WITH_WORLD, we probably also do not want
for installkernel to wipe them out later.  So install them under
/boot/modules if that is the case.
2003-03-03 22:54:35 +00:00
ru
41871f8dff Fixed sys/boot/pc98/boot2/Makefile to use kern.mk and
get rid of bsd.kern.mk completely.

OK'ed by:	bde
2003-03-02 21:18:40 +00:00
ru
d8e63f1764 Initiate the de-orbit burn sequence for <bsd.kern.mk>.
Always use sys/conf/kern.mk when building kernel/modules.
<bsd.kern.mk> is only preserved for sys/boot/pc98/boot2
for now, but this will be fixed.  If there are other
users of <bsd.kern.mk>, please let me know.

Reminded by:	bde
2003-02-28 22:12:17 +00:00
jake
558920f554 - Removed various cruft from before we had a hosted toolchain (!).
- Moved special compiler flags to bsd.kern.mk so they get used for modules
  too.
2003-02-27 23:02:22 +00:00
ru
1488b3638f Added UFS library to the bsd.libnames.mk namespace. 2003-01-23 08:15:05 +00:00
ru
4f137dfa71 NOSHARED is meaningless in the bsd.lib.mk context, so check LDFLAGS
for the -static flag instead when constructing LIBPAM.

(This fixes false warnings from ``make checkdpadd -DNOSHARED'' in
lib/libpam/modules/.)

Submitted by:	bde, ru
Approved by:	re
2002-11-26 09:00:02 +00:00
ru
7920e22cea Take __FreeBSD_version into account when BOOTSTRAPPING. 2002-11-13 13:49:29 +00:00
ru
6fdca8338e Document most of bsd.doc.mk variables. 2002-10-30 17:03:48 +00:00
ru
27376fc3ef All uses of CD_HACK have been eliminated. 2002-10-30 15:30:06 +00:00
ru
40dc9090f3 PRINTERDEVICE can now take multiple values. 2002-10-29 16:13:21 +00:00
ru
11834b7f23 bsd.doc.mk changes:
Don't gratuitously pipe thru a cat(1) if NODOCCOMPRESS.

Only create _stamp.extra when necessary.

Get rid of SOELIMPP and OBJS.

Use Groff version of soelim(1); we need its -I option
for the following to work.

Don't needlessly chdir to SRCDIR.  Only a few documents
need CD_HACK, and those that need it either use refer(1)
or .PSPIC macro which internally uses the .psbb call.
2002-10-29 14:56:09 +00:00
ru
a2b48adeec Revert last delta. SGR support in grotty(1) is disabled system-wide
in /usr/share/tmac/troffrc pending the issue resolution on -arch.
2002-10-18 09:14:17 +00:00
ru
64dd2ee656 Added the new variable CTAGS which, if set to "ctags", reverts
to creating the tags file using ctags(1).  Defaults to "gtags".
Made GTAGSFLAGS and HTAGSFLAGS overrideable, added CTAGSFLAGS.
Folded bsd.prog.mk version of `tags' into bsd.dep.mk.

PR:		bin/42852
2002-10-17 13:48:13 +00:00
marcel
c6eea350fc ia64 specific CFLAGS change:
Fix the "@gprel relocation against dynamic symbol xxx" linker error.

Variables defined in the link unit and small enough to be put in the
short data section will have a gp-relative access sequence (using the
@gprel relocation). It is invalid to have @gprel relocations in shared
libraries, because they are to be resolved by the static linker and
not the dynamic linker. The -fpic option will cause @ltoff relocations
for @gprel relocations, but the side-effects are untested (if any).
Instead, disable/eliminate the short data section to achieve the same.
2002-10-13 02:52:22 +00:00
ru
683dd9f551 Groff 1.18.1 comes in with ANSI color support, enabled by default.
In "nroff" mode, italic font renders as an underlined text, which
makes it indistinguishable from the bold text on color monitors
(cons25 terminal type), yet it requires the less(1)'s -R option.
(Refer to the new grotty(1) manpage for details.)

So turn off the color support for now (when generating catpages),
until we figure out what do we do with this new feature.  I have
a patch for grotty(1) that tells it to use the "reverse video"
attribute to render the italic font.  Once this is accepted, we
can turn color support back on (if there won't be any objections
from the community).
2002-10-11 09:16:24 +00:00
ru
d4a97d92cd Sort in ``phone directory'' order (except for LIBC_*). 2002-10-04 16:25:08 +00:00
phk
d6d4af20f7 Reflect the fact that we install our libexpat as libbsdxml. 2002-10-04 13:36:12 +00:00
bde
6a20847b5b Use the -mno-align-long-strings on i386's to debloat the kernel a little.
This reduces the size of GENERIC's text space by 73999 bytes (about 2%).
The bloat is from approximately 3437 strings longer than 31 characters
being padded to a 32-byte boundary.
2002-10-04 12:54:36 +00:00
phk
734ef490b8 Add LIBEXPAT definition. 2002-10-02 07:36:08 +00:00
markm
2fb7a39c0f Extend the lint handling a bit.
o Make it possible to prevent parts of the tree from being linted
  (say) during a 'make world' by setting NOLINT in a leaf Makefile.

o Make "make lint" work (better) for executable programs.

o Clean up (nuke!) a syntax damaged pipeline.
2002-09-20 19:32:51 +00:00
jhb
9f1deafca1 Whitespace-only indention fixups for revision 1.20. This lets the 1.20
diff actually be readable.
2002-09-18 20:51:25 +00:00
jhb
ab7a615e02 Oops, fix userland _CPUCFLAGS. Move adding of _CPUCFLAGS to bottom of
file after end of empty CPUTYPE else clause.
2002-09-18 20:48:54 +00:00
jhb
80d913bae3 For the default case of CPUTYPE not being set, don't define CPUTYPE to the
lowest value in order to get the right MACHINE_CPU values since setting
CPUTYPE can result in problems later in the buildkernel case.  Instead,
set MACHINE_CPU directly and leave CPUTYPE alone.

Tested by:	mbr
2002-09-18 20:44:46 +00:00
peter
a51c9b6627 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
2002-09-17 01:49:00 +00:00
obrien
aafb6a8754 Add support for the AMD x86-64 Hammer platform. 2002-09-11 04:57:09 +00:00
kris
4c22235af2 Add support for ev67 and ev45 CPUTYPEs (new in gcc3) 2002-09-07 01:26:11 +00:00
mux
7387c7151c Update to use all the new CPU optimizations of GCC3.
Reviewed by:	kris
2002-09-07 01:15:29 +00:00
peter
907be9c6f2 Bump the -mev56 to -mev6. Otherwise, when you compile with gcc using
ev6 or pca56 etc this downgrades the cpu specification passed to gas.
As a result, gas will fail when gcc generates media instructions (in
uipc_usrreq.c).  This only affects what gas will accept, not what gcc
generates or what our *.s file contain.
2002-09-06 07:27:41 +00:00
kris
ea92fd0fc3 test -h is deprecated; use -L instead.
Submitted by:	april <april@oublinet.net>
PR:		misc/38724 (part of)
MFC after:	3 days
2002-08-31 02:22:33 +00:00
bde
25ef4f34f6 Turned format checking back on. It was left turned off for too long after
the gcc lossage that caused it to be turned off was fixed.

Tested with:	i386/{GENERIC,LINT,...}, alpha/GENERIC
2002-08-25 08:05:02 +00:00
ru
0d28b9e98c Allow one to override ${MINSTALL} in /etc/make.conf.
Prompted by:	Andre Albsmeier <andre.albsmeier@mchp.siemens.de>
2002-08-20 11:11:37 +00:00
ru
55b49dda70 TARGET_CPUTYPE should exist solely in Makefile.inc1, similar to
TARGET_ARCH and TARGET.  This is problematic when one has the =
(unconditional) type of assigment for CPUTYPE in /etc/make.conf.
(This would override what was set on the command line to "make
buildworld".)

Add a (horrible) kludge to Makefile.inc1 to check the type of
assignment for CPUTYPE (only for those who attempts to set it to
a different value).  Fix an example make.conf.  Fix the kernel's
build-tools target (aicasm only at the moment) to catch up with
bsd.cpu.mk,v 1.15 (BOOTSTRAPPING replaced with NO_CPU_CFLAGS in
Makefile.inc1's BMAKE).

Reviewed by:	jhb
2002-08-02 18:04:22 +00:00
rwatson
087e19f81f Add a libnames entry for libugidfw.
Add a DPADD line for ${LIBUGIDFW} for ugidfw.

Submitted by:	ru
2002-08-02 13:37:57 +00:00
jhb
7385ed2e47 - Define NO_CPU_CFLAGS during BMAKE and TMAKE (and thus XMAKE) so that
bsd.cpu.mk doesn't have to worry about compilers other than the current
  version.
- Allow TARGET_CPUTYPE to override CPUTYPE in bsd.cpu.mk.
- Treat an empty CPUTYPE the same as an undefined CPUTYPE.
- For buildworld, buildkernel, etc., define TARGET_CPUTYPE to CPUTYPE for
  native builds and define it to be empty for cross-builds.
  TARGET_CPUTYPE is only defined if it is not already defined via the
  commandline or environment.
2002-07-31 03:56:03 +00:00
ru
a8adf98c82 Drop support for COPY, -c has been the default mode of install(1)
for a long time now.

Approved by:	bde
2002-07-29 09:40:17 +00:00
jhb
ae7c937aa1 - Fixup whitespace after previous commit.
- To minimize whitespace changes, remove a test that didn't define
  _CPUCFLAGS if both NO_CPU_CFLAGS and NO_CPU_COPTFLAGS were defined
  since it is redundant (we don't use _CPUCFLAGS if those are defined).
2002-07-27 22:15:42 +00:00
jhb
af1f8a2d2a If there is not a CPUTYPE defined by default, then allow for _CPUCFLAGS
to tune for more advanced processors while still supporting the minimum
processor in an architecture.  We can do this with the '-mtune=' option
to gcc for alpha, sparc64, and powerpc and with the mis-named '-mcpu='
option for i386.

This defaults to tuning i386 builds for i686 machines though not using
any instructions that aren't found on an 80386.  For alpha it defaults
to tuning for an EV5.

Approved by:	peter
Peril sensitive sunglasses borrowed from:	peter
2002-07-27 22:04:05 +00:00
ru
d3d65bab51 Moved `clean:' below, just before the inclusion of bsd.obj.mk,
so that CLEANFILES from bsd.man.mk and bsd.dep.mk are honored.
2002-07-21 21:22:45 +00:00
ru
ac25bfee41 Only define SHLIB_LINK if SHLIB_NAME matches the *.so.* pattern.
(Useful for RELENG_4's lib/libpam/modules.)
2002-07-19 18:40:13 +00:00
ru
8d142e42ff Correction to the previous revision: define SHLIB_LINK if SHLIB_NAME
is defined (whether or not LIB is defined).
2002-07-18 17:44:20 +00:00
ru
398acd90da Sort FILES. 2002-07-17 16:35:00 +00:00
ru
3d25ed729f Moved the `distribute' target from bsd.obj.mk to bsd.subdir.mk,
to make it call `install' in the bsd.subdir.mk-driven makefiles
too.  (share/examples/Makefile,v 1.29 changed the bsd.prog.mk
to bsd.subdir.mk and many stuff was lost during "make release".
I then merged this change in rev. 1.28.2.2 to work around the
namespace pollution (FILES) in this makefile.)

There was an added complexity here.  Both the `distribute' and
`install' targets are recursive (they propagate to SUBDIRs).
So `distribute' first calls `install' in the ${.CURDIR}, then
calls `distribute' in each SUBDIR, etc.  The problem is that
`install' (being also recursive) causes the stuff from SUBDIR
to be installed twice, first time thru `install' in ${.CURDIR}
triggered by `distribute', second time by `distribute' run in
the SUBDIR.  This problem is not new, but it became apparent
only after I moved the `distribute' target from bsd.obj.mk to
bsd.subdir.mk.  My first attempt testing the fix failed due to
this, because the whole world was distributed twice, causing
all the imaginable mess (kerberos5 stuff was installed into both
"base" and "krb5" dists, there was /sbin/init.bak, etc.)
I say the problem is not new because bsd.prog.mk and bsd.lib.mk
makefiles with SUBDIR (even without this fix) had this problem
for years.  Try e.g. running ``make distribute DISTDIR=/foo''
from usr.bin/bzip2 or from lib/libcom_err (without the fix) and
watch the output.

So the solution was to make `install' behave non-recursive when
executed by `distribute'.  My first attempt in passing SUBDIR=
to the `install' in the `distribute' body failed because of the
way how src/Makefile and src/Makefile.inc1 communicate with each
other.  SUBDIR='s assignment precedence on the "make install
SUBDIR=" command line is lowered after src/Makefile wrapper calls
"make ... -f ${.CURDIR}/Makefile.inc1 install" because SUBDIR=
is moved into environment, and Makefile.inc1's assignments now
take higher precedence.  This may be fixed someday when we merge
Makefile with Makefile.inc1.  For now, this is implemented as a
NO_SUBDIR knob.

Spotted by:	Dmitry Pryanishnikov <dmitry@atlantis.dp.ua>
Prodded by:	des
MFC after:	3 days
2002-07-12 15:09:35 +00:00