Commit Graph

233 Commits

Author SHA1 Message Date
marcel
fe934c556b Add the buildkernel and installkernel targets.
While here fix some minor style bugs (whitespacing) and move the
make target from Makefile.upgrade to this file.
Simplify the make target to make it readable.
2000-01-09 18:17:48 +00:00
marcel
e828fc7c34 Descent into sub-makes with a fixed PATH. The PATH does not contain
/usr/games on purpose. All tools in /usr/games are built as part of
the tool stages to support building world on machines without games.

This fixes any build problems that have been caused by non-standard
paths and also removes the primary objection for not using absolute
paths.
1999-12-23 13:53:44 +00:00
marcel
92841b839e Oops! bypassing Makefile.inc0 without adding a `world' target is not
a good idea. Adding `world' to Makefile is save, because all hairy
bits are in Makefile.inc1 anyway.
1999-12-08 18:10:15 +00:00
marcel
0dee71c6de Restore the upgrade path from -stable to -current and prepare for
non-root cross-building.

o  Makefile.inc0 is not used anymore.
o  The legacy aout build has been removed.
o  Selectively build tools *before* building includes/libraries.
o  Avoid using mtree to populate the obj tree.
1999-12-08 13:45:11 +00:00
jb
c674d8fde4 Remove a comment about setting objformat to elf by default. We've
done that already.

Change the -DWANT_AOUT comment to refer to 4.0 so that it sounds less
silly.
1999-09-18 08:27:55 +00:00
peter
b6784c4210 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
hoek
03622a243d Comment change: "Be warned, this will update your installed system, except
for the configuration files in the /etc directory." ....  and the kernel.
1999-07-31 13:47:23 +00:00
obrien
e596508b1f Change !defined(NOAOUT) knob to defined(WANT_AOUT). 1999-03-29 10:59:53 +00:00
jkh
b0499efbde Note that the upgrade target exists, and what it does.
Requested by:		Wayne M Barnes <stabilizer@klentaq1.emergingtech.org>
1999-03-20 20:10:19 +00:00
msmith
7d8e9413b3 Use ${MAKE} not 'make -f'
Submitted by:	tfreak@fluffybunny.jaded.net
1999-02-17 20:56:09 +00:00
jkh
0eb29065c2 Frob the upgrade target to be a bit more inclusive. This appears to
be a good bit more successful at doing automated upgrades than the
previous aout-to-elf target, anyway.  I'll MF3 in a couple of days
depending on how this does.
1999-01-26 09:12:21 +00:00
peter
1a9ccea2c7 Dip my toes into the fire and zap the leftover lkm hooks.. It seems they
try and recurse if the lkm dir exists for some reason but there isn't any
Makefile there. (eg: stray files prevented cvs update -P from removing the
empty dirs)
1998-12-28 17:03:50 +00:00
bde
d12e6b4d5b Restored all lost user targets that are supported by bsd.subdir.mk:
checkdpadd, lint, maninstall, objlink, regress and tags.

Removed bogus user target cleanobj.  It is the non-recursive base of
the cleandir target, so it is not useful (or usable) here.
1998-10-17 15:25:26 +00:00
jkh
18dbc1b740 Add back a few useful targets lost in the reshuffle.
Reviewed by:	jb
1998-09-29 22:03:13 +00:00
jb
3d9c8e4bb2 The legacy stuff needs gobs more space in the obj tree. 165->260 Mb. 1998-09-28 20:39:23 +00:00
jkh
2cff249384 Restore default implict behavior of running the all target we had before. 1998-09-15 05:10:17 +00:00
ache
954474eb23 Revive hierarchy again.
Please commit only patches, not whole files!
1998-09-10 20:44:56 +00:00
jb
8c1462730e Add the missing rerelease target back.
Reported by: Justin Gibbs.

Add the move-aout-libs upgrade target so that people who have already
gone elf can put their libraries through the mincer. Anyone who hasn't
deleted aout libraries from /usr/lib (but has done a make world putting
the new aout libs in /usr/lib/aout) will be asked for confirmation
to delete them one by one.
1998-09-09 06:07:32 +00:00
ache
f550d2d7e5 Revive hierarchy target 1998-09-07 18:10:26 +00:00
jb
f30977e8b1 YAMT (yet another missing target). It's a shame that these have to
be visible to the user. Maybe `make release' should call the backend
directly.
1998-09-04 21:19:37 +00:00
jb
26a33c39c0 Add the distribute target that make release wants. 1998-09-04 09:19:19 +00:00
jb
832dc9d4ea Add the clean cleandepend and cleanobj targets back. 1998-09-01 05:53:00 +00:00
jb
10cd4c07fd E-day build system changes.
- Moved most of the guts of Makefile to Makefile.inc1 to become the
  backend for the build system.
- The new Makefile doesn't suffer from problems including the wrong
  sys.mk because it doesn't use anything in there or bsd.own.mk. So,
  from now on, the proper build command is just `make world' (or
  buildworld).
