Commit Graph

1122 Commits

Author SHA1 Message Date
Dag-Erling Smørgrav
9820f41cd3 Don't use -pedantic unless we also set -std of some kind. 2003-05-05 21:13:32 +00:00
Mark Murray
dbf104e68d 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
Mark Murray
04b151d66a Remove some games/ cruft that is no longer of relevance. 2003-05-03 15:48:12 +00:00
Dag-Erling Smørgrav
77695b344b 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
David E. O'Brien
74a0458023 Add NOSHLIBS.
If one is using NOSHARED, why build the libs.
2003-04-27 21:44:52 +00:00
Ruslan Ermilov
2244cda2bc Axe CXXINCLUDES from CXXFLAGS, it serves no useful purpose anymore.
Reviewed by:	bde
2003-04-22 11:04:25 +00:00
David E. O'Brien
ae7906208d 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
David E. O'Brien
7d40314e32 Default the userland to 486 capabilities. 2003-04-11 21:28:17 +00:00
Warner Losh
30aaff1192 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
Ruslan Ermilov
0e80a2f601 -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
Ruslan Ermilov
effd19ed24 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
David E. O'Brien
dde8112b23 Globally use -mieee in /usr/src for Alpha. 2003-03-29 03:14:24 +00:00
David E. O'Brien
44db0c5c9a Reduce "code duplication" for AMD CPU's. 2003-03-29 03:13:19 +00:00
Ruslan Ermilov
c6885e2617 Added GEOM library to the bsd.libnames.mk namespace. 2003-03-21 14:31:51 +00:00
Ruslan Ermilov
6f63bc577d Record the sudden death of bsd.kern.mk and bsd.sgml.mk. 2003-03-12 14:31:36 +00:00
Mark Murray
96594358d3 KerberosIB deorbit: Remove library references. 2003-03-08 13:38:06 +00:00
Ruslan Ermilov
379e8aa7ec 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
Ruslan Ermilov
73f643b411 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
Ruslan Ermilov
ddc474a84b 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 Burkholder
dd606b5425 - 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
Ruslan Ermilov
77391fde76 Added UFS library to the bsd.libnames.mk namespace. 2003-01-23 08:15:05 +00:00
Ruslan Ermilov
43e927ec32 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
Ruslan Ermilov
40c6b893d8 Take __FreeBSD_version into account when BOOTSTRAPPING. 2002-11-13 13:49:29 +00:00
Ruslan Ermilov
47a6766105 Document most of bsd.doc.mk variables. 2002-10-30 17:03:48 +00:00
Ruslan Ermilov
e8583ea057 All uses of CD_HACK have been eliminated. 2002-10-30 15:30:06 +00:00
Ruslan Ermilov
e5f3fe8c97 PRINTERDEVICE can now take multiple values. 2002-10-29 16:13:21 +00:00
Ruslan Ermilov
b382ba4fb1 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
Ruslan Ermilov
b17996a47e 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
Ruslan Ermilov
ccc4bab104 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 Moolenaar
8f6a0ee959 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
Ruslan Ermilov
65b1f0f74e 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
Ruslan Ermilov
b0eca2c865 Sort in ``phone directory'' order (except for LIBC_*). 2002-10-04 16:25:08 +00:00
Poul-Henning Kamp
2024748156 Reflect the fact that we install our libexpat as libbsdxml. 2002-10-04 13:36:12 +00:00
Bruce Evans
c6a1c7c5b9 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
Poul-Henning Kamp
a70e34ac71 Add LIBEXPAT definition. 2002-10-02 07:36:08 +00:00
Mark Murray
5741a42f2f 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
John Baldwin
23bfdc2d66 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
John Baldwin
f41fb58cd1 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
John Baldwin
eb28bc3e98 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 Wemm
66422f5b7a 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
David E. O'Brien
fb3d225909 Add support for the AMD x86-64 Hammer platform. 2002-09-11 04:57:09 +00:00
Kris Kennaway
0dafadb731 Add support for ev67 and ev45 CPUTYPEs (new in gcc3) 2002-09-07 01:26:11 +00:00
Maxime Henrion
8e4b67a2a3 Update to use all the new CPU optimizations of GCC3.
Reviewed by:	kris
2002-09-07 01:15:29 +00:00
Peter Wemm
c253d72f0a 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 Kennaway
b5cdcc000b 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
Bruce Evans
64fc62d407 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
Ruslan Ermilov
81c0610313 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
Ruslan Ermilov
32f8ca450d 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
Robert Watson
4fd65a06f9 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
John Baldwin
22e256fded - 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
Ruslan Ermilov
d2893b161b 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
John Baldwin
9bd85872d1 - 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
John Baldwin
8605c6b2ad 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
Ruslan Ermilov
397304fe4f 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
Ruslan Ermilov
5113446a35 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
Ruslan Ermilov
42c0ad02c2 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
Ruslan Ermilov
8cda97bd32 Sort FILES. 2002-07-17 16:35:00 +00:00
Ruslan Ermilov
8f463ff4c5 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
David E. O'Brien
bf4ca1009b Be more strict with WARNS now -- the GCC 3.1 turmoil is behind us. 2002-07-07 18:47:52 +00:00
Ruslan Ermilov
e8d5345d28 Part 1/2 of kerberos5/doc/ "make release" breakage fix:
Finish the fix of rev. 1.28 changes in rev. 1.47 (removed
gross dir file bootstrap rule again).
2002-07-06 14:58:20 +00:00
Ruslan Ermilov
4d7d5e7c11 Make it possible (again) to build and install shared library only.
One needs to define SHLIB_NAME for this to work.

