Commit Graph

338 Commits

Author SHA1 Message Date
lukem d7d0f4149a move BUILDING.mdoc -> doc/BUILDING.mdoc 2002-09-21 08:19:27 +00:00
thorpej 3b08abd277 * Eliminate the USE_NEW_TOOLCHAIN variable. Instead, split it into
two variables:

  TOOLCHAIN_MISSING -- set to "yes" on platforms for which there is
  no working in-tree toolchain (hppa, ns32k, sh5, x86_64).

  EXTERNAL_TOOLCHAIN -- if defined by the user, points to the root of
  an external toolchain (e.g. /usr/local/gnu).  This enables the cross-build
  framework even for TOOLCHAIN_MISSING platforms.

  If TOOLCHAIN_MISSING is set to "yes", MKGDB, MKBFD, and MKGCC are all
  unconditionally set to "no", since the bits are not there to build.

  If EXTERNAL_TOOLCHAIN is set, MKGCC is unconditionally set to "no",
  since the external toolchain's compiler is not in-sync with the
  in-tree compiler support components (e.g. libgcc).

* Set MACHINE_CPU much earlier in bsd.own.mk, so that more tests in
  that file can use it.
2002-09-17 23:18:25 +00:00
thorpej cb6a0e6be0 Add a do-lib-libc target which is processed after do-lib-csu. This
ensures that the results of the libc build are available to other
lib builds (notably, llib-lc.ln).
2002-09-14 16:46:24 +00:00
lukem c2b25c67f3 print date when make {distribution,release,snapshot} finished 2002-08-30 06:30:33 +00:00
lukem 0cedce33e5 add "do-ld.elf_so" target, which builds & installs libexec/ld.elf_so.
call after do-gnu-lib but before do-build.
2002-08-26 04:40:20 +00:00
lukem 6e26645246 descend into "rescue" 2002-08-22 02:23:23 +00:00
uwe b00bce7880 Fix botch in previous. Actually do "build" for "distribution". 2002-07-10 23:44:54 +00:00
thorpej 9f5077e3a3 After running the body of the "distribution" target, do a "checkflist", so
that people doing fresh builds into NFS root areas will know if their builds
are incomplete.
2002-07-10 18:55:20 +00:00
drochner 4a475cf859 find the Makefile for postinstall-check in the presence of ${.OBJDIR}s 2002-06-26 16:28:18 +00:00
thorpej acbbadfc02 Fix what rev. 1.176 broke, in particular, doing a priv'd build into
an NFS root area for a diskless client.  In such a situation, you
DO want the postinstall-check to be run.

The circumstances under which postinstall-check is now run:
* UNPRIVED is not set.
* The original target invoked was not distribution, release, or
  snapshot.
2002-06-26 00:10:16 +00:00
enami 448f2a8c1a Fix whitespace usage in comment. 2002-06-20 08:21:59 +00:00
enami fbd7819d66 Change directory to .CURDIR before invoking ${MAKE}. 2002-06-20 08:21:23 +00:00
lukem a4a1de1457 In afterinstall, only run postinstall check if DESTDIR == / (or equivalents).
Fixes [misc/17275] from Gregory McGarry <g.mcgarry@ieee.org>
2002-06-19 00:17:11 +00:00
lukem 42f8815d89 Change -s srcdir and -d destdir so that they don't contain the "/etc" portion.
srcdir now defaults to /usr/src (from /usr/src/etc).
destdir now defaults to / (from /etc).
2002-05-07 02:11:07 +00:00
lukem d918d8f74f Move the METALOG from ${_SRC_TOP_OBJ_} to ${DESTDIR}.
There were too many synchronisation problems with using the former;
including situations such as a "make clean" performed between two
installs to the same DESTDIR would result in a truncated METALOG and
the resultant sets would be missing stuff such as include files that
don't get reinstalled if they haven't changed, even with !UPDATE.
2002-05-03 08:58:45 +00:00
sommerfeld 965e0acae4 Correct BUGS in BUILDING.mdoc now that most ports are USE_NEW_TOOLCHAIN
Obsolete NBUILDJOBS; build.sh just passes -jN through to make(1),
which inherits it cooperatively through the build tree.  Fix
documentation so that it's shown to be deprecated.

If you use build -jN, please save full build logs so that errors due
to missing dependancies can be analyzed and corrected.
2002-05-02 22:13:30 +00:00
bjh21 f44c794643 Use printf rather than echo -n, since the former works on all POSIX systems. 2002-05-02 16:36:21 +00:00
lukem 4d5e7bcd0b we might as well provide a handy "postinstall-fix" target whilst here 2002-04-29 12:14:36 +00:00
lukem 1338b74b9f move postinstall from afterinstall to separate "postinstall-check" target.
requested by Matthias Scheler <tron@zhadum.de>.
2002-04-29 12:09:13 +00:00
lukem f9eb7d99f0 run "./etc/postinstall check" in afterinstall: 2002-04-27 08:11:53 +00:00
tv d42f167bc5 Revert previous so crtbeginS and crtendS are available. 2002-04-11 19:31:06 +00:00
tv d536f9a644 We don't need to do "install" of lib/csu specially. Just install it with
the rest of lib.

