Commit Graph

225 Commits

Author SHA1 Message Date
John Birrell
a6919ef89d Fix the problem people are having building -current on a -stable system.
The headers that are installed in WORLDTMP are part of the interface
that includes libraries like libc, so they must be installed together.
This means that lib-tools and build-tools should be merged. The FreeBSD
build only works in hosted form where it is assumed that the installed
version contains adequate tools to build the latest release.
1998-05-08 21:29:35 +00:00
Bruce Evans
e66437e7a9 Added patch to build-tools (now needed to make gdb, sigh).
Pointed out by:	andreas
1998-05-02 12:29:48 +00:00
Bruce Evans
1c9df6b435 Don't build dependencies unless NOCLEAN is set. This speeds up
`make world' by about 14% here (down to 4490 seconds real on a
K6/233).  Temporarily skip this optimization when building with
-j, since there are still many broken makefiles.

Fixed NOCLEANDIR option.  Cleaning of `.depend' was broken.

Put -nostdinc in CFLAGS, not in CC, and don't override the default
CC.  This fixes enforcing use of ${WORLDTMP}/usr/include.

Don't install library man pages in ${WORLDTMP}.
1998-04-27 16:21:33 +00:00
Jordan K. Hubbard
29c03682fa Use more reasonable defaults for SUP variables (and print them
correctly) now that sup is long since dead and buried.
1998-04-26 08:40:25 +00:00
Andreas Klemm
3f99ca5351 make includes has to execute "make beforeinstall" in src/lib/libcalendar
as well, otherwise "make depend" during "make buildworld" fails in
usr.bin/ncal
1998-04-25 14:32:22 +00:00
Bruce Evans
29844c8f14 Don't build shared libraries twice for `make world'. This reduces
`make world' times by about 10%.  Use a new `bootstrap-libraries'
target to build just enough (static) libraries to bootstrap the
tools, and delay building of shared libraries until all the tools
have been built.

Fixed `/usr/bin/make world'.  The version of `make' that we buildis
nand use is named "make", not ${MAKE}.
1998-04-24 17:13:33 +00:00
Dmitrij Tejblum
878739de43 Cosmetic: put '@' in front of a very long command. 1998-04-19 13:44:52 +00:00
Mark Murray
5019f318e8 Make the decision to compile kerberosIV a bit more secure by looking
for the appropriate directory.
1998-03-26 17:32:24 +00:00
Bruce Evans
47e0b716cb Build the initial `make' in the temporary build tree so that its forced
cleaning doesn't affect the normal copy.  Save a little time by not doing
unnecessary clean, depend nd cleandepend steps.

Reviewed by:	mckay@freebsd.org

Added xargs to build-tools.  It may be used for kdump and truss.
1998-03-19 16:43:19 +00:00
Bruce Evans
279e998173 Restored an (apparently unnecessary) -B for installing lib-tools.
The install target is -j-unsafe in general, so we use -B for
installing everything in `make world'.
1998-03-16 11:58:46 +00:00
Bruce Evans
42fce6372e Don't force NOPIC for building tools at all for now, so that some
(slightly stale) shared libraries get installed before non-tools
are linked.  The 2-stage build of the libraries has never really
worked, since we link to the libraries built in the first stage.
1998-03-15 04:52:58 +00:00
Bruce Evans
ff85458032 Don't force NOPIC or NOSHARED for building tools in the NOCLEAN case,
so that dirtier-than-previously tools aren't left lying around to be
installed.

