summaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Use uname -m [1] and rename BUILD_ARCH to XMACHINE[2].bz2010-01-091-2/+2
| | | | | | Submitted by: nyan[1], imp[2] MFC after: 27 days X-MFC with: r201815
* To avoid hardcoding further kernel configuration names forbz2010-01-081-11/+16
| | | | | | | | | | | | | make universe, split the logic into two parts: - 1st to build worlds and generate kernel configs like LINT. - 2nd to build kernels for a given TARGET architecture correctly finding all newly generated configs, not knowing anything about LINT anymore. (*) (*) If you know better/cleaner/... ways to do this, let me know. Discussed on/with: arch, jhb, rwatson MFC after: 1 month
* Add a new world named 'mips' to our universe.bz2009-04-011-1/+1
| | | | Discussed with: imp
* Implement the xdev target. When you define XDEV=arch XDEV_ARCH=arch,imp2009-03-131-1/+1
| | | | | | you can build the cross development tools and install them as $XDEV-freebsd-xxx for each tool. This allows one to use autoconf to find the tools for cross building scenarios.
* Permit digits at the beginning and end of kernel config file names forbz2008-12-271-1/+1
| | | | | | | | `make universe'. This catches a few more arm and, once enabled, mips configs and permits having local configs named like NOINET6. Reviewed by: phk MFC after: 4 weeks
* Provide a 'tinderbox' target that compiles enough of FreeBSD thatalfred2008-12-011-7/+28
| | | | | | | | a developer can rest reasonably assured that the tinderbox will not be broken. This target leverages most of 'universe' but will exit non-zero and output a summary at the end. "make tinderbox"
* Change the universe target to warn the user for every world or kernel thatdes2008-11-241-8/+14
| | | | | | | fails. The error message includes a reference to the relevant log file. Approved by: phk MFC after: 1 week
* Back out rev. 1.352 (SVN rev 179842) as phk pointed out thatbz2008-06-171-2/+2
| | | | | SRCCONF was omitted here to be able to build non standard trees with universe as well.
* For make universe, in addition to make.conf, also ignore abz2008-06-171-2/+2
| | | | | | | src.conf with possibe non-default options. Reviewed by: ru MFC after: 10 days
* Backout the change to remove sun4v.jb2008-05-251-1/+1
| | | | | Note that sun4v is currently broken on T2000 hardware so it's pretty much a lame duck at this point.
* Remove sun4v from the list of arches in 'make universe'. There has beenjb2008-05-251-1/+1
| | | | | | no active development on it for over a year now and it isn't reliable under a simple buildworld. Developers can't be expected to test code targeted for it.
* Add a knob to allow just the kernels to be built during a 'make universe'.jb2008-05-231-0/+2
| | | | | This is useful when wanting to retry a broken build using NOCLEAN and the buildworlds are known to have completed.
* Mention -U and -ai arguments to mergemaster in a comment for therwatson2008-04-291-1/+1
| | | | | | | general mergemaster line. MFC after: 3 days Suggested by: Ben Laurie
* Double up the necessary size of /usr/obj to 800MBpav2008-03-311-1/+1
| | | | | | PR: misc/99735 Reported by: Philip M. Gollucci <pgollucci@p6m7g8.com>, Maxim Konovalov <maxim@macomnet.ru>
* Add code that should catch the most common case when date/time isru2008-03-251-0/+4
| | | | set incorrectly.
* Add a note pointing to build(7) for more info.jhb2008-01-301-0/+2
| | | | | MFC after: 1 week Reviewed by: ru
* We don't need to invent BSDMAKE. ${MAKE} is sufficient.imp2007-12-131-3/+2
| | | | Submitted by: jmallet@
* Don't assume that make(1) is a bsd-like make program. It might not be. Thisimp2007-12-111-3/+5
| | | | | | only matters in the early stages of bootstrapping, of course, but gnu make can't handle bsd make Makefiles at all if they use any of the 'dot' directives, which src/Makefile has in abudnance.
* Do not bail out for cleanworld target just becausedelphij2007-10-181-2/+2
| | | | chflags is failed.
* Expose all of {check,delete}-old{,-dirs,-files,-libs}.des2007-05-161-5/+12
| | | | MFC after: 3 weeks
* Introduce a variable TARGETS that can be set on the make command linemarcel2007-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.
* Add arm to universe.ru2006-11-281-1/+1
|
* Remove the NO_CTF option. It would have been required to supportjb2006-11-211-1/+1
| | | | DTrace.
* When building an upgraded make, don't worry about processing it forjb2006-11-011-1/+1
| | | | | use with DTrace because the normal buildworld will do that when the tools are built.
* Add sun4v to the 'universe'.jb2006-10-161-1/+1
|
* In "make universe", utilize simplified cross-build synopsis,ru2006-09-081-21/+17
| | | | | | "make TARGET=<machine> build*", now that it actually works. Prompted by: imp
* Per weak consensus on this topic, remove suggestion to setimp2006-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
* Note a short-cut in the build procedure.obrien2006-06-211-0/+1
|
* Simply running ``make world'' will bomb unless you dig up thetrhodes2006-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.
* Create a new target 'buildenvvars'. This target reports the buildimp2006-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.
* Connect the kernel subsystem API documentation generation framework tonetchild2006-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
* Disconnect Alpha from 'make universe'.jhb2006-05-111-1/+1
|
* Add the new "showconfig" target that displays build configuration.ru2006-03-181-1/+1
| | | | Suggested by: phk
* Make ${SUBDIR_TARGETS} work at the uppermost level as well.ru2006-03-151-0/+1
|
* Do not discard the current value of __MAKE_CONF when testingyar2006-03-011-2/+2
| | | | | | | whether MAKEOBJDIRPREFIX is set at a wrong place. Reviewed by: ru MFC after: 3 days
* Fix a bug in previous revision: skip LINT if it exists, not NOTESru2005-11-281-1/+1
| | | | (the source for LINT), as I initially intended.
* universe: don't attempt to compile DEFAULTS and don't compile LINT twice.ru2005-11-281-1/+2
|
* Add delete-old and delete-old-libs targets:netchild2005-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)
* - Embed the "buildkernels" target into the "universe" target so thatru2005-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.
* Make the `distrib-dirs' target official and working properlyru2005-07-151-1/+1
| | | | | when cross-building (installing). (This is useful for NFS installing world/kernel to another architecture machine.)
* Provide 32-bit runtime support on amd64 as a separate distribution, lib32.ru2005-06-161-1/+1
| | | | | | Prodded by: obrien Nodded by: peter Approved by: re
* Repo-copy tools/regression/usr.bin/make to tools/build/make_checkharti2005-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.
* Added the convenience "distribution" target which calls theru2005-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.
* Added the "buildenv" target, for developers only!ru2005-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
* NOSHARED -> NO_SHAREDru2004-12-211-1/+1
|
* Start the dreaded NOFOO -> NO_FOO conversion.ru2004-12-211-1/+1
| | | | OK'ed by: core
* Previous revision didn't fix all cases. For example,ru2004-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.
* Unbreak the MAKEOBJDIRPREFIX variable check by avoiding bugs in make(1).marcel2004-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.
* Fix builds with a read-only directory and a make upgrade. This is doneharti2004-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
* Convert tools/lib32/build.sh into world connectable hooks. This stillpeter2004-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.
OpenPOWER on IntegriCloud