- The intermediate makefiles called Makefile.inc0 and Makefile.upgrade
  fiddle with the OBJFORMAT and MAKEOBJDIRPREFIX variables so that
  both aout and elf object trees can coexist. Makefile.upgrade contains
  the aout->elf transition build.
- A cross build environment is now very close to reality. Specifying
  TOOLDIR, setting OBJFORMAT and MAKEOBJDIRPREFIX allow that.

See the comments in Makefile for more info.
1998-08-31 01:08:08 +00:00
jb
3c55a3033c Build objformat on all architectures. 1998-08-18 12:52:51 +00:00
bde
aecbdd5eed Fully enable the optimization of not building dependencies unless NOCLEAN
is set.  It was disabled in the -j case.  See rev.1.173.
1998-08-04 17:13:38 +00:00
peter
4784dacf03 Descend into etc always; src/etc/sendmail/Makefile has make.conf hooks
for building and installing a local sendmail.cf..

I'm a little nervous about the implications of having an obj dir built
under etc (to get to the obj dir for sendmail), but the make rules appear
to DTRT.
1998-08-04 16:00:47 +00:00
bde
917396a229 Fixed building -current under 2.2.6 using `make world'. Moved some
recently added definitions from sys.mk to bsd.own.mk.  Include the
src-relative bsd.own.mk in src/Makefile to pick up all new definitions.
Don't check that MACHINE_ARCH is defined in src/Makefile, since it is
(and should have been) guaranteed to be defined.
1998-08-03 08:28:14 +00:00
wosch
4f654344f4 Malformed conditional if MACHINE_ARCH is not defined. From rev 1.195. 1998-08-02 09:24:59 +00:00
bde
a90df55526 Oops, don't build tools for building games, etc. when we're not building
games, etc.

Define _BUILD_TOOLS in sub-makes for building tools.  This will be used
to avoid using uninstalled tools in colldef and mklocale.
1998-07-07 09:59:48 +00:00
bde
b3958e0d22 Build internal tools in build-tools so that they have some chance of
working when the target system is not binary compatible.  Use various
hacks to work around minor problems in the source and binary tree
layouts:
- caesar and strfile are built normally (the source layout is good),
  then installed by copying them to ${WORLDTMP}/usr/bin (they are
  installed in ${WORLDTMP}/usr/games, but I don't want to put that
  in $PATH).
- colldef and mklocale are built and installed normally.  Messy and
  incomplete relative path searches for them and caesar and strfile
  can now go away.
- internal tools that aren't installed are now built and left lying
  around for the `make all' pass to use.  If the target system is
  not binary compatible, it is critical that these tools don't get
  rebuilt.  Cleaning of the obj tree before building the internal
  tools should ensure this.
- most internal tools are built using internal build-tools targets,
  but tn3270 is simpler for a change - it has all the tools in a
  separate tree, so they can be built using `make all'.
1998-07-07 05:37:34 +00:00
bde
8ec475bcf0 Added yacc to the bootstrap tools. It is needed very early to
build at least compile_et and lex, and although almost any version
of yacc could work, the version in -stable doesn't actually work
with -current makefiles because it doesn't support -o.

Submitted by:	Ian Holland <ianh@tortuga.com.au>
1998-06-17 09:34:42 +00:00
peter
cffe1528e8 join(1) is used by lorder, add it to build-tools. (otherwise, things get
ugly when an a.out /usr/bin/join sees the elf LD_LIBRARY_PATH from a
'make world' and it's a.out ld.so tries to load the elf libc.so.)
1998-06-13 02:03:36 +00:00
bde
2ea1a64c6d Quick fixes for the mtree bootstrap:
- don't announce `mtree' as `mtools'.
- don't install to ${DESTDIR}/usr/sbin (which often doesn't exist if
  DESTDIR is set and may be read-only if DESTDIR is not set).
