Commit Graph

408 Commits

Author SHA1 Message Date
peter
d0cf6313ba 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
c4e1dd04fb 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
d2d8dfe1c5 Malformed conditional if MACHINE_ARCH is not defined. From rev 1.195. 1998-08-02 09:24:59 +00:00
bde
28e4ac2223 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
04e31c4a1d 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
a7dfca09c3 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
b2d1ceea52 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
cd35d4abdf 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
c19c19de29 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
676233ef27 -DALLLANG is now obsolete in "src/Makefile"; move to "src/release/Makefile".
PR: 6685
1998-06-06 04:39:42 +00:00
bde
b1fe1cc67c 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
55772ed9c6 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
e6bdbe311c 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
08171730de Build aout bootstrap tools only on i386.
`make world' now works on alpha!
1998-06-04 12:02:52 +00:00
charnier
4892ab73e5 Typos. 1998-06-04 06:25:22 +00:00
jhay
9a2ca3371a Don't build perl in build-tools: if NOPERL is defined. 1998-06-02 18:28:55 +00:00
peter
9b3fd83b9e 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
c1db59662a ldconfig is used at the end of installworld. 1998-06-01 18:29:11 +00:00
jhay
7f2993c7fe 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
3121ab6679 Whoops! Committed the wrong version of that file - here's the one which
works.
1998-05-29 05:15:47 +00:00
jkh
fa9e386c33 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
3e7c7f9c3c 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
c31bdd1317 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
f9b1d08171 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
53e563399c 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
peter
ab6173c22c Move objformat after binutils, otherwise we get chicken/egg problems when
building ELF.  It may be that binutils and objformat need to both be moved
earlier in the list though, but that can wait till the dust settles.
1998-05-27 15:40:35 +00:00
sos
327c9c51a0 Compile & use objformat as it was intended to, I have no idea why
that failed for me before :(
1998-05-27 07:59:37 +00:00
sos
bc60c8025e ELF preparation step 2:
Move a.out libraries to /usr/lib/aout to make space for ELF libs.
Make rtld usr /usr/lib/aout as default library path.
Make ldconfig reject /usr/lib as an a.out library path.
Fix various Makefiles for LIBDIR!=/usr/lib breakage.

This will after a make world & reboot give a system that no
longer uses /usr/lib/*, infact one could remove all the old
libraries there, they are not used anymore.

We are getting close to an ELF make world, but I'll let this
all settle for a week or two...
1998-05-26 20:12:56 +00:00
sos
ea8b97a093 ELF preparation step 1:
Move our old a.out utils to /usr/libexec/aout.
Enable binutils and put the utils in /usr/libexec/elf
Enable objformat, a little helper program that calls the right
utils based on /etc/objformat and $OBJFORMAT.

This will enable the ELF generating tools.
Remember that this is only step one, the system is still compiled
and run in a.out format ONLY.

Problem left to solve: The BSD manpages wins over the GNU equivalents
as the are installed last. We need to distinguish between the manpages
somehow...
1998-05-25 17:34:42 +00:00
jb
dc998b817d Make perl a build tool since it is required during a make depend.
This should fix the problem people have been having with perl/usub.
1998-05-18 03:28:02 +00:00
jb
4c2eaaf8c8 Now that FreeBSD/Alpha can be installed on a disk and run on its own,
a bootstrap build under NetBSD is an option.

This makefile will require further changes to ignore aout tools.
1998-05-16 22:20:44 +00:00
bde
f4b22a6ef5 Don't use `&&' in any shell commands here. Using it to give conditional
execution is usually unnecessary in BSD Makefiles because BSD make
invokes shells with -e.  Using it to give conditional execution is
often wrong in BSD makefiles because BSD make joins shell commands
when invoked in certain ways (in particular, as `make -jN').  Example
makefile:
---
clean:
	cd /
	false && true
	rm -rf *		# a dangerous command
---
This should terminate after the `false && true' command fails, but
it doesn't when the commands are joined (`false && true' is a non-
simple command, so -e doesn't cause termination).  The b-maked version:
---
clean:
	cd /
	false; true
	rm -rf *		# a dangerous command
---
terminates after the `false' command fails (`false' is a simple
command, so -e causes termination).  However, for versions of
make like gnu make that don't invoke shells with -e, this change
completely breaks the makefile.