Prodded by:	mi
2002-07-03 16:22:43 +00:00
Ruslan Ermilov
6e02167b57 Moved checkdpadd target to where it logically belongs. 2002-07-03 12:44:06 +00:00
Ruslan Ermilov
badb7c1c6b Try really hard to fix parallel installs. Add a bunch of .ORDER
directives to ensure that all realinstall sub-tasks are executed
after beforeinstall, similarly ensure that all afterinstall sub-
tasks are executed after realinstall.  Demonstration:

all: task1 task2
.ORDER: task1 task2

task2: task2_subtask
.ORDER: task1 task2_subtask

task1 task2 task2_subtask:
	@sleep `jot -r 1 0 1.0`
	@echo ${.TARGET}

Without the second .ORDER directive, task2_subtask can be run in
parallel with task1.

Spotted by:	Andrea Campi <andrea@webcom.it>
2002-07-03 12:28:03 +00:00
Ruslan Ermilov
8479adc1d3 Reimplemented bsd.nls.mk using bsd.files.mk and bsd.links.mk.
Provided the (previously missing) dependency on source files
for intermediate .msg files.

Provided the default for NLSSRCDIR (defaults to .CURDIR).

Slightly changed the API: NLS should now list plain locale
names, without the .msg suffix.

When included from bsd.prog.mk, NLSNAME defaults to PROG.
2002-07-02 12:37:09 +00:00
Ruslan Ermilov
84f94a79a0 Handle installation of hard and symbolic links via a seperate .mk file. 2002-07-02 12:16:54 +00:00
Ruslan Ermilov
b4840de98d bsd.subdir.mk already has these dependencies coded. 2002-07-01 14:51:42 +00:00
Ruslan Ermilov
1220a0241f Get rid of the bogus dependencies between beforeinstall, realinstall,
and afterinstall targets.  Make sure they are run in sequence in the
-j case.

This fixes the recent breakage with beforeinstall being run _after_
realinstall.

Reported by:	knu
2002-07-01 14:49:16 +00:00
Ruslan Ermilov
93329c3c6e Fixed typos. 2002-07-01 07:25:02 +00:00
Juli Mallett
dd247f7371 If CLEANFILES is nil or not defined, do not try to remove it. This happens
when SRCS is entirely files which produce only one compiled form, and when
NOMAN is defined.  This does not seem to happen in STABLE.

