Commit Graph

243 Commits

Author SHA1 Message Date
apb
21078fc390 * Add an "iso-image" target in the top level Makefile,
which invokes make iso-image in the etc directory.
* Add an "iso-image" action in build.sh, which
  invokes make iso-image.
* Document the above in doc/BUILDING.mdoc.
* Re-generate BUILDING.

Approved by christos
2006-01-28 21:34:07 +00:00
dsl
0f1b985d1a Add .MAKE to all targets that use ${MAKEDIRTARGET} otherwise make closes
the job-token pipe and the sub-makes have their own '-j n' processes.
As well as giving unexpected parallelism, it makes it impossible to stop
the build promptly on errors.
2006-01-21 19:01:15 +00:00
apb
d470eb7715 Add a new "syspkgs" target, which simply chains to the "syspkgs" target
in distrib/sets/Makefile.

Reviewed by agc
2006-01-04 15:30:02 +00:00
lukem
c9ae22c9c0 Modify "release" to invoke "make distribution" instead of "make build",
so that the "obsolete file removal" functionality of "distribution" is used.
Fixes build problems numerous people have experienced with MKUPDATE=yes
and the "release" target.
2005-08-25 02:04:39 +00:00
lukem
d2a9aaa7cf use usr.sbin/postinstall/postinstall instead of etc/postinstall 2005-04-17 15:18:34 +00:00
lukem
65a97445c7 correct the comment describing the build order 2005-01-01 10:32:39 +00:00
tacha
8c200b07b6 DO do-gnu-lib-crtstuff${LIBGCC_EXT} only when ${HAVE_GCC3} != "no",
since we don't have crtstuff subdirectory.
2004-09-02 02:02:38 +00:00
thorpej
8d13a4aafe Switch to using GCC's supplied crtbegin / crtend files. 2004-08-28 00:18:38 +00:00
lukem
67ea767431 The do-lib-libdes BUILDTARGET is unnecessary now we have the DEPLIBS
support that I added to src/lib/Makefile.inc.
2004-07-30 07:05:11 +00:00
lukem
fe7056555c Move '${MAKEDIRTARGET} x11 distribution' from Makefile::distribution to
etc/Makefile::distribution, and only perform if ${MKX11}!=no.
Should fix a problem experienced by Alistair whilst doing a "make release".
2004-05-17 07:00:16 +00:00
lukem
46ebb2f9d6 Perform 'make distribution' in ./x11/ as part of the distribution target. 2004-05-16 10:27:21 +00:00
lukem
f1b860ea33 Convert lines of the form
(cd ${.CURDIR}/somedir && ${MAKE} AVAR=value atarget)
to
	${MAKEDIRTARGET} somedir atarget AVAR=value
which results in a "prettier" display of these operations
2004-04-13 12:43:12 +00:00
skrll
b263dbdd73 Be more gcc like in the way we deal with libgcc so that sh3/hppa millicode
and exception handling have a chance of working properly.

        - creates libgcc, libgcc_eh and libgcc_s

        - updates LIBGCC_SPEC to use them appropriately.

          There's a hack in here at the moment with respect to libgcc_so in that it
          is preferable to link against libgcc_so will only when -shared-libgcc is
          specified (the c++ frontend does this automatically.) Configurations where
          LINK_EH_SPEC is defined already do this. The gcc configuration for
          NetBSD/alpha and another NetBSD platform (I forget which) actually define
          LINK_EH_SPEC probably by accident rather than design.

        - updates share/mk to use the compiler's knowledge of what needs linking into
          libraries and executables. This removes an hppa hack.

        - updates the sets for the newly created libgcc* files.

	- support for linking against the _pg version of libgcc has been removed.
2004-02-15 19:52:27 +00:00
lukem
9163f6b3c7 MAKEVERBOSE support for build-docs 2004-02-06 23:12:56 +00:00
lukem
cce7832fa3 implement params with cd etc && make params 2004-01-27 04:22:25 +00:00
lukem
8dfb23932f Apply the .PHONY attribute where appropriate.
Fixes [toolchain/21453] from rafal@.
2004-01-27 01:45:07 +00:00
lukem
04be9e71df Implement do-x11, to run "make build" in ./x11/
If MKX11 != no, add "do-x11" to BUILDTARGETS.