- install to (${WORLDTMP}/usr/sbin so that the new mtree is actually
  in $PATH if DESTDIR is set.
- don't use the host make or the host sys.mk.  This is probably
  unimportant.
- use a temporary obj dir like the one for `make'.  This was mainly
  necessary because I forgot to remove the MAKEOBJDIRPREFIX unsetting
  which was just a bug for mtree.  A non-quick fix would handle mtree
  more like a bootstrap tool (the only additional complications are to
  create ${BINDIR} and avoid excessive cleaning).  Except a non-quick
  fix would change much more.
1998-06-09 07:19:13 +00:00
sos
ba9aeb9a3a Compile mtree before it is used, this is a hack, but make world has
failed since new functionality was introduced in mtree.
1998-06-07 10:50:28 +00:00
jkoshy
143fa442e6 -DALLLANG is now obsolete in "src/Makefile"; move to "src/release/Makefile".
PR: 6685
1998-06-06 04:39:42 +00:00
bde
988340a608 Don't run the target's ldconfig or build it as a tool. If target == host
(in particular, if DESTDIR is empty or "/"), then the host's ldconfig will
be the target's ldconfig by the time it is run.

Fixed disordering of env.

Don't know too much about libcrypt.  Use exactly the same definition of
_libcrypt as lib/Makefile.

Don't build strip twice.
1998-06-06 01:13:21 +00:00
bde
214c1fd3db Fixed bogotification of the lex bootstrap in rev.1.186 and the previous
commit - don't wander off to bootstrap mtree and include in the middle
of bootstrapping lex, and don't forget what we were doing and build
some lex obj dirs twice.
1998-06-06 00:56:23 +00:00
jkh
4b2f08f788 Add mtree to bootstrap targets now that peter has added a new
keyword to it which will otherwise call the next target to fall over
on transitioning systems.
1998-06-05 16:50:45 +00:00
jb
98c3d99311 Build aout bootstrap tools only on i386.
`make world' now works on alpha!
1998-06-04 12:02:52 +00:00
charnier
6ddd45b0c1 Typos. 1998-06-04 06:25:22 +00:00
jhay
dd7c85df05 Don't build perl in build-tools: if NOPERL is defined. 1998-06-02 18:28:55 +00:00
peter
749fb41109 Fix brain-fart. "usr.bin/reinstall" should be "sbin/ldconfig".
No comment. *-<:-)

Submitted by:	"Pierre Y. Dampure" <pierre.dampure@k2c.co.uk>
1998-06-02 11:22:08 +00:00
peter
706b913b91 ldconfig is used at the end of installworld. 1998-06-01 18:29:11 +00:00
jhay
ac0b4f9cec Add a test to see if the secure directory exists, before deciding which
crypt library should be used when building bootstrap-libraries. This
make it work on machines that don't have the secure directory.
Thanks to Paul Allenby <pallenby@mikom.csir.co.za> for bringing it to
my attention.
1998-05-30 07:32:28 +00:00
jkh
fcf8c8e29a Whoops! Committed the wrong version of that file - here's the one which
works.
1998-05-29 05:15:47 +00:00
jkh
e78b6e6ba1 Move sh after awk in build tools - sh requires awk to build. Add id
to list of bootstrap tools.
Submitted by:	jhay
1998-05-29 05:14:08 +00:00
peter
058c6cba5b Only pre-build the "default" libcrypt, since it gets to set the symlinks
for the rest of the build.  I'm not certain, but I think this determines
which crypt() goes into /sbin/init.  This change shouldn't hurt anyway. :-)

Based on a suggestion by: bde
1998-05-28 13:20:35 +00:00
peter
8f76a58dbb Urgent fix for bootstrap target. If the old symlinks are pointing to the
real source tree, the bootstrap target would attempt have cpio copy the
files over themselves, unlinking them first.  I think this only happened
with make -DNOCLEAN world at the transition between a symlinked
objdir/tmp/usr/include/{sys,net,..} and real files.
1998-05-28 12:31:42 +00:00
peter
777c5c6b19 Replace the partial symlink tree to src/sys/* in $OBJDIR/tmp/usr/include
with real copies.  I'm sick of !@#&!^!@#*& mtree chowning directories in
my src/sys/* tree after it follows the symlinks.  I still believe that
mtree is broken for doing this (introduced in mtree.c rev 1.5).
1998-05-27 18:50:01 +00:00
peter
ab64afdbb0 On the other hand, when /usr/bin/as is really a link to objformat, it's not
helpful to stop it running /usr/libexec/aout/as for real while bootstrapping.
Only force a strict path when we really have built all the tools in
$OBJDIR/tmp/usr/libexec/*.
1998-05-27 16:33:43 +00:00