Approved by:	ru
2002-06-26 08:41:00 +00:00
Ruslan Ermilov
c1c9929e9f Quiet ``make objlink'' when NOOBJ is defined.
PR:		bin/21142
Submitted by:	Craig Leres <leres@ee.lbl.gov>
2002-06-21 07:30:51 +00:00
Maxim Sobolev
6e542f8c06 In gcc 3.1 Pentium/MMX now has its own -march=XXX option. 2002-06-13 08:35:36 +00:00
Ruslan Ermilov
af2dc86820 Reimplement FILES support using bsd.files.mk with the
same set of features as in recently added bsd.incs.mk
(FILESGROUPS, accessibility from both bsd.prog.mk and
bsd.lib.mk, de-pessimized typical installation path,
etc.)  New standard targets: buildfiles, installfiles,
and files (buildfiles + installfiles).
2002-06-03 14:49:34 +00:00
Ruslan Ermilov
ce17d4f3d3 Bootstrapping aid for those with Athlon upgrading from gcc 2.95.x.
Prodded by:	gordon
2002-05-31 12:50:24 +00:00
Peter Wemm
e09d00a880 For now, make the .ifdef GCC3 case default. We should change -Wno-format
back to -fformat-extensions (or whatever) when we have the functionality.
We are gaining warnings again that should be fixed but the are being hidden
by NO_WERROR and all the -Wformat noise.
2002-05-24 01:02:45 +00:00
Ruslan Ermilov
79273cd77c Revision 1.39 made filtering of CFLAGS unnecessary. 2002-05-22 11:03:35 +00:00
David E. O'Brien
be5181d5b1 Tweak the WARNS levels a tad. 2002-05-19 18:24:00 +00:00
David E. O'Brien
22e5252fed Default Alpha compiles to ev5.
EV5 binaries will run on EV4[5], but the timing assumptions do pessimize
running on EV4[5].

Tested by:	ticso
2002-05-15 18:16:43 +00:00
Ruslan Ermilov
5d86203733 Rename includes' to buildincludes'.
Rename `incsinstall' to `installincludes'.
Make `includes' a -j safe shortcut for `buildincludes' + `installincludes'.
`buildincludes' and `installincludes' are SUBDIR friendly, if run directly.
2002-05-15 16:19:54 +00:00
Ruslan Ermilov
12e0852a7a CLEANFILES are too long for libc. 2002-05-13 15:23:56 +00:00
Ruslan Ermilov
8f08b6b2ee Ensure manpages are built with the all-man in the
NOMANCOMPRESS && !MANFILTER && !MANBUILDCAT case.

PR:		bin/37360
Prodded by:	cjc
2002-05-13 13:04:46 +00:00
Ruslan Ermilov
2a53f3fb35 Major cleanup of bsd.lib.mk.
Get rid of the INTERNALSTATICLIB knob and just use plain INTERNALLIB.
INTERNALLIB now means to build static library only and don't install
anything.  Added a NOINSTALLLIB knob for libpam/modules.  To not
build any library at all, just do not set LIB.
2002-05-13 10:53:24 +00:00
Ruslan Ermilov
c7b111cba8 Added new bsd.incs.mk which handles installing of header files
via INCS.  Implemented INCSLINKS (equivalent to SYMLINKS) to
handle symlinking include files.  Allow for multiple groups of
include files to be installed, with the powerful INCSGROUPS knob.
Documentation to follow.