This is one of the fixes for the bug suite that caused `make world'
to sometimes put raw cpp output in .depend files.  Building of cc
sometimes failed, but the failure did not terminate the build
immediately, and various wrong versions of the cc components were
used until one was wrong enough to cause a fatal error.
1998-05-15 17:12:00 +00:00
bde
1136da1a60 Removed share/info from build-tools. It should never have been there,
and became redundant when it was put in SUBDIR, and became bogus when
WORLDTMP was introduced, and became broken when INFODIR was introduced.

PR:		6138
1998-05-10 16:51:07 +00:00
jb
9c0f3d45b1 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
bde
0d35b31587 Added patch to build-tools (now needed to make gdb, sigh).
Pointed out by:	andreas
1998-05-02 12:29:48 +00:00
bde
d0f45f30cc 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
jkh
9b5cf9e921 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
62cdd55282 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
bde
26af1f200e 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
dt
e08012af84 Cosmetic: put '@' in front of a very long command. 1998-04-19 13:44:52 +00:00
markm
77132cdeb5 Make the decision to compile kerberosIV a bit more secure by looking
for the appropriate directory.
1998-03-26 17:32:24 +00:00
bde
dc6385f633 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
bde
bb4baadeef 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
bde
2317740306 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
bde
b85d830b23 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
bde
18e08338dc 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
bde
76c48906c3 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
bde
93a575f5fd 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
bde
cd6b678762 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
jb
6706b66d1a 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
9abc0e86f8 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
9416651e39 -DNOTOOLS to not rebuild any tools during buildworld 1998-02-06 09:52:34 +00:00
jb
f5bd562f4c 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
asami
59ad45bfeb 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
bde
5ef7e29fe8 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
jkh
2fef004dcf 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
jkh
e63dc13db2 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
fsmp
455f86d114 Removed redundant 'all' arg to " Making Make" target.
Removed "-r RELENG_2_2" from 'update' target.
1997-10-05 22:28:50 +00:00
markm
9ed8aa4c8e How the heck did this get back?? 1997-10-05 15:39:47 +00:00
jkh
418d0a6a92 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
mckay
878b67c48b 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
markm
fe4e7dd9c3 Change for KTH KerberosIV.
-DMAKE_EBONES is changed to -DMAKE_KERBEROS4
1997-09-28 09:26:05 +00:00
jkh
93cb3f3468 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
bde
fb7c748153 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
rgrimes
4e83d999c4 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
e4d4daff8b Back out use of -m, since 2.1.x apparently do not have it. (sigh..) 1997-09-05 09:11:24 +00:00
peter
3a01dc9b52 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
296745d84b Remove unneeded ${.MAKEFLAGS} being explicitly passed on via the command
line..

PR:  4368
1997-08-26 14:15:25 +00:00
bde
31fec0a98d Use new installhdrs target to install tcl includes. 1997-08-25 19:40:53 +00:00
bde
62b45088ca 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
bde
a31580267d 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
b224a05842 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
2528a5618e 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
a9522afe04 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
asami
549abb682a Merge from -stable; NOTCL hook in beforeinstall. 1997-08-12 10:12:56 +00:00
asami
f48e1d0fca 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
asami
ea1790d151 More whitespace/tab fixes.
Submitted by:	bde
1997-07-31 08:31:50 +00:00
asami
29728add12 Consistently use tabs in the leading comments.
Submitted by:	bde (yes, I'm serious)
1997-07-31 08:06:29 +00:00
jfieber
ff4b478227 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
jhay
01d98d43a4 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
eba1615883 make beforeinstall in libalias from the includes target 1997-05-26 05:27:37 +00:00
asami
ad7a8a1b03 Fix comment about LOCAL_DIRS. Now it works as advertised. :) 1997-05-21 22:48:51 +00:00
jkh
d43e178604 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
837dcb79a7 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
bde
c1c52fcc29 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
jb
87e6f01d06 Change default build to include libc_r, but allow disadvantaged souls
to turn off the build.
1997-05-03 02:51:59 +00:00
bde
3c6902cf3b Bootstrap the info `dir' file from here. 1997-04-30 16:02:03 +00:00
jdp
744407e228 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
ache
592271de9a Back out csu fix, because it was just fixed differently 1997-04-02 17:10:16 +00:00
ache
2ad9ce0040 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
c43338d853 Revert $FreeBSD$ to $Id$ 1997-02-23 15:50:34 +00:00
jkh
f80da82577 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
jkh
808a36ef65 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
jdp
7d49859c75 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
7505fe46ab 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
jmacd
c7070e2a23 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
jkh
4a6303658d Add yacc to lib-tools target, now that it's been changed. 1997-01-07 02:28:57 +00:00
asami
1d5c76421a Add comment on -DALLLANG.
Suggested by:	max
1996-12-20 08:18:47 +00:00
ache
ddd059c20b Use LC_TIME=C instead of LC_TIME= (POSIX) 1996-11-26 03:26:31 +00:00
adam
af696c2c29 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
bde
4641489181 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
95693154ab 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
jkh
7dcbb4192b Add awk to build target.
Submitted-By: jhay
1996-10-06 02:17:43 +00:00
ache
a41a5e8dce Use SUP and SUPFLAGS variables to change them to cvsup if needed 1996-10-05 18:36:38 +00:00
peter
f163ad2484 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
ache
108ba3295d Unlocalize date 1996-09-21 06:06:41 +00:00
peter
b3f9cfa0e2 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
jkh
e82a45acb7 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
jfieber
3b5f1bef26 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
e7775d9a18 - 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
jkh
426176523f Revert all the make depend changes. 1996-08-25 05:17:49 +00:00
jkh
983e14a6bc Get rid of all the explicit calls to make depend. 1996-08-23 16:50:27 +00:00
nate
dc6c421698 Removed extraneous .endif that was left during OBJDIR cleanup.
Noticed by:	phk
1996-08-07 19:28:09 +00:00
peter
a19a05bd39 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
6e88e71ee0 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
jkh
3c156011c2 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
jkh
db3d225db6 Add tsort to bootstrap targets. 1996-08-03 06:44:46 +00:00
peter
47249ad1cd 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
jraynard
62e961e133 Fix typo in Makefile.
Reviewed (informally!) by jkh.
1996-07-21 00:05:31 +00:00
jkh
5114792bdd Add make to the bootstrap targets (I thought I committed this 3 days ago -
sheesh!).
1996-07-01 06:13:31 +00:00
phk
15d17e07c2 Add beforeinstall decent into libtcl 1996-06-28 05:36:00 +00:00
peter
00e94608b4 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
b32a0b2af8 Added libftpio to 'includes'. 1996-06-26 22:47:52 +00:00
jkh
8eb37231d4 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
pst
24a3f84f0c 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
jkh
1c3c6e69aa 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
02631abd93 libforms is no more 1996-06-20 13:38:15 +00:00
nate
848d450be9 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
e6238f2bbc Added lex to the bootstrap target. 1996-06-19 20:48:48 +00:00
markm
173acf7bf6 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
4027247f04 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
jkh
359cd94d64 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
62fe26383b 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
markm
668738c59b Remove reference to old des library. 1996-02-11 08:58:01 +00:00
nate
98f22e8f68 Added 'install' to the inclde-tools target, as it has a new options "-C"
which is used when installing the include files.