Filter out NOPIC from ${MK_FLAGS} for `make ${OBJDIR}' for ld (and
some other things), so that the obj dir for ld/rtld always gets
re-made.

Fixed a literal "make".
1998-03-14 13:58:21 +00:00
Bruce Evans
13a8a44971 Build all tools shared, and don't build any shared libraries for tools.
Build libraries (for linking the tools to) in a more correct order
(for linking freshly created shared libraries to each other).  This
is probably a no-op now that shared libraries for tools aren't
built, but I didn't test any intermediate versions.  Security-related
directories that are not built by default may now be misordered
for the shared case.

Don't build libcompat specially.  It isn't used for tools, and
shouldn't be used in /usr/src (it is only used for IPXrouted and
crufty games).

Added missing ${.CURDIR} to existence tests for library directories.
Existence tests for top-level directories are still broken.

Test for library directories actually being built, not for directories
above them.
1998-03-13 09:41:58 +00:00
Bruce Evans
4a9d3efb86 compile_et is now used early to build includes for libss, so build it
earlier.  This is probably unnecessary.

Added now-necessary -B for installing headers for libss.

Removed now-unnecessary -B for building cleandepend for rpcgen.
1998-03-12 13:19:59 +00:00
Bruce Evans
228e718f7c Fixed missing SHLIBDIR in GCC_EXEC_PREFIX.
Add the path to the source .mk files to the beginning of .MAKEFLAGS
instead of to the end, so that there is more chance of it having
priority.  Additions in /etc/make.conf still have priority for
sub-makes if they are also at the beginning, although this is
probably not wanted for building /usr/src.

Use ${MK_FLAGS} for building dependencies for tools.  This saves
time building dependencies for tools that won't be created (mainly
profiled libraries) and will be necessary to give correct dependencies
when tools are built static.

Spell the object directory as ${OBJDIR} consistently (even when we know
that ${OBJDIR} == "obj").

Print ${DESTDIR} in messages where appropriate.

Fixed some misformattings.
1998-03-12 10:55:02 +00:00
Bruce Evans
46986e6888 Separated header creation from header installation in libss. Create
the libss headers before installing them in `make world'.
1998-03-12 10:08:50 +00:00
John Birrell
b97da42349 Change the bootstrap makefile inclusion to be general based on the
MACHINE. This lets me play with porting to m68k too. 8-) That is a
good test for portability because MACHINE != MACHINE_ARCH and m68k is
big endian.
1998-02-19 07:34:46 +00:00
Nate Williams
165932dd78 MF22:
- After the install has been done, but before makedb is run, run
  'ldconfig -R' to pick up new shlib dependencies.

Suggested by:   Amancio and a whole lot of other folks
1998-02-19 00:24:43 +00:00
Adam David
dbf1ec592e -DNOTOOLS to not rebuild any tools during buildworld 1998-02-06 09:52:34 +00:00
John Birrell
cf763a57d2 Test for ${MACHINE} == "alpha" and include the bootstrap makefile instead
of doing the normal build. When the alpha bootstrap is complete (there
is more work to do!), the alpha will build like the i386 does now.
I changed i386 references to ${MACHINE} now that we're multi-architecture.
1998-01-11 04:51:02 +00:00
Satoshi Asami
68cd0c9acc Do not use -B in initial build of "make". It doesn't exist in 2.1.x.
Instead, list the targets one per command line.

Reviewed by:	bde
Submitted by:	bde (part)
1997-10-10 13:02:36 +00:00
Bruce Evans
ff2daf7bfc Removed uneeded ${.MAKEFLAGS} again.
Originally committed in: rev.1.141
Spammed by:	rev.1.149 (mouldy parallel make diffs)
1997-10-07 11:32:05 +00:00
Jordan K. Hubbard
39245839f5 Having to review all changes to this file _very_ carefully
led me to find 2 more errors which were there before. :)
1997-10-06 10:21:36 +00:00
Jordan K. Hubbard
191ae5bcf8 Hooboy!
Did I ever spam this file good with that last commit.  Despite 3
reviewers, we still managed to revoke the eBones fixes, TCL 8.0 support,
libvgl and a host of other new things from this file in the process of
parallelizing the Makefile.  DOH!   I think we need more pointy hats - this
particular incident is worthy of a small children's birthday party's worth of
pointy hats. ;-)