Say ``hello'' to Imakeicide.
2004-01-08 07:01:06 +00:00
lukem
b83d8ffd8d rename release-info to etc-release
rename  install-release-info  to  install-etc-release
2004-01-06 07:25:40 +00:00
lukem
03e3f5841d Run "cd etc && make install-release-info" at the end of the "build" target.
Based on Hubert Feyrer's suggestion on tech-userlevel@.
2004-01-04 13:30:09 +00:00
lukem
9bd1a531bc only build do-lib-libdes if ${MKCRYPTO}!=no 2004-01-04 00:27:15 +00:00
lukem
986979b8c9 Consistently check ${TOOLCHAIN_MISSING} against "no". 2004-01-03 14:04:27 +00:00
lukem
ef51feb33d fix some comments 2003-12-05 22:33:01 +00:00
salo
8d1781e39d netbsd.org->NetBSD.org 2003-07-26 17:06:22 +00:00
mrg
08bf39bbff maybe build gnu/lib/libgcc3 instead of libgcc[2] 2003-07-25 19:20:47 +00:00
lukem
6744817c5c document do-lib-libdes 2003-07-25 00:26:35 +00:00
fvdl
c3c0b26160 Make and install libdes before the rest; libkrb needs it.
XXX there must be a better way.
2003-07-24 21:54:07 +00:00
lukem
aac682b31f tweak how postinstall-fix-obsolete is made. (may fix various problem reports) 2003-07-21 02:01:42 +00:00
lukem
83f3fb1e14 redo previous (functionality rollback of 1.213) to retain the style of 1.213 2003-07-20 13:08:43 +00:00
wiz
621fbc6bf8 Undo revision 1.213 now that grotty is fixed. Tested by lukem, thanks! 2003-07-20 13:03:47 +00:00
lukem
f134f3dc38 Add MKUNPRIVED; if not no has the same semantics as if UNPRIVED was defined.
Replace defined(UNPRIVED) tests with ${MKUNPRIVED} != "no"

Add MKUPDATE; if not no has the same semantics as if UPDATE was defined.
Replace defined(UPDATE) tests with ${MKUPDATE} != "no"