Added standard `includes' and `incsinstall' targets, use them
in Makefile.inc1.  Headers from the following makefiles were
not installed before (during `includes' in Makefile.inc1):

	kerberos5/lib/libtelnet/Makefile
	lib/libbz2/Makefile
	lib/libdevinfo/Makefile
	lib/libform/Makefile
	lib/libisc/Makefile
	lib/libmenu/Makefile
	lib/libmilter/Makefile
	lib/libpanel/Makefile

Replaced all `beforeinstall' targets for installing includes
with the INCS stuff.

Renamed INCDIR to INCSDIR, for consistency with FILES and SCRIPTS,
and for compatibility with NetBSD.  Similarly for INCOWN, INCGRP,
and INCMODE.

Consistently use INCLUDEDIR instead of /usr/include.

gnu/lib/libstdc++/Makefile and gnu/lib/libsupc++/Makefile changes
were only lightly tested due to the missing contrib/libstdc++-v3.
I fully tested the pre-WIP_GCC31 version of this patch with the
contrib/libstdc++.295 stuff.

These changes have been tested on i386 with the -DNO_WERROR "make
world" and "make release".
2002-05-12 16:01:00 +00:00
David E. O'Brien
5aa237561f Back out rev 1.118. 2002-05-12 13:48:53 +00:00
David E. O'Brien
ab4448f3e4 Add pointers to GCC's allowable values for -march, and restore structure
of rev 1.7 until someone can sit down and think thru all the GCC 3.1
related changes.
2002-05-11 20:18:54 +00:00
David E. O'Brien
2c0b3c611a With GCC 3.1, we can now treat AMD Athlon and an Athlon.
Submitted by:	Steven G. Kargl <kargl@troutmask.apl.washington.edu>
2002-05-11 20:05:17 +00:00
David E. O'Brien
e20b0b7333 [Ab]use LDFLAGS rather than CFLAGS.
BDE tells me POSIX pretends `ld' as a directly callable entity does not exist.
2002-05-10 09:32:39 +00:00
David E. O'Brien
b0b7c2164c Gcc 3.1 has different -Wx flags. 2002-05-10 01:58:16 +00:00
David E. O'Brien
a25fa515ee Add the beginnings of Sparc64 support. 2002-05-10 01:31:40 +00:00
David E. O'Brien
bea805383e Pass CFLAGS to {CC} when using it as an `ld' replacement. 2002-05-10 01:30:34 +00:00
David E. O'Brien
d23aa1ef0f Pay attention to LDFLAGS when linking. 2002-05-09 16:43:07 +00:00
David E. O'Brien
8500d819cc Get rid of the INTERNALSTATICLIB knob and just use plain INTERNALLIB.
INTERNALLIB now implies NOPROFILE, NOMAN, and don't install anything.
Add a NOLIB knob.
2002-05-09 00:44:13 +00:00
Ruslan Ermilov
afeaaa846c Added internal, non-recursive (SUBDIR) versions of the `all-man'
and `maninstall' targets.  This fixes the issue where each subdir
was descended into twice during "make all", and also resurrects
the standardization of `maninstall'.

Urged by:	bde
2002-05-07 15:42:56 +00:00
Ruslan Ermilov
8782938772 Install PROG before SCRIPTS and FILES, but make sure
LINKS are still processed last.  This backs out part
of the backout in previous revision.

Install the manpages before descending into SUBDIRs.
2002-05-07 15:30:49 +00:00
Ruslan Ermilov
b90dab70f1 Install the manpages before descending into SUBDIRs. 2002-05-07 15:27:56 +00:00
Bruce Evans
732757a74c Fixed missing quotes in the default for MKDEPCMD in the CC != cc case.
"CC='cc -Dfoo' make depend" was very broken.
2002-05-07 00:15:53 +00:00
David E. O'Brien
856f29cf94 Use -ffreestanding for kernel bits unconditionally. 2002-05-04 20:07:33 +00:00
Ruslan Ermilov
9e84c09c36 Splitting "realinstall" into parts was a (failed) part of the work
in progress, and should not have been committed in revision 1.114.
This broke gnu/usr.bin/binutils/strip and usr.bin/strip makefiles;
they were now attempting to install and strip "strip" from objdir.

Pointed out by:	bde

This has nothing to do with PR misc/37516.
2002-04-29 16:00:30 +00:00
Ruslan Ermilov
6bde859f40 Milestone #1 in cross-arch make releases.
Do not install games and profiled libraries to the ${CHROOTDIR}
with the initial installworld.

Eliminate the need in the second installworld.  For that, make sure
_everything_ is built in the "world" environment, using the right
tool chain.

Added SUBDIR_OVERRIDE helper stuff to Makefile.inc1.  Split the
buildworld process into stages, and skip some stages when
SUBDIR_OVERRIDE is set (used to build crypto, krb4, and krb5
dists).

Added NO_MAKEDB_RUN knob to Makefile.inc1 to avoid running
makewhatis(1) at the end of installworld (used when making crypto,
krb4, and krb5 dists).

In release/scripts/doFS.sh, ensure that the correct boot blocks are
used.

Moved the creation of the "crypto" dist from release.5 to
release.2.

In release.3 and doMFSKERN, build kernels in the "world"
environment.  KERNELS now means "additional" kernels, GENERIC is
always built.

Ensure we build crunched binaries in the "world" environment.
Obfuscate release/Makefile some more (WMAKEENV) to achieve this.

Inline createBOOTMFS target.

Use already built GENERIC kernel modules to augment mfsfd's
/stand/modules.  GC doMODULES as such.

Assorted fixes:

Get rid of the "afterdistribute" target by moving the single use
of it from sys/Makefile to etc/Makefile's "distribute".

Makefile.inc1: apparently "etc" no longer needs to be last for
"distribute" to succeed.

gnu/usr.bin/perl/library/Makefile.inc: do not override the
"install" and "distribute" targets, do it the "canonical" way.

release/scripts/{man,cat}pages-make.sh: make sure Perl manpages and
catpages appear in the right dists.  Note that because Perl does
not respect the MANBUILDCAT (and NOMAN), this results in a loss of
/usr/share/perl/man/cat* empty directories.  This will be fixed
soon.

Turn MAKE_KERBEROS4 into a plain boolean variable (if it is set it
means "make KerberosIV"), as documented in the make.conf(5)
manpage.  Most of the userland makefiles did not test it for "YES"
anyway.

XXX Should specialized kerberized libpam versions be included into
the krb4 and krb5 dists?  (libpam.a would be incorrect anyway if
both krb4 and krb5 dists were choosen.)

Make sure "games" dist is made before "catpages", otherwise games
catpages settle in the wrong dist.

Fast build machine provided by: Igor Kucherenko <kivvy@sunbay.com>
2002-04-26 17:55:27 +00:00
Ruslan Ermilov
d859ba5620 GC bsd.docb.mk. It has never apparently been used. 2002-04-24 13:48:45 +00:00
Ruslan Ermilov
c5234b56b6 Abuse bsd.obj.mk for defining default distribute target. 2002-04-24 13:29:34 +00:00
Ruslan Ermilov
37bd5c8386 GC bsd.sgml.mk. Nothing in the src/ tree uses it, and two doc/
instances that still use it are unconnected from the build and
have corresponding DocBook replacements.
2002-04-24 13:03:44 +00:00
Ruslan Ermilov
2cbc81ffe4 The install.debug and reinstall.debug targets are needed solely
to build kernel and kernel modules so stop supporting them in
bsd.subdir.mk and reimplement them in kern.post.mk and kmod.mk
as special versions of the install and reinstall targets, and
only define them if DEBUG is also defined (when debug versions
are really built).

Prompted by:	bde
2002-04-24 11:26:19 +00:00
David E. O'Brien
01df2ec328 Change the name of the 'bin' distribution to 'base'.
This is done since it contains much more than /bin, and also gets in the
way when making a combined install+fixit CD.

OK'ed by:	jkh
2002-04-23 22:16:41 +00:00
Ruslan Ermilov
b25a566d47 Merge bsd.obj.mk's version of the _SUBDIR target with bsd.subdir.mk.
Ensure all standard targets honor SUBDIR.  Now `make obj' descends into
SUBDIRs even if NOOBJ is set (some descendants may still need an object
directory, but we do not have such precedents).  Now `make install' in
non-bsd.subdir.mk makefiles runs `afterinstall' target _after_ `install'
in SUBDIRs, like we do in bsd.subdir.mk.  Nothing depended on the wrong
order anyway.

Fixed `distribute' targets (except for the bsd.subdir.mk version) so that
they do not depend on _SUBDIR; `distribute' calls `install' which already
depends on _SUBDIR.

De-standardize `maninstall', otherwise manpages would be installed twice.
(To be revised later.)
2002-04-23 09:03:56 +00:00
Ruslan Ermilov
92ab402302 Provide the real `distribute' target so that NLS catalogs are
installed with `make release'.
2002-04-23 06:15:44 +00:00
Ruslan Ermilov
5ffdf3618e Prohibit the direct inclusion of bsd.dep.mk. 2002-04-22 10:04:41 +00:00
Ruslan Ermilov
939a04b915 Fixed _SUBDIR.
Obtained from:	bsd.subdir.mk
2002-04-22 09:12:18 +00:00
Ruslan Ermilov
72d5490744 Make .asm transformation rules synonyms to the .s rules. 2002-04-22 08:56:34 +00:00
Mark Murray
2738ffebcc Style. Fix long lines and a <tab> indent that should be 4 spaces. 2002-04-21 17:26:16 +00:00
David E. O'Brien
3b9a798ffc reorg a little. 2002-04-20 08:41:55 +00:00
David E. O'Brien
e517d11e8d Add .asm as an alias for .s. .asm is common in contribed sources.
Helps with:	gcc31 build.
2002-04-19 18:01:03 +00:00
Ruslan Ermilov
139df6553c Style. 2002-04-19 07:43:50 +00:00
Ruslan Ermilov
503b871c4d Fix the type of .include. 2002-04-19 07:42:41 +00:00
Ruslan Ermilov
abd41f7d17 Fix the bsd.port.mk breakage caused by sys.mk,v 1.60 commit.
Submitted by:	fenner
2002-04-19 07:40:34 +00:00
Ruslan Ermilov
cf80b5b504 Optimize for i486 better (-m486 is just another deprecated
synonym for -mcpu=i486).

PR:		i386/37212
Submitted by:	Matthias Andree <matthias.andree@web.de>
MFC after:	3 days
2002-04-18 09:37:15 +00:00
Ruslan Ermilov
6106f3b274 Install bsd.init.mk.
Submitted by:	"Peter S. Housel" <housel@acm.org>
2002-04-18 07:10:39 +00:00
Ruslan Ermilov
07b10385f0 In rare cases, we might want to include bsd.own.mk directly.
So protect it from being included twice.
2002-04-18 06:37:48 +00:00
Ruslan Ermilov
4367bda680 ${INSTALLFLAGS} aren't suitable for installing ${SCRIPTS} and ${FILES}. 2002-04-17 16:29:02 +00:00
Ruslan Ermilov
2bdaf7e81c Don't include bsd.own.mk from sys.mk, this makes it impossible
to use ``.if defined()'' inside bsd.own.mk to test for defines
in individual makefiles.  For example, setting DEBUG_FLAGS in
Makefile didn't take the desired effect on the STRIP assignment.

Added bsd.init.mk (like in NetBSD) that handles the inclusion
of ../Makefile.inc and bsd.own.mk from all bsd.*.mk files that
"build something".

Back out bsd.own.mk,v 1.15: moved OBJFORMAT initialization back
to sys.mk (several source tree makefiles want to check it early)
and removed MACHINE_ARCH initialization (it's hard to see from
looking at the commitlogs what the problem was at the time, but
now it serves no purpose).

Prohibit the direct inclusion of bsd.man.mk and bsd.libnames.mk.

Protect bsd.obj.mk from repetitive inclusion.  Prohibiting the
direct inclusion of bsd.obj.mk might be a good idea too.
2002-04-17 13:49:29 +00:00
Ruslan Ermilov
d0a19329c7 Revert to the ordinary :' dependency operator for mainstall'.
Revision 1.7 had "maninstall::" inside a loop.  Revision 1.36
unrolled the loop.

Reviewed by:	bde
2002-04-17 05:53:57 +00:00
Ruslan Ermilov
70e82473a4 Doh, previous revision made .depend to be almost always out of date.
Spotted by:	bde

Fortunately, we have a powerful make(1).  Apply some black magic to
make it DTRT.  (Better viewed as diff to revision 1.30.)
2002-04-17 05:42:18 +00:00
Ruslan Ermilov
0cfacc8666 Don't spawn extra make(1) process to execute _EXTRADEPEND. 2002-04-16 12:27:07 +00:00
Ruslan Ermilov
e16529d335 Only pass our idea of `CC' down to mkdep(1) if it's non-default. 2002-04-15 15:23:45 +00:00
Ruslan Ermilov
a5772968f0 Fix all-man to look into the SUBDIR subdirs as well. 2002-04-15 10:17:35 +00:00
Ruslan Ermilov
9bda5a5789 Added glue for the all-man and maninstall targets. 2002-04-15 10:16:26 +00:00
Dag-Erling Smørgrav
c3ec83e170 Add a dependency on libypclnt to libpam, in preperation for making pam_unix
use it to update NIS passwords.
2002-04-15 02:32:54 +00:00
Dag-Erling Smørgrav
533e4c33b3 Add libypclnt. 2002-04-13 07:23:25 +00:00
Ruslan Ermilov
5d68012a54 Back out second part of the previous change. While this was
indeed a good change, I shouldn't have made it after testing
with the -DNOCLEAN buildworld.  There are far too many users
of this misfeature under sys/boot/.  I will reapply the change
after I fix these.

This change has been tested with the clean buildworld.
2002-04-12 16:25:13 +00:00
Ruslan Ermilov
d8d5898fff Fixed the fatal breakage I introduced in the last commit.
Make the defined(SRCS) case similar to the !defined(SRCS)
case - only define ${PROG}: ${OBJS} if the ${PROG} target
does not exist.  This has only one precedence in the entire
source tree, usr.bin/doscmd, and its Makefile is horribly
broken.  I will temporarily unconnect it from build until
I'm working on the fix.
2002-04-12 11:21:09 +00:00
Ruslan Ermilov
f8ba15551d Don't add -lstdc++ to LDADD, just let c++(1) link C++ programs.
Record the dependency on ${LIBSTDCPLUSPLUS} similar to ${LIBC}.

Suggested by:	imp, obrien, peter
2002-04-12 08:17:24 +00:00
Ruslan Ermilov
47bf8a5c3b Implement PROG_CXX for <bsd.prog.mk>.
Obtained from:	NetBSD (with some mods)
Reviewed by:	peter
2002-04-11 10:44:30 +00:00
Ruslan Ermilov
de0d6977f9 Really finish the removal of ${LDDESTDIR} in bsd.lib.mk,v 1.55.
bsd.lib.mk,v 1.101 only did that partly.
2002-04-11 08:54:21 +00:00
David E. O'Brien
89d1cbc7aa Add WARNS levels 5 and 6:
5 gives us -Wuninitialized rather than -Wno-uninitialized
6 gives us full BDECFLAGS
2002-04-10 02:45:22 +00:00
Ruslan Ermilov
d3b39427f5 Fixed broken dependency in lib/libpam/modules/pam_krb5. 2002-04-09 13:19:09 +00:00
Ruslan Ermilov
7cf143f761 FreeBSD prior to 4.5-RELEASE and older versions of 5.0-CURRENT do not
have the __FBSDID() macro in <sys/cdefs.h>.  Fix this once and for all
for tools that need to be bootstrapped.

PR:		bin/36747
MFC after:	3 days
Prodded by:	obrien
2002-04-07 17:03:06 +00:00
Ruslan Ermilov
88505e11bc Fixed the nasty bug where .depend file that exists somewhere in
the .PATH (but not in the ${.OBJDIR}) would result in a leak of
the ${OBJS}: ${SRCS:M*.h} dependency hint.

Spotted by:	fixing the broken gnu/usr.bin/cc/cc1obj build
MFC after:	1 day
2002-04-07 14:58:12 +00:00
Josef Karthauser
7b8cfc5217 Install libusbhid, and use it instead of libusb.
MFC after:	6 days
2002-03-28 18:44:25 +00:00
Dag-Erling Smørgrav
8fd9852b57 Install static and profiled libraries with -C. 2002-03-22 20:28:16 +00:00
Ruslan Ermilov
bd42830f0f Make lint(1) a cross-tool.
(See commit log for usr.bin/xlint/Makefile,v 1.11 for what was wrong
with enabling build of lint libraries in rev. 1.12.)

This fixes cross-arch compiles (running binaries for a different arch
when generating lint.7 and lint libraries) and cross-branch compiles
(4.x -> 5.0 buildworld should be working again).
2002-03-20 18:25:50 +00:00
Bruce Evans
afabc4dfc2 Removed bogus env(1) commands. make(1) uses a real shell, so
"env name=value ... cmd ..." was just a pessimized way of doing
"name=value ... cmd ...".  Note that make(1) can't optimize
either of these to an exec of env(1) or "cmd" even if the second
"..." is simple, since it can't tell that the shell metacharacter
in "name=value" is actually handled by env(1).
2002-03-19 06:11:43 +00:00
Ruslan Ermilov
bbb467cd9a lint the previous lint commit.
Reviewed by:	markm
2002-03-18 09:35:45 +00:00
Warner Losh
0af93efb4d __MAKE_CONF?=/etc/make.conf
Use this where we are now using /etc/make.conf.

This allows people to override the current default of always including
/etc/make.conf.  Setting __MAKE_CONF to /dev/null disables it
completely, while setting it to something else allows one to override
what is on the system.  This can be desirable in situations where a
machine has many users and some of them want different defaults, or
defaults appropriate to cross building to be different than those for
normal building.

Not objected to by: arch@
2002-03-18 07:39:27 +00:00
Mark Murray
766f7d6e03 Allow "make lint" to mostly work. Our sources are very unclean WRT
lint, so this is turned off by default. Setting WANT_LINT will turn
on generation of lint libraries for /usr/libdata/lint/*.ln.

Reviewd by:	silence in -audit.
2002-03-17 10:05:57 +00:00
David E. O'Brien
9722145f6f Pass our idea of `CC' down to mkdep.
Tested on:	sparc64
2002-03-15 18:43:59 +00:00
David E. O'Brien
ec5d7223f1 Consistently use $PICFLAG. 2002-03-12 01:18:07 +00:00
David E. O'Brien
e3ed55f892 Spell pic "PIC" for sparc64. 2002-03-12 01:14:19 +00:00
Alexey Zelkin
0aa35985b9 . Add support for making NLS links
. Target definitions tweaks
2002-03-04 12:27:00 +00:00
Alexey Zelkin
cf355fd5f9 Slightly relax requirements to set per-file variables 2002-03-04 10:59:37 +00:00
Alexey Zelkin
64d4875690 Add basic infrastructure for building and installing Message Catalogs (NLS Catalogs)
Idea obtained from: NetBSD
Reviewed by: silence at -hackers
2002-03-04 09:50:28 +00:00
Ruslan Ermilov
ea5c0da93b Obviate the need to set the COMPILER_PATH and LIBRARY_PATH in Makefile.inc1
to pick up the correct cross-tools (the compiler executables and binutils)
and special linker files (crt*.o).  This is now controlled by a single knob,
TOOLS_PREFIX, when building cross-tools.

Fixed regression in Makefile.inc1,v 1.203 (-nostdinc).  This clobbered target
architecture's CFLAGS with building host's CPUTYPE setting in /etc/make.conf,
and had a nice but nasty side effect of exposing some (normally hidden) bugs
in system headers.

(Attempt to move the "-nostdinc -I..." part of CFLAGS into the new CINCLUDES
(modeled after a similar CXXINCLUDES) eventually failed because hard-coding
${WORLDTMP}/usr/include to be the first in the include list does not always
work, e.g. lib/libbind.)

Compensate the -nostdinc removal by making cpp(1) built in the cross-tools
stage to not look for <> header files in the building host's /usr/include
(already committed as gnu/usr.bin/cc/cc_tools/freebsd-native.h, revisions
1.10-1.12, STANDARD_INCLUDE_DIR).

: $ /usr/obj/usr/src/i386/usr/bin/cpp -v /dev/null
:
: Before:
:
: #include <...> search starts here:
:  /usr/obj/usr/src/i386/usr/include
:  /usr/include
: End of search list.
:
: After:
:
: #include <...> search starts here:
:  /usr/obj/usr/src/i386/usr/include
:  /usr/obj/usr/src/i386/usr/include

(Disabling the use of GCC_INCLUDE_DIR in the FREEBSD_NATIVE case would fix
the duplicate above.)

Get rid of the (now unneeded) -I${DESTDIR}/usr/include magic in bsd.prog.mk
and bsd.lib.mk.  Finish the removal of LDDESTDIR in bsd.lib.mk,v 1.55 -- we
no longer have users of it.

The required changes to gcc were already committed as contrib/gcc.295/gcc.c,
revisions 1.23 and 1.24.

Basically, this allows for the changes above plus makes gcc(1) persistent
about path configuration, whether it's configured as a native or a cross
compiler:

: $ /usr/obj/usr/src/i386/usr/bin/cc -print-search-dirs
: install: /usr/obj/usr/src/i386/usr/libexec/(null)
: programs: /usr/obj/usr/src/i386/usr/libexec/elf/:/usr/obj/usr/src/i386/usr/libexec/
: libraries: /usr/obj/usr/src/i386/usr/lib/
:
: $ /usr/obj/alpha/usr/src/i386/usr/bin/cc -print-search-dirs
: install: /usr/obj/alpha/usr/src/i386/usr/libexec/(null)
: programs: /usr/obj/alpha/usr/src/i386/usr/libexec/elf/:/usr/obj/alpha/usr/src/i386/usr/libexec/
: libraries: /usr/obj/alpha/usr/src/i386/usr/lib/

Reviewed by:	bde, obrien
2002-02-21 10:23:41 +00:00