Submitted by:	John Hay -- John.Hay@csir.co.za
1996-01-30 05:46:35 +00:00
nate
574d4201ac Kludge alert!
Add new 'include-tools' target, which the 'includes' target depends on.
Currently, it consists of rpcgen.
1996-01-30 05:22:00 +00:00
peter
6a9e3f1567 Add libutil/beforeinstall to the includes target 1996-01-01 08:33:17 +00:00
pst
17d19976c9 Add rpcgen to build-tools target. 1995-12-27 05:36:20 +00:00
nate
5ad22f850a Added 'install' to the lib-tools target since it is uses the new '-C' flag
to install libraries to avoid messing up dependencies.
1995-11-28 20:04:19 +00:00
jkh
bc7d106f80 Bring forward libkadm change from 2.1 1995-11-26 07:31:13 +00:00
peter
272d37cbf8 Add -DNOCLEAN option which totally and utterly disables any form of
cleaning during a make.  This may give you more rope to hang yourself if
you are caught with some subtle dependency on installed binaries in your
build, but if you are doing daily 'make -DNOCLEAN world' it's not too bad
at all.  It could take as little as 30 minutes to do an entire sync-up of
your binaries if everything's up to date, especially if you are using
'INSTALL=install -C' in /etc/make.conf (highly recomended!).