I certainly intend to take more care with the processing of aged diffs
in the future, even if it does mean reading through 20K's worth of them.
I might also be a bit more anal about asking for more up-to-date changes
before looking at them. ;)
1997-10-06 09:58:11 +00:00
Steve Passe
2c545ac503 Removed redundant 'all' arg to " Making Make" target.
Removed "-r RELENG_2_2" from 'update' target.
1997-10-05 22:28:50 +00:00
Mark Murray
4a3b1f84ff How the heck did this get back?? 1997-10-05 15:39:47 +00:00
Jordan K. Hubbard
97fe7f477f Changes to support full make parallelism (-j<n>) in the world
target.
Reviewed by:	<many different folks>
Submitted by:	Nickolay N. Dudorov" <nnd@nnd.itfs.nsk.su>
1997-10-05 09:40:24 +00:00
Stephen McKay
1e1ff62149 When bootstrapping lex, the object directory for lex/lib would be deleted
without being recreated.  A read-only source compile would then fail shortly
afterwards trying to write .depend into the source tree.
1997-09-28 16:25:28 +00:00
Mark Murray
542552a46c Change for KTH KerberosIV.
-DMAKE_EBONES is changed to -DMAKE_KERBEROS4
1997-09-28 09:26:05 +00:00
Jordan K. Hubbard
c09eac88f0 When making make, do cleandir *before* objdir or we'll end
up with a blown objdir for the depend stage, leaving the
.depend file in ${SRCDIR} instead.
1997-09-26 09:31:41 +00:00
Bruce Evans
d7f4fc69b4 Backed out rev.1.136 and rev.1.144. Force SHARED=symlinks in a different
way - for buildworld only.

Rev.1.136 broke the (deprecated) external includes target.  Rev.1.144 was
a half-baked backout of rev.1.136.  It broke SHARED=symlinks for the
buildworld target and installation of subdirs of src/include for the
includes target.
1997-09-16 10:45:41 +00:00
Rodney W. Grimes
825cbd5821 When calling the src/include Makefile use the shorthand ``all beforeinstall''
inplace of ``all installhdrs symlinks'' so those of us who run with
SHARED=copies get the right results.
1997-09-15 05:58:50 +00:00
Peter Wemm
a13c81d8e4 Back out use of -m, since 2.1.x apparently do not have it. (sigh..) 1997-09-05 09:11:24 +00:00
Peter Wemm
cf68c4fbd8 Fix the ${BINFORMAT} definition problem during 'make {build}world'. The
wrong switches were being passed to 'make' that caused sys.mk to come from
the /usr/share/mk location but the bsd.*.mk files to come from the
source tree in src/share/mk.  This was bound to break sooner or later.

Submitted by:	Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
1997-08-31 21:06:40 +00:00
Peter Wemm
c2f5ca64d3 Remove unneeded ${.MAKEFLAGS} being explicitly passed on via the command
line..

PR:  4368
1997-08-26 14:15:25 +00:00
Bruce Evans
5c2de1d703 Use new installhdrs target to install tcl includes. 1997-08-25 19:40:53 +00:00
Bruce Evans
a98622df6d Added directories in the includes target so that it installs
everything that a full install would (modulo bugs in rpcsvc/Makefile).
The missing things weren't used (except for mp.h from libmp), but
there are relatively few of them and it's easier to be complete.
1997-08-21 15:43:54 +00:00
Bruce Evans
912dc4f0ba Restored rev.1.122, which was clobbered by copying from -stable in
rev.1.134.

Split long lines.
1997-08-21 15:16:07 +00:00
Peter Wemm
dfd35b6576 Pass command line args to 'buildworld' and 'installworld' etc. Otherwise
'make -DNOCLEAN world' is completely ignored.
1997-08-18 06:54:18 +00:00
Peter Wemm
1dd53538bc In the includes target, call the header install target explicitly and then
call the 'symlinks' target to build the /usr/obj/tmp/install/sys tree since
In the includes target, call the header install target explicitly and then
call the 'symlinks' target to build the /usr/obj/tmp/install/sys tree since
we set this up manually earlier, and if we do a 'make all install', we
replace the symlink tree in the obj dirs with new copies of the files
which breaks any chance of -DNOCLEAN working.
1997-08-18 06:44:44 +00:00
Andreas Klemm
3dfd5a6295 fix a make world problem.
updated beforeinstall target.
mp.h from gnu/lib/libgmp.h has to be installed to /usr/include
so that usr.bin/chkey and usr.bin/newkey can be compiled.
1997-08-17 21:14:22 +00:00
Satoshi Asami
f9998d9b90 Merge from -stable; NOTCL hook in beforeinstall. 1997-08-12 10:12:56 +00:00
Satoshi Asami
2799473b0c Merge buildworld/installworld patch to Makefile from RELENG_2_2. Patch
a couple *.mk files to enable -current world building on really old
machines (e.g., 2.1.5).

