summaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* MFC r179232 by jb:Bjoern A. Zeeb2009-03-181-8/+16
| | | | | | | | | | | | Add a knob to allow just the kernels to be built during a 'make universe'. MFC r185250 by des: Change the universe target to warn the user for every world or kernel that fails. The error message includes a reference to the relevant log file. Notes: svn path=/stable/7/; revision=189985
* MFC: r186519Bjoern A. Zeeb2009-02-071-1/+1
| | | | | | | | | Permit digits in the kernel config file names for `make universe'. This catches a few more kernel config for various architectures and permits having local configs named like NOINET6. Notes: svn path=/stable/7/; revision=188289
* Do not build CFT information during buildworld. The resulted strippedKonstantin Belousov2008-08-271-3/+0
| | | | | | | | | static binaries are not executable. Approved by: jhb Notes: svn path=/stable/7/; revision=182295
* MFCJohn Birrell2008-08-271-0/+3
| | | | | | | | | | DTrace support. Note that this defaults the 'make buildkernel' to build with CTF data so that the release kernel and modules are DTrace-able. Notes: svn path=/stable/7/; revision=182231
* Merge Makefile:1.348 from HEAD to RELENG_7:Robert Watson2008-05-101-1/+1
| | | | | | | | | | Mention -U and -ai arguments to mergemaster in a comment for the general mergemaster line. Suggested by: Ben Laurie Notes: svn path=/stable/7/; revision=178925
* MFC: Add a note pointing to build(7) for more info.John Baldwin2008-02-121-0/+2
| | | | Notes: svn path=/stable/7/; revision=176217
* MFC revision 1.342Xin LI2007-11-221-2/+2
| | | | | | | | | | | date: 2007/10/18 08:41:52; author: delphij; state: Exp; lines: +2 -2 Do not bail out for cleanworld target just because chflags is failed. Approved by: re (kensmith) Notes: svn path=/stable/7/; revision=173837
* Expose all of {check,delete}-old{,-dirs,-files,-libs}.Dag-Erling Smørgrav2007-05-161-5/+12
| | | | | | | MFC after: 3 weeks Notes: svn path=/head/; revision=169597
* Introduce a variable TARGETS that can be set on the make command lineMarcel Moolenaar2007-04-021-1/+3
| | | | | | | | | | | | | | | | and that controls which platforms are being built as part of a "make universe". By default TARGETS is set to the 8 platforms currently being built. This variable is useful for running or re-running a "make universe" with only a selected set of platforms. This makes the universe target slightly more useful in cases the universe is limited to a developer's scope or objectives. For example, when a universe failed for a particular platform and fixes need to be tested for that particular platform then a developer can restart the universe for only that platform, even if the initial universe is still building other platforms. Notes: svn path=/head/; revision=168280
* Add arm to universe.Ruslan Ermilov2006-11-281-1/+1
| | | | Notes: svn path=/head/; revision=164709
* Remove the NO_CTF option. It would have been required to supportJohn Birrell2006-11-211-1/+1
| | | | | | | DTrace. Notes: svn path=/head/; revision=164470
* When building an upgraded make, don't worry about processing it forJohn Birrell2006-11-011-1/+1
| | | | | | | | use with DTrace because the normal buildworld will do that when the tools are built. Notes: svn path=/head/; revision=163862
* Add sun4v to the 'universe'.John Birrell2006-10-161-1/+1
| | | | Notes: svn path=/head/; revision=163447
* In "make universe", utilize simplified cross-build synopsis,Ruslan Ermilov2006-09-081-21/+17
| | | | | | | | | "make TARGET=<machine> build*", now that it actually works. Prompted by: imp Notes: svn path=/head/; revision=162147
* Per weak consensus on this topic, remove suggestion to setWarner Losh2006-06-221-3/+0
| | | | | | | | | | | | | | HISTORICAL_MAKE_WORLD from the text that's output. This was committed against the previous consensus. Leave the documentation in this file as a compromose. The HISTORICAL_MAKE_WORLD knob is intentionally obfuscated and we only trust people smart enough to read the Makefile to use it. All others have no business using it due to its danger, unless DESTDIR is set. Dissentors: grog, obrien, trhodes Notes: svn path=/head/; revision=159862
* Note a short-cut in the build procedure.David E. O'Brien2006-06-211-0/+1
| | | | Notes: svn path=/head/; revision=159831
* Simply running ``make world'' will bomb unless you dig up theTom Rhodes2006-06-071-2/+3
| | | | | | | | | | | | undocumented HISTORICAL_MAKE_WORLD variable and set it. Note it here so the blow up will not really be a surprise to people who read. Link the buildingworld chapter of our handbook in the README while I'm here. Notes: svn path=/head/; revision=159363
* Create a new target 'buildenvvars'. This target reports the buildWarner Losh2006-06-061-3/+3
| | | | | | | | | | | | | | environment for cross building (the same one you'd get interactively in make buildenv). This cannot be a simple make -f Makefile.inc1 -V WMAKEENV because in PATH is not set correctly unless one takes a trip through the Makefile/Makefile.inc1 indirection, the logic of which is too large to reproduce outside of Makefiles. Notes: svn path=/head/; revision=159349
* Connect the kernel subsystem API documentation generation framework toAlexander Leidinger2006-05-261-4/+5
| | | | | | | | | | | the build infrastructure: "make doxygen" Changes to the man pages will be made when some defaults are revisited. Requested by: gnn Notes: svn path=/head/; revision=158962
* Disconnect Alpha from 'make universe'.John Baldwin2006-05-111-1/+1
| | | | Notes: svn path=/head/; revision=158453
* Add the new "showconfig" target that displays build configuration.Ruslan Ermilov2006-03-181-1/+1
| | | | | | | Suggested by: phk Notes: svn path=/head/; revision=156840
* Make ${SUBDIR_TARGETS} work at the uppermost level as well.Ruslan Ermilov2006-03-151-0/+1
| | | | Notes: svn path=/head/; revision=156740
* Do not discard the current value of __MAKE_CONF when testingYaroslav Tykhiy2006-03-011-2/+2
| | | | | | | | | | whether MAKEOBJDIRPREFIX is set at a wrong place. Reviewed by: ru MFC after: 3 days Notes: svn path=/head/; revision=156145
* Fix a bug in previous revision: skip LINT if it exists, not NOTESRuslan Ermilov2005-11-281-1/+1
| | | | | | | (the source for LINT), as I initially intended. Notes: svn path=/head/; revision=152880
* universe: don't attempt to compile DEFAULTS and don't compile LINT twice.Ruslan Ermilov2005-11-281-1/+2
| | | | Notes: svn path=/head/; revision=152879
* Add delete-old and delete-old-libs targets:Alexander Leidinger2005-07-231-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - removes obsolete files/dirs or libraries. - works in interactive (default) and batch mode - respects DISTDIR - documented in UPDATING and build(7) The head of the file ObsoleteFiles.inc contains instructions how to add obsolete files/dirs/libs to the list. Obviously one should add obsolete files to this list, when he removes a file/dir/lib from the basesystem. Additionally add check-old target: - allows re@ to check if a file on the obsolete list resurfaces Design goals: - allows full control by the user (default interactive mode) - possibility of scripted removal of obsolete files (batch mode) - opt-in removal of files (explicit list of files) - seperate removal of libs (2 delete targets) Important design decissions: - structured list of files to remove instead of a plain text file: * allows to remove additional files if a NO_foo knob is specified without the need to change the targets (no NO_foo knob is respected yet) - not using mtree like NetBSD does: * mtree doesn't has an interactive mode Discussed on: arch (long ago), current (this year) Additional input from: re (hrs) Approved by: mentor (joerg) Notes: svn path=/head/; revision=148330
* - Embed the "buildkernels" target into the "universe" target so thatRuslan Ermilov2005-07-191-12/+11
| | | | | | | | | | the "make -n universe" output looks more builder (human) friendly. - Wrap the "universe" target into a ".if make(universe)"; it's only intended to be called directly so it should be safe to do it. Notes: svn path=/head/; revision=148154
* Make the `distrib-dirs' target official and working properlyRuslan Ermilov2005-07-151-1/+1
| | | | | | | | when cross-building (installing). (This is useful for NFS installing world/kernel to another architecture machine.) Notes: svn path=/head/; revision=148051
* Provide 32-bit runtime support on amd64 as a separate distribution, lib32.Ruslan Ermilov2005-06-161-1/+1
| | | | | | | | | Prodded by: obrien Nodded by: peter Approved by: re Notes: svn path=/head/; revision=147425
* Repo-copy tools/regression/usr.bin/make to tools/build/make_checkHartmut Brandt2005-03-021-1/+1
| | | | | | | | | | | and adjust the path in the Makefile for the upgrade_checks target. These checks are really feature upgrade checks that should be fast and just find out whether we need to build a new make before proceeding with other targets like buildworld. This makes the place free for a real regression test suite in the old place. Notes: svn path=/head/; revision=143032
* Added the convenience "distribution" target which calls theRuslan Ermilov2005-02-271-1/+2
| | | | | | | | | target of the same name from src/etc/Makefile with a proper environment, suitable to be used during upgrades and cross- builds. Notes: svn path=/head/; revision=142644
* Added the "buildenv" target, for developers only!Ruslan Ermilov2005-02-261-1/+1
| | | | | | | | | | CAVEAT: if you run tcsh(1) from within this target, this will reset your PATH making this target mostly useless. Careful! Submitted by: jmg, ru Notes: svn path=/head/; revision=142585
* NOSHARED -> NO_SHAREDRuslan Ermilov2004-12-211-1/+1
| | | | Notes: svn path=/head/; revision=139112
* Start the dreaded NOFOO -> NO_FOO conversion.Ruslan Ermilov2004-12-211-1/+1
| | | | | | | OK'ed by: core Notes: svn path=/head/; revision=139103
* Previous revision didn't fix all cases. For example,Ruslan Ermilov2004-12-161-2/+3
| | | | | | | | | | | | | | | | testing for variables that are always defined (e.g., "make -V CC") would still print a false warning. Fix this by only passing a submake the MAKEOBJDIRPREFIX=* argument if it was present. As a result, we loose the check for -DMAKEOBJDIRPREFIX, or an esoteric "MAKEOBJDIRPREFIX = foo" (with embedded spaces), but these are unorthodox enough to not care about them. The make(1) bug mentioned in the previous revision was just fixed in make/main.c,v 1.109. Notes: svn path=/head/; revision=138921
* Unbreak the MAKEOBJDIRPREFIX variable check by avoiding bugs in make(1).Marcel Moolenaar2004-12-131-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When make flags are passed to make in the environment, the string is chopped up in an (argc,argv) vector. This happens in brk_string() and the chopped up string is stored in static buffer. When this includes something like "-V BINMAKE", then a pointer into the static buffer is put on the variables list for evaluation later. However, brk_string() is used for more than just chopping up the MAKEFLAGS env. variable, so it's very likely that the static buffer is clobbered. In fact, this is exactly what happens. The result is that _MAKEOBJDIRPREFIX gets assigned whatever garbage the child make happens to emit, causing the test to fail. Like this: pluto2% cd /usr/src pluto2% make -V BINMAKE "/q/6.x/src/Makefile", line 94: MAKEOBJDIRPREFIX can only be set in environment, not as a global (in /etc/make.conf) or command-line variable. pluto2% make -dv -V BINMAKE | & grep _MAKEOBJDIRPREFIX Global:_MAKEOBJDIRPREFIX = } The fix is to not use MAKEFLAGS for this, but simple pass the flags as arguments. Ideally make(1) should be fixed but that's beyond the scope of my attention span. This fixes release. Notes: svn path=/head/; revision=138768
* Fix builds with a read-only directory and a make upgrade. This is doneHartmut Brandt2004-12-071-0/+1
| | | | | | | | | | | by forcing the creation of an object directory for the make regression tests. Let make handle the tracking of the dependency and installation of test_shell script. Submitted by: ru Notes: svn path=/head/; revision=138515
* Convert tools/lib32/build.sh into world connectable hooks. This stillPeter Wemm2004-11-061-1/+2
| | | | | | | | | | | | | | | rates pretty high on the "hack!" scale, but it works for me. Adding -DWANT_LIB32 to the world build command line, or 'WANT_LIB32=yes' to /etc/make.conf will include the 32 bit libraries with the build. I have not made this default behavior. Cross compiling this stuff is an adventure I have not investigated. This is still a WIP. We needed this at work so that we could install from a readonly obj tree - lib32/build.sh wasn't up to that. Notes: svn path=/head/; revision=137288
* Fixed MAKEOBJDIRPREFIX variable type check in case the env(1)Ruslan Ermilov2004-10-181-1/+2
| | | | | | | binary is not in PATH, as is the case with installworld, etc. Notes: svn path=/head/; revision=136671
* My take at improving the universe: allow the worlds to beRuslan Ermilov2004-08-181-11/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | built in parallel. Examples: make universe Build worlds sequentially, each world sequentially. make universe JFLAG=-j4 Build worlds sequentially, each world in parallel. make -j4 universe make -j4 universe JFLAG=-j2 Build four worlds in parallel, each world will be built in parallel too. World parallelization is set to four in the first synopsis, and to two in the second. make -j4 universe JFLAG=-B Build worlds in parallel, each world sequentially. ("world" == buildworld followed by buildkernels.) Prayers: obrien, phk Notes: svn path=/head/; revision=133945
* Moved the MAKEOBJDIRPREFIX check from Makefile.inc1 to Makefile,Ruslan Ermilov2004-08-181-0/+6
| | | | | | | | to suppress warnings with installworld and distributeworld when env(1) cannot be found in the PATH. Notes: svn path=/head/; revision=133942
* Make make recurse into sub-directories and sub-makes when givenHartmut Brandt2004-08-091-7/+7
| | | | | | | | | | | | two -n flags. If only one -n flag is given the old behaviour is retained (POLA). In order to make this working for installworld change the IMAKEENV in this case so that the tools are found (we have no temporary installation environment in this case). Submitted by: ru (IMAKEENV part) Notes: svn path=/head/; revision=133376
* The doc team reworked the section of the handbook describing how toKen Smith2004-07-231-1/+1
| | | | | | | | rebuild things, further discouraging 'make world'. The title of that section is now changed... Notes: svn path=/head/; revision=132588
* Rename a preposterously long name with one that might look a bitMark Murray2004-07-181-2/+6
| | | | | | | | | | | more professional. While here, write a few lines of explanatory text to explain what its for. Discussed with: rwatson With hat: core Notes: svn path=/head/; revision=132358
* Add an "out" to the now required BS of defining DESTDIR.David E. O'Brien2004-07-181-1/+1
| | | | Notes: svn path=/head/; revision=132324
* Properly terminate a quoted string in the previous commit. OddlyMarcel Moolenaar2004-07-171-1/+1
| | | | | | | | enough this only seems to cause problems with -jX so went unnoticed until now. Notes: svn path=/head/; revision=132312
* As per discussions on current@, protect unsuspecting users fromMarcel Moolenaar2004-07-161-2/+16
| | | | | | | | | | | | | | trying to upgrade their system with make world instead of following the preferred and suggested sequence of commands. The fact remains that make world does not upgrade the kernel. Allow make world when DESTDIR has been specified, including when DESTDIR specifies the root file system. Otherwise, print a useful warning and fail. Reviewed, tested and scrutinized by: gad@ Notes: svn path=/head/; revision=132234
* Add a JFLAG which can be used to speed up universe:Poul-Henning Kamp2004-07-091-3/+3
| | | | | | | make universe JFLAG=-j12 Notes: svn path=/head/; revision=131876
* Add a kernel-toolchain target which only builds the bits required to buildDag-Erling Smørgrav2004-04-131-1/+1
| | | | | | | | | | a kernel. This is essentially the same as the toolchain target, except that it does not build headers and libraries. Submitted by: ru Notes: svn path=/head/; revision=128189
* Added the `toolchain' top-level target, which builds enough ofRuslan Ermilov2004-03-241-1/+1
| | | | | | | | | | buildworld, up to and including libraries, except for actually building the world. Requested by: many Notes: svn path=/head/; revision=127360