Commit Graph

26 Commits

Author SHA1 Message Date
ru
99be26b20c 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
peter
0d360719d1 I should know better than to touch this without testing a 'make release'
but ${MACHINE_ARCH} should be ${MACHINE} here.  pc98 has its own
GENERIC.hints file and should not be used with the i386 version.
2000-08-24 18:53:09 +00:00
jhb
9d2a54f3c0 Add in a hack that installs 'src/sys/${MACHINE_ARCH}/GENERIC.hints' as
/boot/device.hints in the bin dist during releases so that current snapshots
have a chance of booting up ok after installing.  The real fix for this
problem is to rewrite userconfig in Forth, stick it in the loader, axe
userconfig from the kernel, and extract the hints from the booted kernel in
sysinstall similar to the way we generate /boot/kernel.conf right now.  For
now, however, this will have to do.
2000-08-17 05:43:41 +00:00
obrien
8101383650 If "MODULES_WITH_WORLD" is defined, sys/modules will be built with the
world as was our old way, rather than when building a kernel.

Some people do not like the new way, and the release building still assumes
modules are built with the world.
2000-06-17 10:51:56 +00:00
chuckr
0e15b0bc0e Cause modules to build with the kernel build. Modules are removed
from the sys Makefile's SUBDIRs.  This is conditioned in make.conf by the
NO_MODULES variable and the existence of the modules directory.  The
actual location of the modules is not modified.  Changes in Makefiles
only, this does not affect Peter's recent changes.

Reviewed by:	Peter Wemm, who warned me I would get some flack, and
		he had the good idea for the NO_MODULES variable.
2000-05-02 02:26:04 +00:00
peter
a9f6105b55 Remove the old a.out-only boot loader, we don't use it any more.
The new boot1/boot2 can load a.out and elf kernels directly.
I think the sys/pc98 version can go too as the sys/boot/pc98 code
appears to be functional, but I'll leave that for the pc98 folks.

"There can be only one."
2000-03-19 11:42:34 +00:00
marcel
b6a67d6d2b ${MACHINE} -> ${MACHINE_ARCH}
All Makefiles now use MACHINE_ARCH for the target architecture.
Unification is required for cross-building.

Tags added to:
	sys/boot/Makefile
	sys/boot/arc/loader/Makefile
	sys/kern/Makefile
	usr.bin/cpp/Makefile
	usr.bin/gcore/Makefile
	usr.bin/truss/Makefile

usr.bin/gcore/Makefile:
	fixed typo: MACHINDE -> MACHINE_ARCH
1999-11-14 13:54:44 +00:00
peter
e4b04a2b21 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
kato
91b241bd99 Use MACHINE_ARCH instead of MACHINE to check x86 architecture.
Pointed out by:	Akio Morita <amorita@meadow.scphys.kyoto-u.ac.jp>
1999-06-03 10:38:07 +00:00
jkoshy
ac52dee020 Use ${.CURDIR} in `exists()' constructs.
PR:		misc/4395
Submitted by:	J Wunsch <j@ida.interface-business.de>
1999-04-21 11:09:40 +00:00
bde
5a3f3b65eb Backed out previous commit. It depends on a.out utilities and libraries
somehow being available even on pure elf systems.
1998-12-30 12:06:08 +00:00
bde
caaffe5675 Always build ${MACHINE}/boot if it exists. Makefiles shouldn't know
about deficiencies in subdirs.
1998-12-30 11:17:09 +00:00
peter
ab586fb1f1 Build KLD modules, these work for both a.out and elf. 1998-11-03 06:50:58 +00:00
rnordier
a305e37727 In src/Makefile.inc1:
Remove /sys/boot from legacy-build.
    Add btxld to build-tools.
In src/sys/Makefile:
    Add /sys/boot for i386 ELF.

I'm still not sure why the new boot code was being built along with the
legacy stuff, which meant a completely wrong default environment for it.

This may well still be the wrong way to go about this, but it can't work
all that much worse than it has been.
1998-10-11 18:39:38 +00:00
gpalmer
217632b3b5 Build the new boot loader on the alpha. This allows make release to work again. 1998-10-04 00:42:08 +00:00
jb
e521b53e5a Add support for MACHINE=pc98. This leaves a single legacy entry for
the old aout bootloader.
1998-09-05 08:27:56 +00:00
jb
f6e929e116 Only build the old boot loader on i386 if aout. The new loader will
eventually be built if elf.
1998-08-27 04:26:40 +00:00
jb
6e5b7de616 Test for the existance of ${MACHINE}/boot before trying to build it.
The PC98 stuff in this makefile should be removed and that system
should build with MACHINE=pc98 and MACHINE_ARCH=i386.
1998-02-20 07:37:08 +00:00
jkh
258343d3de Commit a long-forgotten tweak for building tags in /usr/src/sys. 1997-07-13 07:36:20 +00:00
peter
c8dcd04895 Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not
ready for it yet.
1997-02-22 09:48:43 +00:00
jkh
9c0cd3f9df 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.
1997-01-14 07:20:47 +00:00
asami
c0e03d4fb9 The Great PC98 Merge.
All new code is "#ifdef PC98"ed so this should make no difference to
PC/AT (and its clones) users.

Ok'd by:	core
Submitted by:	FreeBSD(98) development team
1996-06-14 11:02:28 +00:00
bde
6f711e75eb Removed almost all traces of libkern.a. The objects that were in
libkern.a are now specified by listing their source files in
files.${MACHINE}.  The list is machine-dependent to save space.
All the necessary object for each machine must be linked into the
kernel in case an lkm wants one.
1995-12-26 13:58:31 +00:00
paul
002caff9e2 Added ${MACHINE}/boot to build bootblocks.
Submitted by:	Paul Richards
1994-08-25 13:54:28 +00:00
dg
07b8b5ff37 Added $Id$ 1994-08-02 07:55:43 +00:00
rgrimes
eeeba053c8 Add this so that the top level Makefile can traverse down into here
and build libkern.  This will be enhanced later to build other things.
1994-05-28 04:10:32 +00:00