Also, add a "reinstall" target. You can do a 'make DESTDIR=/mnt reinstall'
where /mnt is the nfs root of a machine and you get the install parts of
the make world run on it.

I saw this on -hackers quite some time ago and included it in my Makefile
and have been using it on and off for a while. Alas, I cannot find the
actual message with the author's name...
1995-11-25 01:28:07 +00:00
jkh
a4444a92b7 Add: cd ${.CURDIR}/eBones/lib/libkrb && ${MAKE} beforeinstall
to includes target.  Now the world will build on a new 2.1 system again.
1995-11-09 09:58:17 +00:00
jfieber
b865c17b8c Add sgmlfmt to build-tools target so a make world with current source
on a <= 2.0.5 system does not fall over.
1995-11-05 18:42:23 +00:00
phk
b31d8ebe25 Changed "tools" to "build-tools".
Suggested by: Peter Wemm
1995-10-26 09:24:59 +00:00
nate
132a957390 Build all of the libraries: targets libs in the same manner. Append the
optional ${CLEANDIR} and ${OBJDIR} targets to those missng them.

Also, check for the existance of all library targets before building
them to follow convention.
1995-10-24 18:51:08 +00:00
phk
337307c998 Added symorder to tools target.
Suggested by: rgrimes.
1995-10-24 08:37:28 +00:00
jkh
ed8a0fbc56 Remove extraneous blank in libraries target (from 2.1). 1995-09-17 03:38:54 +00:00
gibbs
93d4d9f3bc Update for the new location of eBones.
Submitted by: Paul Traina <pst@freefall.freebsd.org>
1995-09-16 23:22:39 +00:00
ache
0022607640 Enhance sup update to run with 3 supfiles: standard/ports/secure 1995-09-15 01:09:59 +00:00
dg
5a6aaf88bb Brought forward the change in 1.57.4.1 - add build of zic(8) to tools rule.. 1995-08-30 17:27:57 +00:00
asami
48ac31ff0f We don't have libftp anymore, so why don't we stop trying to do a
make beforeinstall in it. :)
1995-08-04 12:06:51 +00:00
rgrimes
8737971a6d Remove trailing whitespace. 1995-05-29 23:50:55 +00:00
rgrimes
3d871dc5c6 Submitted by: jkh
Build lib/libncurses and lib/libtermcap early in the libraries: target
as other libraries depend on them.
1995-05-13 03:34:23 +00:00
rgrimes
819f195d03 Add usr.sbin/pcvt/keycap to libraries: target. 1995-05-06 03:59:58 +00:00
rgrimes
169e1173ca In target libraries: make and install libcompat before all other
libraries.  This fixes the make -DCLOBBER world problem.

Check that gnu exists before attempting to build the libraries in
that branch of the tree.
1995-05-05 18:00:30 +00:00
jkh
7288999f24 Add libftp to list of beforeinstall targets in the include rule.
Submitted by:	John Hay <jhay@mikom.csir.co.za>
1995-04-27 11:25:48 +00:00
sos
6e69b5557d Fixed most: target gnu/usr.sbin was install not all 1995-03-28 18:14:17 +00:00
rgrimes
7895a7593a We must do include and lib first so that the perl *.ph generation
works correctly as it uses the header files installed by this.
1995-03-27 01:31:09 +00:00
rgrimes
8693f78768 Add gnu/usr.bin/ld to lib-tools: since you need this compiled very
early if you are running a back release.
1995-03-23 23:40:29 +00:00
rgrimes
4e8db361d6 Fixed last defined(WANT_MSUN) -> !defined(WANT_CSRG_LIBM) in the src tree. 1995-03-23 19:03:02 +00:00
ats
a66b83935b Correct one little typing error from Rod :-).
lib/lib/pcap -> lib/libpcap.
1995-03-19 17:24:24 +00:00
rgrimes
c47dc6f7e7 Add installation of include files from libpcap. 1995-03-19 08:23:47 +00:00
rgrimes
5a3c7f88d1 Use new mtree file to rebuild /usr/include. 1995-03-18 07:02:10 +00:00
phk
23c9c8a95a Have include be the first $SUBDIR, this avoid install failure with the
kludgeous install rule in perl/x2p.