Reviewed by:	too many many people to list here, special thanks to bde
1997-08-05 03:49:49 +00:00
Satoshi Asami
4460c39e86 More whitespace/tab fixes.
Submitted by:	bde
1997-07-31 08:31:50 +00:00
Satoshi Asami
caaf2b4b9a Consistently use tabs in the leading comments.
Submitted by:	bde (yes, I'm serious)
1997-07-31 08:06:29 +00:00
John Fieber
436821e9a2 Remove sgml stuff from the build-tools target. It is no longer used
in a make world.
1997-06-08 15:04:06 +00:00
John Hay
89780415d4 Add libmp and libz to the includes target. This makes "make includes -DCLOBBER;
make depend; make all" work. I think there should be a better than adding
each library directory here.
1997-06-08 14:03:23 +00:00
Peter Wemm
1b87a2d536 make beforeinstall in libalias from the includes target 1997-05-26 05:27:37 +00:00
Satoshi Asami
5c49694977 Fix comment about LOCAL_DIRS. Now it works as advertised. :) 1997-05-21 22:48:51 +00:00
Jordan K. Hubbard
d50204c1b0 Remove evil MAKE_LOCAL and MAKE_PORTS hacks and replace them with
a simpler, more general LOCAL_DIRS hack.
Reviewed by:	asami
1997-05-21 19:41:16 +00:00
Peter Wemm
62eb403e46 Forgot to commit this.. Do a 'make all' in src/include before trying
to install it.  Otherwise osreldate.h breaks.

Pointed out by:  Doug Rabson <dfr@nlsystems.com>
1997-05-13 18:11:38 +00:00
Bruce Evans
b02cab92aa Use `mk' files in share/mk (relative to the top level of the source
tree) instead of the system default ones in /usr/share/mk.  This
only works for makes run from the top level, and a few not too out
of date system makefiles must be present to start up.  Bootstraps
from can still be done from scratch by giving the path to an up to
date share/mk on the command line.

Removed bootstrap `mk' target and use of it.  The bootstrap didn't
actually work for the non-null DESTDIR case.
1997-05-10 06:53:40 +00:00
John Birrell
cb6e7ccbea Change default build to include libc_r, but allow disadvantaged souls
to turn off the build.
1997-05-03 02:51:59 +00:00
Bruce Evans
594f943d52 Bootstrap the info `dir' file from here. 1997-04-30 16:02:03 +00:00
John Polstra
598c1e5004 Process "lib/csu/i386" at the beginning of the "libraries" target,
instead of in the middle of it.  Soon, "c++rt0.o" will be linked
into all shared libraries.  An up-to-date version of it must be in
place before any shared libraries are built.

This is one piece of the solution for PR gnu/3035 (gcc -shared).
1997-04-09 18:59:36 +00:00
Andrey A. Chernov
0017e6c0ba Back out csu fix, because it was just fixed differently 1997-04-02 17:10:16 +00:00
Andrey A. Chernov
05266ef44d For csu/i386 add "all" before "beforeinstall", because "beforeinstall"
wants to install "all" targets which not exist at this stage
1997-04-02 16:44:06 +00:00
Peter Wemm
4ffab4447e Revert $FreeBSD$ to $Id$ 1997-02-23 15:50:34 +00:00
Jordan K. Hubbard
5342201a6d Add uudecode to lib-tools so that the -p option is available for
the later build in lib/compat/* for those systems upgrading from source.

Pointed-Out-By: John Hay <jhay@zibbi.mikom.csir.co.za>
1997-01-21 13:12:10 +00:00
Jordan K. Hubbard
1130b656e5 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
John Polstra
225e93b66d Add "lib/csu/i386" to the "includes" target, so that <dlfcn.h> is
installed before it is needed.
Noticed by:	David Conran <lucifer@maths.uq.oz.au>
1997-01-12 18:32:53 +00:00
Steve Price
35d98ca782 Remove yacc from the lib-tools target since it is now
back to its original form.

Requested by: jkh
1997-01-12 05:33:24 +00:00
Joshua Peck Macdonald
9abd8172b6 Add -DNOINFO to MK_FLAGS, that's okay right? The comment says
MK_FLAGS contains -DNOMAN and -DNOPROFILE for speed, so I assume
NOINFO is okay as well.

Add gnu/usr.bin/texinfo to build-tools so everything does the right
thing.
1997-01-11 10:53:01 +00:00
Jordan K. Hubbard
17440902a7 Add yacc to lib-tools target, now that it's been changed. 1997-01-07 02:28:57 +00:00
Satoshi Asami
df183ef18e Add comment on -DALLLANG.
Suggested by:	max
1996-12-20 08:18:47 +00:00
Andrey A. Chernov
8d558e03ec Use LC_TIME=C instead of LC_TIME= (POSIX) 1996-11-26 03:26:31 +00:00
Adam David
32ec48a5bc use NOSHARE variable to skip 'share' directory, useful for shared installations
or for faster make of executables.
1996-11-01 19:03:33 +00:00
Bruce Evans
f3c4dd0d4c Improved comment about `all' target.
Use a for loop instead of massive duplication in the build-tools target.
1996-10-25 14:22:50 +00:00
Peter Wemm
bd4739cb12 oops, how did this get into the reinstall target? :-]
Must have been a cut/paste foulup...  The whole idea of 'make reinstall'
is that it doesn't build anything from the source server mount.
1996-10-14 12:58:47 +00:00
Jordan K. Hubbard
81beb58a1a Add awk to build target.
Submitted-By: jhay
1996-10-06 02:17:43 +00:00
Andrey A. Chernov
a42830afaa Use SUP and SUPFLAGS variables to change them to cvsup if needed 1996-10-05 18:36:38 +00:00
Peter Wemm
e178250902 Add some 'world' hooks for libg++-2.7.2, specifically the new libstdc++
directory.  Also, add gnu/usr.bin/as to the lib-tools target since libgcc
generates weak symbols, and libstdc++/libg++ use them.  ie: coming from a
2.1.x system will fail without 'as'.
1996-10-04 08:48:27 +00:00
Andrey A. Chernov
5ae1e22008 Unlocalize date 1996-09-21 06:06:41 +00:00
Peter Wemm
c2e40bdea4 Hooks to attempt to get 'make world' working with gcc-2.7.2.1. It's
worked for me, but no guarantees yet.