Improve documentation for these and other make flags.
2003-07-18 08:26:01 +00:00
lukem
5df8689a0e grotty from groff 1.19 needs -c for -b, -o or -u to work.
This is damn annoying, because it means the old method of "groff -P-bou"
won't suppress escape codes, unless -P-c is also provided.
(Mmm, quality software...)
2003-07-18 02:15:17 +00:00
lukem
2e2475c707 Add postinstall-fix-obsolete (to invoke "postinstall fix obsolete" -
funny that :), and call in "distribution" just before the "make checkflist".
Should minimise a bunch of the "I use make UPDATE= and checkflist failed"
errors, but not all of them.
2003-07-17 07:46:11 +00:00
lukem
001c68bd94 Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO".  The new variables are:
	TOOL_ASN1_COMPILE  TOOL_CAP_MKDB  TOOL_CAT  TOOL_CKSUM  TOOL_COMPILE_ET
	TOOL_CONFIG  TOOL_CRUNCHGEN  TOOL_CTAGS  TOOL_DB  TOOL_EQN  TOOL_FGEN
	TOOL_GENCAT  TOOL_GROFF  TOOL_HEXDUMP  TOOL_INDXBIB  TOOL_INSTALLBOOT
	TOOL_INSTALL_INFO  TOOL_M4  TOOL_MAKEFS  TOOL_MAKEINFO  TOOL_MAKEWHATIS
	TOOL_MDSETIMAGE  TOOL_MENUC  TOOL_MKCSMAPPER  TOOL_MKESDB
	TOOL_MKLOCALE  TOOL_MKMAGIC  TOOL_MKTEMP  TOOL_MSGC  TOOL_MTREE
	TOOL_PAX  TOOL_PIC  TOOL_PREPMKBOOTIMAGE  TOOL_PWD_MKDB  TOOL_REFER
	TOOL_ROFF_ASCII  TOOL_ROFF_DVI  TOOL_ROFF_HTML  TOOL_ROFF_PS
	TOOL_ROFF_RAW  TOOL_RPCGEN  TOOL_SOELIM  TOOL_SUNLABEL  TOOL_TBL
	TOOL_UUDECODE  TOOL_VGRIND  TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
	TOOL_FOO?=	foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
	TOOL_FOO=	${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
2003-07-10 10:33:58 +00:00
lukem
abeae9d450 add MAKECONF to vars that "params" target shows 2003-07-08 04:25:21 +00:00
lukem
82410a60aa Add "params" target, to display the value of various variables.
This is part of a broader plan to improve diagnostics & support
to end-users of build.sh.
2003-07-06 13:04:01 +00:00
lukem
b77f948f26 update "targets invoked by make build" to match reality ... 2003-07-05 04:32:58 +00:00
drochner
a57096ca00 build libgcc early, if at all 2003-06-26 17:46:56 +00:00
lukem
b7d3d22051 Add "sourcesets" argument/target, which builds source sets into
RELEASEDIR/source/sets
2003-05-10 07:12:37 +00:00
thorpej
6f1c0df1ee .WAIT before distrib, since distrib may need things built earlier
in the build process.
2003-04-18 19:14:39 +00:00
thorpej
9871c6a16c libcrypto no longer depends on libcrypt, so there is no need to build
it early.
2003-04-17 00:33:44 +00:00
thorpej
015903956e Fix merge botch in last. 2003-04-04 01:16:28 +00:00
thorpej
167192b8c4 Always build tools/compat, so that random host helper programs
can use libnbcompat, if necessary.
2003-04-04 01:06:00 +00:00
mycroft
76126365c9 Link libcrypto against libcrypt to make sure crypt() is still there -- and
therefore build it earlier in the build process as well.
2003-04-03 00:41:50 +00:00
lukem
4f6381b784 all:
Use /var/db/obsolete instead of /etc/obsolete

etc/Makefile:
	Create separate target "install-obsolete-files" to populate
	/var/db/obsolete, instead of using "install-etc-files".

Makefile:
	Add do-obsolete target, to run "cd etc && make install-obsolete-files",
	and add this to BUILDTARGETS.
	This moves the "obsolete files" creation from "distribution" to "build".


Per discussion with Andrew Brown.
2003-02-22 03:20:45 +00:00
lukem
4e91f80fa2 - Add "sets" top-level Makefile target and build.sh operation.
[Latter suggested by Julio Merino in private email]
- Add "help" build.sh operation.
2003-01-26 06:19:12 +00:00
lukem
4bb41ae2f2 Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

The previous method of finding KERNOBJDIR when using BSDOBJDIR by
referencing _SRC_TOP_OBJ_ from another directory was extremely
fragile due to the depth first tree walk by <bsd.subdir.mk>, and
the caching of _SRC_TOP_OBJ_ (with MAKEOVERRIDES) which would be
empty on the *first* pass to create fresh objdirs.

This change requires adding sys/arch/*/compile/Makefile to create
the objdir in that directory, and descending into arch/*/compile
from arch/*/Makefile.  Remove the now-unnecessary .keep_me files
whilst here.

Per lengthy discussion with Andrew Brown.
2003-01-06 17:40:18 +00:00
lukem
b4f786a8d6 Add an obj rule to create ${KERNOBJDIR} here, at the end of the "make obj"
pass.  (etc/Makefile doesn't create this any more).
2003-01-04 15:50:32 +00:00
lukem
a250e57c96 Install release files under "${RELEASEDIR}/${MACHINE}/..." instead of
"${RELEASEDIR}/...".

${RELEASEDIR} is never cleaned , and ${RELEASEDIR}/${MACHINE} is only
cleaned if UPDATE is not defined.
2003-01-03 15:34:30 +00:00
atatat
17f1d328bd The obj target for src/etc is invoked too early for it to function
properly in a clean tree (bsd.subdir.mk makes the obj target in
.CURDIR depend on the recursive targets).  If "make obj" is invoked a
second time, the problem will correct itself.  To work around this:

(1) Before including bsd.subdir.mk, create a target called "obj-etc"
so that the "regular" one (from bsd.subdir.mk) won't be instantiated.

(2) After including bsd.obj.mk, create a "real" obj-etc target that
does the required work with .USE as a "source" so that we can merely
cons it onto the actual obj target.  Note that this is only done if
the obj target has commands (ie, NOOBJ was not set and MKOBJ was not
no and whatever else you might have come up with) and we would have
recursed into etc anyway (etc is in the SUBDIR list).

This makes the obj target in src/etc get invoked *after* the obj
target in the root of the source tree so that KERNOBJDIR will have the
correct value.

Reviewed by lukem.
2003-01-02 23:15:27 +00:00
lukem
fb684df6a8 fix DESTDIR checks if !defined(DESTDIR) 2002-12-26 12:01:48 +00:00