Pointed out by:	rgrimes
1995-03-17 04:59:44 +00:00
roberto
bb7830919b Add gnu/usr.sbin in the installmost and most targets.
Reviewed by:	roberto
Submitted by:	Remy.Card@blaise.ibp.fr
1995-03-14 21:32:46 +00:00
se
8def37dc0b Add missing double quote (") in "echo".
Submitted by:	wolf@kintaro.cologne.de
1995-03-06 13:32:58 +00:00
nate
91b4f3d39f Since at least one utility depends on it (GNU diff), install the gnu regex
include file (gnuregex.h) in the includes target.
1995-03-06 05:52:47 +00:00
phk
d549b4fa26 use etc:distrib-dirs instead of release:hierarchy. remove SUBDIR reference
to release.
1995-02-26 01:27:27 +00:00
jkh
b526ea331c Eliminate a duplicate line.
Submitted by:	Heikki Suonsivu <hsu@cs.hut.fi>
1995-02-09 11:09:41 +00:00
ache
64d1dfcdec Add libscsi to includes target 1995-01-24 22:30:37 +00:00
ache
7b8d03e909 Add libforms to includes target 1995-01-24 22:15:25 +00:00
wollman
2197ed05b8 `make world' fixes from Pat Barron, Mark Murray.
Closes PR #156.
1995-01-21 23:01:19 +00:00
wollman
0ba8a14f2e Add libcom_err to `includes' target so CLOBBERing the world works again (we
hope).
1995-01-20 20:28:31 +00:00
wollman
409ac976ef Added compile_et' and mk_cmds' to lib-tools target, as they are needed
to build `libss'.  Also delete bogus old /usr/sbin/compile_et at this time
(sorry, it was the only way I could think of to make sure it died).
1995-01-19 22:41:25 +00:00
wollman
72596fd15c Delete obsolete references to kerberosIV. 1995-01-13 21:00:05 +00:00
jkh
6589032fbf Ack! Mk must go before cleandist in the world rule now. Otherwise
cleandist will fall over at gnu/lib/libreadline/doc when bsd.info.mk
is not found.
1995-01-11 11:52:50 +00:00
nate
e9e27021f2 Added new lib-tools target used in make world which rebuilds and
installs 'ar', 'nm', and 'ranlib' to avoid bootstrapping problems from
the old utils which don't support the long archive names.
1995-01-03 22:03:25 +00:00
ache
2b32d14b81 Add libtermcap to includes target 1994-12-04 02:46:28 +00:00
phk
691e3da728 More changes for the "distribute" target. 1994-11-14 20:52:54 +00:00
ache
aedfc018a1 Add gnu/include to includes target 1994-11-08 00:55:08 +00:00
pst
4e76337137 Make make world -DCLOBBER work again .. grrr 1994-11-01 19:52:38 +00:00
wollman
3136e0c397 For those who want a little more control over their build process...
Added two new targets, `most' and `mostinstall', which compile and
install (respectively) just the binaries from just the ``core'' parts
of the system.  This makes it easier to do something like the following
(which I do):

	# cd /usr/src
	# make obj depend
	(scrutinize make output)
	# make most
	# make mostinstall

...which will not confuse things by installing new libraries, /usr/share,
games, gcc (two extra times), and so on.  Obviously, if you do this, then
you have to be careful to watch for changes in include files and make macros,
and do the appropriate thing in those cases.  (It usually still doesn't
involve building GCC three times or libc six.)
1994-10-15 21:19:56 +00:00
ache
cb9fa8d97b Add libdialog to beforeinstall section 1994-10-11 23:33:00 +00:00
ache
1ae4caa5f2 libmytinfo, libncurses added to 'make beforeinstall' sequence 1994-10-08 15:08:14 +00:00
paul
769f1c1d30 If WANT_MSUN is defined then math.h needs to be installed from the
msun library.
1994-09-30 16:08:47 +00:00
pst
cdac251a2e make includes needs to do a beforeinstall in libskey 1994-09-29 21:20:12 +00:00
csgr
e9bb220eef First level of changes for bringing in eBones (kerberos).
- Get rid of inverse logic (NOKERBEROS and NOEBONES) in src/makefile,
and replace with MAKE_KERBEROS and MAKE_EBONES.  (Far fewer contortions,
and both default to off.)  IF YOU WANT KERBEROS, YOU HAVE TO EXPLICITLY
DEFINE ONE OF THESE.
- Make Makefiles kerberos-aware.
1994-09-29 13:06:54 +00:00
rgrimes
fe8ccfa46c Spell hierarchy correctly :-(. 1994-09-23 09:01:20 +00:00
rgrimes
f89d8b9559 Converted to use release/Makefile hieriarchy:.
Disabled SUBDIR+= etc until I get done with the conversion.
1994-09-23 08:36:37 +00:00
phk
2796b2bd7a Need to call on libmd in "includes" target. 1994-09-19 05:32:31 +00:00
wollman
375660a3eb Per discussion on the mailing-lists, move LKMs from /sbin to /lkm, and
arrange for that directory to get created by mtree.  Also, process secure
directory after all the others, because the programs there may overlay
ones installed from the main part of the tree.
1994-09-16 20:24:29 +00:00
rgrimes
a0a5181ac5 Enable call to beforeinstall for libg++ and add one for libreadline. 1994-09-12 05:17:15 +00:00
csgr
6c402d3fa0 Changes required for bringing in eBones (kerberosIV - des + des ;-))
- check for directory "eBones"
- add checks for define "NOEBONES"
- get includes and libraries targets set up.
1994-09-09 20:29:20 +00:00
paul
2e1d38a646 Taken update rule out of world target so it doesn't try and sup and
update every time you build world if you've enabled it.