(None of lib/* needs csu installed in order to link.  In the USETOOLS!=yes
case, csu may even depend on a newer libc, so installing csu before
compiling host tools in lib/ could break things even worse.)
2002-04-11 19:08:13 +00:00
simonb d94dc50679 Split the _SUBDIR assignment into two assignments so you can do things
like "grep ^_SUBDIR Makefile".
2002-03-11 07:49:24 +00:00
pk 363e8b8dbc Build whatis.db and infodir-meta from the commands list of the afterinstall
target. Remember: inserting `dummy' targets is not equivalent of some
convenient macro expansion; it has side effects!
2002-03-05 16:17:06 +00:00
jmc c4b45e27c6 Restructure infodir-meta to call a proper submake. Put the code into the
install-info gnu subdir as it's the program updating the dir file. This
all has to happen because METALOG depends on _SRC_TOP_OBJ which is now
not defined in the top level Makefile per tv's last commit. Which is fine
as this rule should have gone into a program's Makefile anyways just like
the whatis.db one does.
2002-03-01 06:02:41 +00:00
tv 1493d7d064 If _SRC_TOP_OBJ_ gets set here, we will end up with a directory that may
not be the top level objdir, because "make obj" can happen in the *middle*
of "make build" (long after <bsd.own.mk> is calculated it).  So, pre-set
_SRC_TOP_OBJ_ here so it will not be added to ${.MAKEOVERRIDES}.
2002-02-28 02:22:59 +00:00
tv a194e2ca32 Bomb if NBUILDJOBS is set, as it is badly broken in some way (as described
in toolchain/14837).  This is the root of some problems thought to be of
different causes by users who forget to say that they are using
"build.sh -j"....
2002-02-14 19:17:32 +00:00
lukem a63be975b0 remove METALOG in clean 2002-02-08 16:11:18 +00:00
thorpej ce5a5f9415 Add a wrapper for the "distribution" target, similar to the wrapper
for the "release" target.
2001-11-25 18:31:12 +00:00
perry 575abb014c Add a new target (infodir-meta:) that synthesizes the share/info/dir
file's metadata if UNPRIVED and MKINFO != no. Make afterinstall depend
on it as well as whatis.db.
XXX I wish there was a more rational place to synthesize the metadata,
but I can't think of one. The share/info/dir file is built by all the
world's install-info executions.
2001-11-24 21:53:16 +00:00
tv d027b1e973 No, really revert previous. Recursing to etc works, and I'm in the middle
of fixing distrib right now.  If something's broken, please report it via
the proper channels.
2001-11-20 17:05:02 +00:00
thorpej e5dbd7b652 No, really take etc and distrib out of the default subdir
list.  We've waited too long for the null target sweep.
2001-11-20 15:20:28 +00:00
tv 7b0d893016 Warn when "make build" is started with USE_NEW_TOOLCHAIN on a platform for
which USE_NEW_TOOLCHAIN is not verified to work [is not on by default].
2001-11-15 19:32:19 +00:00
tv 6ba13bbf13 Reverse the order of "make cleandir" and "make obj" back to the way they
were historically.  Discrepancy noted by atatat.
2001-11-13 17:47:16 +00:00
tv af17e1a352 Rather than build in `tools' and `lib' twice, build `tools' and `lib'
completely and install them, then skip recursing into those directories
on the final dependall/install.
2001-11-13 15:56:28 +00:00
tv 7e7d9dbd76 The top level has an objdir now, so make sure to cd to ${.CURDIR} when
recursing in-place.
2001-11-13 03:17:12 +00:00
tv b5cd2489b2 Major overhaul of src/tools and host toolchain. Summary of changes:
* Rewrite src/tools Make logic to work like the rest of the tree wrt
  "dependall" and "install".  The old "make build" hack is gone.

* Remove the MKTOOLS logic.  This was linked to the "make build" hack,
  and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
  BSD make wrapper.  Use new ${.ALLTARGETS} variable to scan for
  targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
  src/usr.* and src/gnu/usr.* that would do target filename rewriting
  (improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
  MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
2001-11-12 23:16:17 +00:00
tv 79ca4cf1a1 Create an objdir here for storage of timestamps, build-wide data, and so
forth.
2001-11-11 22:40:42 +00:00
tv 3980e269f9 By popular demand, one preformatted version of BUILDING, plaintext, no CRs. 2001-11-01 16:34:21 +00:00
tv 4ef4ea21a1 Revert previous. <bsd.own.mk> already defaults MKOBJDIRS to "no". Also
clean up the evaluation of ${MKOBJDIRS} later -- no need for :Uno.
2001-11-01 16:30:53 +00:00
jmc 5f2c8aaa60 Add back original behavior of MKOBJDIRS defaulting to "no" so it doesn't
force people to set yet another variable to get the expected behavior
2001-11-01 15:48:39 +00:00
jmc 100b449518 Add back logic which forces DESTDIR=/ for the distrib-dirs rule if it's not set
or it's blank. The new toolchain rules set it to blank which can run into
the sanity checks in etc/Makefile
2001-10-31 19:41:54 +00:00
tv c9a6a2c359 * Always descend into "tools" regardless of USETOOLS setting. Instead,
just don't build the tools if USETOOLS!=yes.  This permits objdirs to
  be created even when USETOOLS=no.

* Clean up use of "-m" by specifying it to .MAKEFLAGS: if needed.
2001-10-31 01:20:09 +00:00
tv 972dc83c9b Work around parallelism lossage, because .ORDER doesn't work yet
(noted in PR bin/14404).  This will be fixed back to using .ORDER later.
2001-10-30 17:59:10 +00:00
tv 83805cdad7 Add rules for generating plaintext and HTML versions of the "BUILDING"
document automatically (to be checked in when BUILDING.mdoc is changed).
2001-10-29 19:48:35 +00:00
tv ceb7997de9 Re-add intermediate dependall/install targets (do-lib-csu, do-lib,
do-gnu-lib) to permit restarting broken builds in the middle.
2001-10-24 03:21:20 +00:00
tv f2fc1b7b7d Add shortcut rules to avoid going into distrib on unneeded (and in some
cases, currently broken) targets.
2001-10-24 02:45:34 +00:00
tv 2970104486 Revert previous. etc and distrib do now belong in _SUBDIR; the correct fix
for broken builds is to fix the relevant Makefiles as was done for sparc.
This was done in the interest of simplicity of the system build (and the
fact that there may be a need to descend into these directories in the
near future).
2001-10-24 01:07:13 +00:00
jmc bf87bd3e66 Remove distrib and etc from _SUBDIR. These should never get added to the
subdir list as anything building into them will access them directly (ala
the make release rule or the mtree rule). There were good reasons for
controlling this at the top level before and those should remain in place.

On cleandir and obj builds these should get run through but that's it for
the "normal" rule sets. (This was breaking the builds as make includes doesn't
function inside of distrib for instance).
2001-10-21 08:03:01 +00:00
tv 02f4c7942d Add a couple more shortcut rules for the "tools" subdir to prevent recursion. 2001-10-19 14:17:52 +00:00
tv 04f0c5e946 Change
${USETOOLS} != "no"
to
  ${USETOOLS} == "yes"
to allow USETOOLS to be tri-state:  "yes", "no", or "never".  The use of
these options will be documented in src/BUILDING.
2001-10-19 03:19:01 +00:00
tv 952ac49eba Overhaul and simplify the top level Makefile, and add some sanity checking.
- "make build" cannot be invoked from the command line at the same time as
  any standard recursive target except "obj" and "cleandir", as things like
  "make all release" can lead to unexpected results.

- Put everything in SUBDIR, and auto-weed missing directories.  This allows
  the standard targets to work as expected (including in tools, etc, and
  distrib).

- Leverage .for loops to simplify the prerequisite dependall/install phase
  of compile-time dependencies (lib/csu, lib, gnu/lib).  These are now all
  distilled into one component rule ("do-build").

- Use the actual targets of obj, cleandir, and includes; no need for double
  indirection goop in this case.

- GC all the deprecated "domestic" cruft.  We are officially using (and
  fixing, where appropriate) the cryptosystem integrated into src/crypto.

- Collapse the whatis.db build rule into a dependency of "afterinstall",
  and nuke the "_BUILD" cruft.
2001-10-19 02:35:45 +00:00
nathanw 7f59122d03 Use @true instead of @${TRUE} in includes-foo targets, since there is no
variable TRUE defined in our makefile system.

This prevents "make includes" from breaking with older bsd.subdir.mk, and is
more consistent with the uses of "true" in the rest of the tree.
2001-10-12 21:05:08 +00:00
jwise 5afee0c76e Do not descend into `tools' on make clean{dir,} if USETOOLS=no, as doing
so without TOOLDIR set will blow up.
2001-10-10 17:20:15 +00:00
tv 1c63cc9689 Add "tools" to the list of subdirs for an explicit "make obj" or
"make cleandir".  Fixes PR bin/14177.

"make build"'s logic and the conventional <bsd.subdir.mk> logic probably
need to be split apart here at some point to prevent these kinds of things
from causing odd problems in the future....
2001-10-08 23:42:21 +00:00
tv b9adda39a5 Use ${.CURDIR}/share/mk to include bsd.own.mk and bsd.subdir.mk into this
file in order to get proper definitions for a build.  (Temporary; this
Makefile will be moved to a new name and replaced with a bootstrap Makefile
in the near future.)
2001-10-04 17:59:49 +00:00
mason db2a0203e7 UPDATING (1.38) says:
i386 platform builds must now set TOOLDIR in mk.conf or the
        environment in order to build the system.  This is a pathname
        where host build tools will be installed, and must NOT be
        the same as src/tools.

        (Optionally, USETOOLS=no can be set in the environment if you
        wish to avoid using the separate host toolchain for building a
        subtree.  Otherwise, this will default to "yes" automatically.)

However, building with USETOOLS=no set and no defined TOOLDIR ends up
with breakage, as the do-make-tools target is run regardless of whether
or not USETOOLS is set.

Hence, a wrapper around the body of the do-make-tools target:

.if ${USETOOLS} != "no"
...
.endif

...which makes the build work when USETOOLS=no, with no TOOLDIR set. This
would seem to more accurately match the description put forth in UPDATING.
2001-10-01 17:19:17 +00:00
tv 284306ffbc Put do-make-tools before creating distrib-dirs (as binstall has to be
available before making distrib-dirs).
2001-09-22 12:30:13 +00:00
tv 932e899041 Always use src/share/mk as the source of the system .mk files for a build. 2001-09-22 05:37:17 +00:00
tv 96c33ddcbf - Remove the include of Makefile.tools; this will be done elsewhere.
- Skip the "includes" phase of bin, games, libexec, regress, sbin, and usr.sbin.
2001-09-21 21:01:13 +00:00
thorpej 6404ba3e23 Make sure DESTDIR is always set when calling the distrib-dirs target.
In the new build world order, DESTDIR is set to "" (in Makefile.tools)
if not already set, to ensure correct include/library handling.  This
caused the top-level to not set DESTDIR=/, which confused distrib-dirs,
since it doesn't include Makefile.tools, and thus didn't see the same
DESTDIR that the top-level did.
2001-08-17 15:05:50 +00:00
tv 696081f651 The final step -- hook src/tools into the main build. If USE_NEW_TOOLCHAIN is
set, will descend into "tools" to build a toolchain, and use that toolchain
explicitly for the build (via tools/Makefile.tools).

While here, GC all the "egcs-detection" logic; it's not needed anymore, since
nothing is on gcc 2.7 any longer.
2001-08-14 14:04:35 +00:00
enami 0acf15b497 Wrap a long line. 2001-08-02 06:13:33 +00:00
mrg 5ff40e0f85 clarify some variable documentation; from cagney 2001-06-10 13:15:29 +00:00
mrg 1b93d2abed make previous work with -j. idea from cagney 2001-06-10 13:12:32 +00:00
mrg c6c1b82528 fix PR#12832: split `make build' up into these steps (from new the
comments in src/Makefile):

# Sub targets of `make build,' in order:
#   buildstartmsg: displays the start time of the build.
#   beforeinstall: creates the distribution directories.
#   do-force-domestic: check's that FORCE_DOMESTIC isn't set (deprecated.)
#   do-share-mk: installs /usr/share/mk files.
#   do-cleandir: clean's the tree.
#   do-make-obj: create's object directories if required.
#   do-check-egcs: check's that we have a modern enough compiler (deprecated.)
#   do-make-includes: install include files.
#   do-lib-csu: build & install startup object files.
#   do-lib: build & install system libraries.
#   do-gnu-lib: build & install gnu system libraries.
#   do-dependall: builds & install the entire system.
#   do-domestic: build & install the domestic tree (deprecated.)
#   do-whatisdb: build & install the `whatis.db' man database.
#   buildendmsg: displays the end time of the build.



this is something i've wanted to do for years....
2001-06-10 13:02:54 +00:00
sommerfeld 50cca24c03 parallelize the obj pass, too 2001-05-08 02:04:08 +00:00
deberg 273b2d0b3a if building w/o a DESTDIR, grab the system make files from the source
tree until they've been installed.
2000-10-07 17:18:17 +00:00
fredb 38699e82c4 Descend into distrib on "make cleandir", too. This will let "make build"
with "MKOBJDIRS" set do the right thing in distrib.
2000-08-19 22:09:08 +00:00
toddpw 8b89060c30 Document the cool NOCLEANDIR/NOINCLUDES options that somebody added. 2000-08-05 10:17:35 +00:00
thorpej e7d6b96938 Merge a bunch of things from crypto-us and crypto-intl into basesrc,
adding support for Heimdal/KTH Kerberos where easy to do so.  Eliminate
bsd.crypto.mk.

There is still a bunch more work to do, but crypto is now more-or-less
fully merged into the base NetBSD distribution.
2000-06-20 06:00:24 +00:00
mrg 2c335fc580 remove two of the previous ${_M}; they were invoked before $DESTDIR/share/mk may have existed. add one more. 2000-05-21 07:33:05 +00:00
thorpej d17109a1ae Add ${_M} where it was missing in a few places. 2000-05-18 23:16:28 +00:00
thorpej f41cffbb8b HAVE_GCC28 -> HAVE_EGCS, and make it match gcc 2.9, as well. 2000-05-09 00:17:10 +00:00
sjg 9ec8f0f8e8 if MAKEOBJDIRPREFIX defined, include etc in make obj 2000-05-06 07:53:53 +00:00
mrg 1f196e5b67 use MKSHARE=no instead. 2000-04-11 08:21:41 +00:00
mrg 1ae7478b2a fix long standing bug in `make build' with $DESTDIR:
- during `make build' after /usr/share/mk has been installed, call
  make with `-m $DESTDIR/usr/share/mk'.
2000-04-10 14:47:22 +00:00
simonb d9b15587d5 At least one crypto-intl lib has an info file(s) - add MKINFO=no to the
early build of ../src/lib ala ../src/gnu/lib.
2000-04-09 02:09:49 +00:00
jlam 01d48867ea Handle new make variable BUILD_DONE which creates an empty build target if
it is set.
2000-03-11 00:10:20 +00:00
cjs cb61b13f55 When you type `make obj', make obj dirs in distrib whether or not you
have MKOBJDIRS variable set.
2000-03-08 00:50:05 +00:00
erh 671a37a17f Add a buildmsg target for build to depend upon instead of using an ifmake block. "make snapshot" now echos the start of build time. 2000-02-29 21:54:03 +00:00
mycroft 0d8613ba36 share/tmac is now installed by `make includes', so don't do it again. 2000-02-26 17:42:53 +00:00
aidan 3286ebd2e0 Make 'make build' hook into crypto-tree for crypto specific build-time
dependencies.
2000-02-19 17:49:49 +00:00
assar 84e55c17c3 make sure include and include/sys are populated before starting to
make includes in lib
2000-02-01 01:22:05 +00:00
simonb e57fa9afe4 After ${MAKE} obj, explicitly make obj dirs in ${.CURDIR}/distrib as well. 1999-12-05 22:53:53 +00:00
simonb bd63bac162 Revert previous but move "cd share/tmac" later down so that any
generated files will go in obj dirs if they are created.  After
discussion with the two Bill's on tech-userlevel.
1999-12-04 03:52:28 +00:00
simonb 072b91d324 Move the "${MAKE} obj" above the share/tmac stage so that the generated
files in that directory don't pollute the source tree before the obj
dirs are created.
1999-12-03 15:09:01 +00:00
sommerfeld 1417ad563c Document MKOBJDIRS here, and sort the variable list in the comments
into alphabetical order.
1999-11-30 17:48:11 +00:00
sommerfeld 1b914a5db2 Add MKOBJDIRS make variable to bsd.own.mk, defaulting to "no" but
overrideable in mk.conf

Document in bsd.README; this is distinct from "MKOBJ", which controls
whether "make obj" does anything.

In the top-level makefile, if MKOBJDIRS != "no", do a "make obj" at an
appropriate point during a "make build".
1999-11-30 16:16:41 +00:00
perry 1cbf2bb2b8 use new dependall target instead of depend then all in make build 1999-09-14 01:32:43 +00:00
thorpej 51301b7324 Remove all of the domestic/crypto-us glue from this file. It is handled
differently now.
1999-07-12 21:53:52 +00:00
christos ee5a52e9e7 Handle crypto-us just like domestic 1999-05-27 21:03:31 +00:00
scottr 10b51a99c6 Add the FORCE_DOMESTIC flag to force the 'all', 'includes',
and 'install' targets to descend into the domestic subtree.  This is
generally a bad idea unless one knows precisely what they're doing,
but we'll provide the rope anyway (with the appropriate warnings).

Document both EXPORTABLE_SYSTEM and FORCE_DOMESTIC at the top of the file.
1999-04-25 19:13:05 +00:00
cjs cfd3563966 Improve documentation. 1999-04-01 02:49:12 +00:00
scottr a53f9b62f4 Make a note of a subtle lossage mode pointed out by Mycroft. 1999-03-10 19:18:59 +00:00
scottr a443f8c15c Make the includes and install targets consistent, and shove the
ugly hack into the etc/Makefile distribution target instead of
the top-level build target.  Problem noted by Mycroft.
1999-03-10 19:10:14 +00:00
scottr 67f17dd709 Back out rev 1.90: The need for texinfo is a one-shot event. This was
announced in a reasonable forum.  Further, it adds significant overhead to
the build process, and doesn't work correctly when a non-root DESTDIR
build is attempted (unless texinfo is already available, which of course
makes this change unnecessary).
1999-02-20 09:10:41 +00:00
scottr 455f4cf780 make -> ${MAKE} 1999-02-19 23:22:14 +00:00
mellon 3dcbd83b7b Build and install texinfo before building and installing the world. 1999-02-18 14:49:59 +00:00
mellon 91bd4d3f4a Don't try to run makeinfo when doing preliminary GNU library builds. 1999-02-18 03:19:44 +00:00
scottr f09cc42ad9 Revert 1.83; it doesn't work. A different fix for his problem is in
the pipeline.
1999-02-17 08:00:52 +00:00
cjs 0ce5d20c34 Add release and snapshot targets. (They do the same thing.) 1999-02-16 03:37:26 +00:00
lukem dcab0210a0 convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
tv 2dfda4a05f Back out the info dir changes; /usr/share/info was not in pkgsrc's info
path, which confused me to no end.
1999-02-11 17:56:46 +00:00
tv 1590f3bcda If updating from a system which has a /usr/pkg/info/dir, move that to
/usr/share/info/dir and make a symlink in /usr/pkg/info.  This allows
systems with the gtexinfo pkg installed to work "properly".
1999-02-11 14:49:49 +00:00
christos b82b273dec Build the domestic libraries first, before building programs. Unfortunately
some programs like /usr/libexec/ftpd, need the kerberos etc libraries.
XXX: In reality programs like these should be moved to the domestic tree!
I would have assumed that if I make install in the exportable tree, I will
not install any domestic binaries!!!
1999-02-09 19:52:50 +00:00
scottr ebefa9658b Once more, from the beginning: we really, really don't want to descend into
the domestic tree if we are building an EXPORTABLE_SYSTEM.

Translate the conditional to English so as to avoid future problems
when people are tempted to modify it.
1999-01-29 05:42:35 +00:00
scottr 98e31beeee If doing a "domestic" build, make sure whatis.db is built _after_ the
domestic tree.
1999-01-28 15:36:48 +00:00
scottr 59da8f5c0e Sigh. The last change was too clever. Instead of using EXPORTABLE_SYSTEM,
which has side effects, use _BUILD to determine whether we ought to
install things in the domestic subtree.  Otherwise, the core idea from
the last revision is unchanged.
1999-01-24 19:18:54 +00:00
scottr f7d635627c When I split the build target into the top-level and "domestic" pieces, I
failed to account for how a 'make distribution' would get the proper bits
into the distribution tree.  To correct this, we set EXPORTABLE_SYSTEM
while doing a 'make build' in order to avoid trying to install not-yet-
generated headers and binaries.  I've also made the required adjustment
to the condition that adds "domestic" to SUBDIR.

This is too hairy and needs to die, but I don't see how it can until
we integrate the crypto bits into the main body of the tree.
1999-01-24 07:42:34 +00:00
scottr 56d26266a5 Don't build domestic bits directly; use the domestic 'build' target
to do them for us.
1999-01-05 07:09:58 +00:00
cjs e4ee43d8b2 Even if EXPORTABLE_SYSTEM is defined, descend into domestic for targets
obj, clean, cleandir and distclean. This reduces the chance of problems
(and the need to re-run make obj) if one is switching back and forth
between EXPORTABLE_SYSTEM and not, as US/Canadian developers tend to do.
1999-01-03 22:17:19 +00:00
bouyer aa694bb9e2 Add a 'NBUILDJOBS' variable which control the number of jobs started in
parallel for a 'make build' (using make's -j flag). Only CPU-intensive jobs
are started in parallel.
Document the variables useable at the begining of the makefile
(NBUILDJOBS NOMAN NOSHARE UPDATE DESTDIR). Feel free to add documentation
for the ones I forgot !
1998-12-22 11:21:09 +00:00
tv 1343ef3796 GC old gcc 2.7.2.2. 1998-12-12 23:44:22 +00:00
simonb 76b2a4f97c Let make do the NOMAN= variable assignments instead of the shell so us
csh/tcsh weenies can cut and paste "make -n build" lines.
1998-12-07 01:42:34 +00:00
thorpej 68cceaeee4 It is no longer necessary to run ldconfig in the build: target. It is
handled by bsd.lib.mk.
1998-12-02 22:53:06 +00:00
thorpej 9eba51863a Only ldconfig if it's there (ELF systems don't use ldconfig). 1998-10-18 20:41:39 +00:00
mycroft 66d3187f89 Do not build libgcc 3 times.
Instead:
* If upgrading the compiler, build it *first*, before anything else.
* If upgrading the compiler and DESTDIR is set, barf.
This guarantees that libgcc is built during the library stage.
1998-10-16 05:05:09 +00:00
mycroft b464b3b631 When doing a `make build' without DESTDIR, run ldconfig(8) after updating the
libraries.
1998-10-15 02:50:00 +00:00
tv 737c23e11b Fix libgcc on alpha; shouldn't build 2.7 libgcc when bootstrapping. 1998-10-07 02:35:38 +00:00
lukem 67fe57924e don't install in /usr/share if NOSHARE is defined 1998-09-29 06:59:53 +00:00
christos 2fc0d9fc29 Test gcc2.8 and egcs properly 1998-09-27 18:18:42 +00:00
tv de2bb5bd3e No need to shield alpha from gcc 2.7 libgcc any longer. Default is egcs. 1998-08-27 14:11:45 +00:00
tv 62aab56659 Only build the egcs libgcc if the current ${CXX} is actually egcs. 1998-08-22 22:06:23 +00:00
tv c553fa5c2e Re-enable libgcc from egcs and RE-ADD the warning & libgcc rebuild at the
end of the build - it is needed for gcc 2.7->egcs bootstraps!
1998-08-22 22:05:00 +00:00
tv 06cc701e6e Turn off the egcs bits while the 1.1 import is taking place. 1998-08-16 17:25:30 +00:00
thorpej 664737f4b3 Don't try and build non-EGCS libgcc on Alpha and PowerPC. 1998-07-28 18:55:41 +00:00
mycroft 90bb301b82 During the initial library pass, do not install man pages.
Also, GC the weird egcs stuff in here.
1998-07-26 17:28:58 +00:00
mycroft 0ed3129ab7 Do not blow away my egcs libgcc at the beginning of a build. 1998-07-25 10:35:53 +00:00
tv f33c6eef65 Fix flawed logic: I'm not all here today. (.if's werten't doing what the
commit comment said they would do.
1998-07-24 16:51:33 +00:00
tv 7d85aa8579 Fix the rebuild of libgcc:
- If USE_EGCS is set, rebuild egcs's libgcc and install it
  (unless DESTDIR is set and system compiler is not gcc 2.8,
   in which case print a warning message and do nothing).
- Do not rebuild gcc 2.7's libgcc.  egcs can build this fine.
1998-07-24 16:48:47 +00:00
perry ef7f93c4e2 build libgcc during make build; also, don't build lex and yacc first any more. 1998-07-21 23:13:13 +00:00
scottr 8c924375e8 Revert 1.44 and associated changes; you can't prebuild anything without
includes, which is the case if you are building to an empty $DESTDIR.
Fixes PR 5497.

NOTE:  This reverts us to the 1.3 behavior of requiring the secr
set to be installed for non-exportable builds.  While unfortunate,
this allows a user to start with existing binary sets, rather than
requiring special knowledge of how to build a domestic tree to
$DESTDIR.
1998-05-27 06:38:37 +00:00
tv 2be2a5eb88 Move (re)build of libgcc to end of build list (after gcc/egcs would be
installed/updated).
1998-05-21 11:53:49 +00:00
thorpej ad6b563dc3 Gack, don't try to build libgcc if it wouldn't be appropriate. 1998-05-21 01:40:19 +00:00
thorpej 246b83555d Build the appropriate libgcc, so that build-to-destdir works. 1998-05-12 01:59:54 +00:00
mycroft ff93d40dbb Make sure system includes are installed before descending into gnu. 1998-05-10 10:37:59 +00:00
tv 0f94879015 Do the cleandir before the includes, so rpcgen doesn't build includes
twice.  (Should build and install rpcgen before the includes, but it's not
too clear whether to do this before or after the cleandir.)
1998-04-15 13:44:55 +00:00
mellon d9a64124a0 Print date after build completes as well as before. Previous code failed because make build depends on beforeinstall but not afterinstall. 1998-02-20 01:39:38 +00:00
lukem 33fd402980 fix make build for non-usa domestic a better way 1998-02-16 10:07:31 +00:00
lukem 20aac973f8 don't assume domestic/usr.bin/compile_et exists for make build (eg: the user has a non-USA domestic subtree) 1998-02-16 07:57:19 +00:00
thorpej 7182d6c160 In the build targer, make sure the troff macros are installed before
attempting to build manual pages.
1998-02-15 00:33:03 +00:00
thorpej d18d79c554 Domestic library build fix: libtelnet depends on libdes and libkrb. libkrb
depends on libcom_err.  So, build libdes, libcom_err, libkrb in that
order before building domestic/lib.  (Geez, this stuff is a mess.)
1998-02-10 04:38:13 +00:00
perry 14580efdcf add date printout at beginning and end of 'make build's 1998-02-06 23:11:57 +00:00
mellon 36b38d644e Prebuild some things that the build depends on *before* they are needed so that fresh builds don't die prematurely 1998-01-30 07:10:31 +00:00
thorpej c3c8cbd87c Make the "build" target depend on "beforeinstall", ensuring that all
directories have been created for the installation of the include files.
1997-10-27 18:06:39 +00:00
cjs 7a66732d34 Back out BUILDDIR and NOINSTALL changes. 1997-05-31 21:21:13 +00:00
cjs 922ba53c9c Add a cleandir to make build, to make it more like it was before. 1997-05-29 14:23:02 +00:00
cjs 5fd7ce7066 These updates to the build allow building against include files
and libs in the object tree, if you use a separate object tree,
while maintaining backward compatability with other build methods.
See the notes in src/share/mk/bsd.README for full details. Note
that the `make includes' target now only installs the include files
in the build directory (if you use one--otherwise they go in DESTDIR
just like before); `make install' will install include files in
DESTDIR.
1997-05-26 03:55:19 +00:00
christos 3dd90654e6 Don't cleandir on make build when UPDATE is set. 1997-03-24 22:22:15 +00:00
cgd bee34e4913 when doing 'make build', build lib/csu & install it before building
lib itself.  On the Alpha (and other ELF systems), shared library builds
require files built/installed by the csu build, so if lib/csu isn't
built/installed before lib is, DESTDIR builds won't work and normal builds
can mistakenly use old versions of some csu files.
1997-03-10 23:46:12 +00:00
cjs 3ec1da8855 All of domestic/lib now builds without errors, so we build it all. 1996-11-27 02:04:06 +00:00
explorer 90708132cf allow builds to work if directory games is missing. Closes pr misc/1921 and
misc/2294
1996-08-10 23:29:00 +00:00
jtc c043a9424a Headers in src/domestic/include are now installed by the includes target 1996-04-25 01:09:33 +00:00
jtc 99ec449e31 Headers in src/include are now installed by the includes target 1996-04-25 01:02:27 +00:00
jtc 7dcb56f419 Added "${MAKE} includes" to build target 1996-04-25 00:47:25 +00:00
cgd 72b7f58800 pull in bsd.own.mk earlier, to get configuration variables.
if people define EXPORTABLE_SYSTEM, they REALLY don't want to do stuff
	in 'domestic'.  Pay attention to it when doing 'make build'.
in 'make build', install share/mk _first_, because include dirs may
	require new make templates.
in 'make build', install domestic includes after normal includes, so
	they can previously-installed includes if necessary.
Note that all of domestic/lib should be built in 'make build' during the
	library build stage.
1996-04-13 06:36:15 +00:00
tls fe06033829 behaviour of 'make build' should not change if DESTDIR is set; this is an artifact of an ancient mistake of mine. 1996-03-18 09:55:25 +00:00
tls 9b13fd4652 a futile nod to ease-of-upgrade: make build now installs new rules from share/mk. 1996-03-18 09:53:11 +00:00
tls fd5b9f2146 removed obsolete src/kerberosIV reference, albeit commented out 1996-03-18 09:21:33 +00:00
jtc ad74dba905 fix typo 1995-12-15 18:13:41 +00:00
tls 25e060d180 libcrypt has moved 1995-12-09 23:07:02 +00:00
tls 88ec513924 get krb4 includes installed, do distrib-dirs if DESTDIR not set 1995-12-09 22:39:46 +00:00
thorpej 0cba2ec9a0 New-style RCS id. 1995-10-09 02:11:28 +00:00
pk 7e7b18f73e Comment out last change as it interferes with distribution building. 1995-10-07 22:58:52 +00:00
tls d9ccabfca5 stick distrib-dirs in beforeinstall -- should be cleaner? 1995-10-06 12:05:36 +00:00
cgd 372dc31507 work in the face of a /usr/src/obj directory 1995-02-26 01:10:19 +00:00
cgd d0dbb18afc add 'domestic' to subdirs list, if it exists. 1995-02-19 12:20:06 +00:00
cgd 5f2ece7ba4 explicitly pull in bsd.own.mk, so that it's there for afterinstall. 1994-12-22 12:43:45 +00:00
cgd 5b08705cfa if not installing man pages, don't remake whatis db 1994-06-14 04:40:29 +00:00
cgd 4e504c0179 light style cleanup 1994-02-10 08:50:06 +00:00
cgd 8f54ff345b don't use 'make' explicitly 1994-02-10 01:47:47 +00:00
cgd ac29ea9d85 kill typo 1994-02-08 23:20:40 +00:00
cgd 7038181e7e add some new targets to DTRT when installing/building 1994-02-07 05:08:57 +00:00
cgd 65f48bd1bc do "lib" first. otherwise you can be *really* screwed by a 'make install'
on a system with shared libraries...
1993-12-08 04:51:25 +00:00
brezak 969988f0a6 Make regress only if directory exists. It can be optional. 1993-07-07 12:55:48 +00:00
cgd 528318400a allow toplevel makefile to descend into sys 1993-07-04 14:02:11 +00:00
cgd aafe7dd739 change from rcs "Header" to "Id" 1993-05-22 07:15:52 +00:00
cgd e600b363ed oops, clean that up a bit 1993-05-22 07:15:13 +00:00
cgd b89816148f add regress, but not for install. also, add "regress" target 1993-05-22 07:10:28 +00:00
cgd cab9fb82f8 put all of the gnu stuff in one place 1993-04-29 12:42:00 +00:00
cgd a3b53c55c9 added gnulibexec gnugames 1993-04-29 11:48:50 +00:00
cgd ecaf3b9df2 added `usr.gnubin' for new gnu binaries necessary for the distribution. 1993-04-10 15:49:55 +00:00
cgd f6a28bf135 added gnulib, for gnu libraries that for whatever reason need to go
into the main tree
1993-04-08 01:05:57 +00:00
cgd 2cd96750d8 change "Id" to "Header" in rcsid, and noted why etc was not in subdirs 1993-03-22 08:43:59 +00:00
cgd 346aa5dd48 added rcs ids to all files 1993-03-22 08:04:00 +00:00
cgd e541169ce2 after 0.2.2 "stable" patches applied 1993-03-21 18:04:42 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00