Basically, move cc earlier to lib-tools target, before libraries are
built.  libgcc is built at the same time, so it's special entry is
removed from the libraries target.  Also, add bison/gperf immediately
before cc, since they are needed to build cc and are not present on an
earler-than-2.2 system.  (libgcc is partly built with the freshly compiled
gcc-2.7.2.1, since it uses __attribute__'s that were not present until now)

This _should_ be enough to get running from older releases, perhaps as far
back as 2.0.5.
1996-09-19 16:36:24 +00:00
Jordan K. Hubbard
6fcd2a4757 Add 3 small lines which add to the utility of the "finished on date"
output in the world target.
1996-09-18 18:14:37 +00:00
John Fieber
1e76740a30 Add usr.bin/sgmls to the build-tools target.
This should prevent make world from falling over in share/doc.
1996-09-10 04:21:36 +00:00
Peter Wemm
b7a48796ce - cosmetic change to 'make world'
- do an explicit 'make all' in include/rpcsvc in 'make includes' as
  a 'make install' is not supposed to build anything.
1996-08-30 22:35:30 +00:00
Jordan K. Hubbard
ae04a796b0 Revert all the make depend changes. 1996-08-25 05:17:49 +00:00
Jordan K. Hubbard
5f87a4a8a6 Get rid of all the explicit calls to make depend. 1996-08-23 16:50:27 +00:00
Nate Williams
e452601bed Removed extraneous .endif that was left during OBJDIR cleanup.
Noticed by:	phk
1996-08-07 19:28:09 +00:00
Peter Wemm
2f15594269 Move tsort back to lib-tools where it belongs, and add a "specially
for bootstrap" tweak to the lex Makefile to stop it building the library
too early.

This untangles things a bit more, it stops new bootstraps failing because
libl/libfl uses 'ld -O' before ld is updated.
1996-08-07 13:25:59 +00:00
Peter Wemm
e326fc73b9 Correct spelling of NOOBJDIR (I mistakenly wrote NOOBJ).
Closes PR#1451 (Ph. Charnier <charnier@xp11.frmug.org>) and
PR#1453 (Peter Mutsaers <plm@xs4all.nl>)
1996-08-07 13:21:43 +00:00
Jordan K. Hubbard
0f802bcd51 The bootstrap target in src/Makefile has the wrong order for lex/tsort
because lex has a library (libln.a) and bsd.lib.mk has been modified to use
'tsort -q'. Tsort has not been build yet...

tsort should be before lex.  [Whoops! Thanks! -jkh]

Submitted-By: roberto@keltia.freenix.fr (Ollivier Robert)
1996-08-03 13:00:35 +00:00
Jordan K. Hubbard
5f354572b7 Add tsort to bootstrap targets. 1996-08-03 06:44:46 +00:00
Peter Wemm
a962de47ad General tidy-up of Makefile. The objective was to make it clear and
readable, as well as fix up some of the warts along the way.  Among the
things fixed is the infamous "cd foo && make depend all install" bogon,
which is particularly important for users of the -DNOCLEAN option.

Also, a few typo and DESTDIR fixes and a -DNOGAMES hack from Gary Jennejohn.
1996-07-27 21:47:42 +00:00
James Raynard
89f044eb97 Fix typo in Makefile.
Reviewed (informally!) by jkh.
1996-07-21 00:05:31 +00:00
Jordan K. Hubbard
caf93ef534 Add make to the bootstrap targets (I thought I committed this 3 days ago -
sheesh!).
1996-07-01 06:13:31 +00:00
Poul-Henning Kamp
5e72817c93 Add beforeinstall decent into libtcl 1996-06-28 05:36:00 +00:00
Peter Wemm
c12745e172 Comment out the:
.if exists(contrib)
 SUBDIR+= contrib
 .endif
because it now tries to decend into the new contrib dir which doesn't
have a Makefile.
1996-06-27 06:00:52 +00:00
Nate Williams
2edcca74cb Added libftpio to 'includes'. 1996-06-26 22:47:52 +00:00
Jordan K. Hubbard
cd9a2f5c28 Bring in my changes for removing the pestilent obj links (unless you
really want them) from /usr/src.  This is the final version of the
patches, incorporating the feedback I've received from -current.
1996-06-24 04:26:21 +00:00
Paul Traina
ba16a6766c Ask CVS to run in quiet mode, which makes it easier to see what the
update actually did.
1996-06-22 17:58:44 +00:00
Jordan K. Hubbard
16a34ebd54 Add pre-world and post-world hooks so that people can do site specific
cleanup or preinitializion of /usr/src before and after the world target
is run.
1996-06-20 18:47:04 +00:00
Adam David
faa0e467b2 libforms is no more 1996-06-20 13:38:15 +00:00
Nate Williams
32c1db0624 Don't try to do a 'make bootstrap all install' in one commend. Break it
into two make commands so that make will recognize that it doesn't need
to buid scan.c w/lex.
1996-06-19 21:19:56 +00:00
Nate Williams
d7d0ca4c97 Added lex to the bootstrap target. 1996-06-19 20:48:48 +00:00
Mark Murray
6a8d432dee 1) make -DCLOBBER not remove most of /usr/lib
2) make all the 'pre-targets' not install profiled libraries and man pages
   to speed up the bootstrap in a 'make world'
1996-05-04 07:12:07 +00:00
Paul Richards
03130ccadf Re-instate the bootstrap target which can be used to build tools
that can't be built by older OS versions.

Use it to install the lint binaries.
1996-03-24 13:16:45 +00:00
Jordan K. Hubbard
0b802df847 Add a hint that a make world is done so people don't think that the last
command (makewhatis) is running forver. :)
1996-03-11 14:59:10 +00:00
Peter Wemm
5b16f1c546 do the 'include-tools' as part of the world target (like lib-tools and
build-tools) so that a "make includes" doesn't spam your build tree.
1996-02-17 14:23:25 +00:00