Merged all the gnu library targets into one. libg++ isn't in the
gnu/lib/Makefile anyway so it's still disabled.

Enabled building of lex library -- this was stopping make world working.

Submitted by:	Paul Richards
1994-09-03 02:38:28 +00:00
paul
bc652e2092 Removed an echo about directories not being enabled.
I removed libkern for the libraries target in the last commit too but
forgot to mention it.
Reviewed by:
Submitted by:
1994-08-26 20:44:12 +00:00
paul
24824020f4 Added an update target. It does nothing by default but you
can enable things in /etc/make.conf if you wish for those
who might want to use it.

directories has got enabled by this patch too whch I hadn't meant
to do but there's no harm in it since the mtree stuff has been
pulled over now.

Reviewed by:
Submitted by:
1994-08-26 20:16:58 +00:00
paul
f6b61c2bad Added libkern to list of libraries to build.
Deleted mdec target, the bootblocks should get built during
the normal build process now that the sys/Makefile works.

Submitted by:	Paul Richards
1994-08-25 14:45:46 +00:00
paul
61994eed16 Removed all refernces to *26 directories.
Reviewed by:
Submitted by:
1994-08-25 10:47:30 +00:00
csgr
4f4c2e5f2c - turn NOCRYPT off
- add NOSECURE and NOKERBEROS
- turn NOKERBEROS on
- add secure directory

(NOCRYPT now has a blanket effect over src/secure and src/kerberosIV,
while NOSECURE and NOKERBEROS control these indiviually.)
Submitted by:	Geoff
1994-08-20 21:34:59 +00:00
jkh
2b71d5749c Whoops, nuke libobjc until we have it too.
Submitted by:	jkh
1994-08-16 02:55:14 +00:00
jkh
f8deeb9e22 cc -> cc26 for now.
Submitted by:	jkh
1994-08-14 16:53:33 +00:00
jkh
98502e443d Kill an errant libg++ entry.
Submitted by:	jkh
1994-08-14 16:52:44 +00:00
jkh
5769d4da59 This is the first attempt to drag the top level Makefile Rod sent me
into 2.0.  It will surely need more work.
Submitted by:	jkh
1994-08-13 22:47:28 +00:00
jkh
8dd7fea002 Remove kerberosIV until it works or is replace with eBones.. It's
hosing my build worlds..
Submitted by:	jkh
1994-08-10 19:19:35 +00:00
jkh
5b3842afd9 Remove `old' directory.
Submitted by:	jkh
1994-08-07 21:01:26 +00:00
jkh
cb2dc0b756 Whap games too, for now. As people add this stuff back, they can
change the Makefiles, but I'm trying to get as much of the world to
build as possible at the moment.
Submitted by:	jkh
1994-08-07 20:56:35 +00:00
jkh
c088690a5b Remove contrib, add gnu to reflect current state of the tree so that I can
at least build obj links from the top.
Submitted by:
1994-08-07 20:52:54 +00:00
rgrimes
d43599f73b BSD 4.4 Lite Top Level Sources 1994-05-27 12:42:53 +00:00