aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Protect shell expansions.Ruslan Ermilov2004-03-021-0/+4
| | | | Notes: svn path=/head/; revision=126485
* Add amd64 to universe.Johan Karlsson2004-02-291-1/+1
| | | | | | | Approved by: peter Notes: svn path=/head/; revision=126403
* Change the 'realclean' target name to be 'cleanworld', to match otherGarance A Drosehn2004-02-201-2/+2
| | | | | | | | | targets like buildworld, installworld. Suggested by: obrien Notes: svn path=/head/; revision=126031
* Improvements on the 'make realclean' target. Some are style improvements,Garance A Drosehn2004-02-191-13/+28
| | | | | | | | | | | | | | | | | but the biggest issue is that there are situatons when ${.OBJDIR} == ${.SRCDIR}, and in those situations the previous version would happily remove all your /usr/src while it was cleaning out the objects. Not that *you* would be happy about it... Thanks to bde for immediately noticing this serious possibility. More improvements will be made to this target, but I wanted to commit this safer version right now, before anyone lost their /usr/src due to it. Reviewed by: bde MFC after: 10 days Notes: svn path=/head/; revision=126024
* Add a 'realclean' target, which simply and quickly removes everythingGarance A Drosehn2004-02-161-0/+15
| | | | | | | | | | | | | that was built in previous 'make buildworld' and 'make buildkernel'. The target knows enough to run a 'chflags -R 0' and a second 'rm' if the first 'rm' ran into any errors while removing files. Suggested by: email with Richard Coleman Re: upcoming 64b-time_t changes. Reviewed by: imp, marcel, and others on -hackers MFC after: 1 week Notes: svn path=/head/; revision=125885
* Put on some factor 30+ bikeshed repellent and export the internalPeter Wemm2003-12-091-1/+7
| | | | | | | | | | | | | Makefile.inc1 underscore targets with a big warning that they are intentionally undocumented, subject to change without notice and might poison your dog etc. If you don't know what they are, then they are not meant for you to use. I've added these by hand to so many many trees that I've lost count. I find them rather useful. Notes: svn path=/head/; revision=123311
* Don't allow the 'make' target (which rebuilds make for bootstrapping)Kris Kennaway2003-11-071-1/+1
| | | | | | | | | to become confused by a file called 'make' in /usr/src Submitted by: ru Notes: svn path=/head/; revision=122204
* Retired the "most" and "installmost" targets -- they justRuslan Ermilov2003-10-041-4/+2
| | | | | | | | | | do not have a chance to work nowadays as we have a lot of internal libraries in lib/. Discussed with: marcel, wollman Notes: svn path=/head/; revision=120760
* Cosmetics: folded BITGTS into TGTS.Ruslan Ermilov2003-08-301-2/+3
| | | | Notes: svn path=/head/; revision=119579
* Limit testing for an up-to-date version of make(1) to the world andMarcel Moolenaar2003-08-281-1/+14
| | | | | | | | | | | | | | | | | | | | | | | buildworld targets by default, but allow it to be done for all user targets by introducing a boolean option, named ALWAYS_CHECK_MAKE. This change is by no means perfect and I don't even want to claim this to be a solution. It does however address the fact that not everybody likes to see make(1) rebuilt simply because the regression test failed for some reason or other, including pilot error. It therefore serves the purpose of keeping the crowd happy until we have something better or simply reached a compromise. The reasons for changing the default behaviour are: o It avoids a negative, possibly non-intuitive option, o It's according to POLA and fond of feet, o Only buildworld is documented to do its best to be successful at reasonably cost. Reviewed by: gad, imp, obrien, peter Notes: svn path=/head/; revision=119519
* - Don't print "elf" before printing "make world" (aout support has beenRuslan Ermilov2003-08-061-3/+5
| | | | | | | | | removed). - Avoid using printf(1) where a simple shell's built-in echo is enough. Notes: svn path=/head/; revision=118531
* The `mk' target is long dead.Ruslan Ermilov2003-07-201-1/+1
| | | | Notes: svn path=/head/; revision=117806
* Use an up-to-date make binary in the upgrade_checks target ifRuslan Ermilov2003-07-191-1/+1
| | | | | | | | | | | | one is already available. This avoids sometimes unnecessary step of attempting to rebuild the make binary again which may fail at all if, for example, one has removed his /usr/include before doing an installworld (to keep /usr/include tidied up). Pointed out by: kris, marcel Notes: svn path=/head/; revision=117793
* Don't hardcore PATH into BINMAKE; the latter should only beRuslan Ermilov2003-07-041-2/+2
| | | | | | | | | | | | | | comprised of the path to a make(1) binary (possibly the one built by the "make" target in this Makefile), and a path to a fresh share/mk. The idea is to allow "make release" pick up the right "make" binary, if one exists. This fixes release.5 I broke with the last commit here; the second PATH here was overriding the right one from WMAKEENV while rebuilding the "build-tools" for crunched binaries. Notes: svn path=/head/; revision=117234
* Fixed style bugs related to parentheses in Makefile.inc1.Ruslan Ermilov2003-07-041-2/+3
| | | | | | | | | | Submitted by: bde Fixed nearby bug: propagate the root Makefile's idea of the appropriate "make" binary down to release/Makefile. Notes: svn path=/head/; revision=117229
* Do the upgrade checks quietly.Ruslan Ermilov2003-06-221-2/+2
| | | | Notes: svn path=/head/; revision=116696
* Allow installkernel.debug and reinstallkernel.debug.Hidetoshi Shimokawa2003-06-221-2/+7
| | | | Notes: svn path=/head/; revision=116679
* Kill upgrade target docs. It too is stale.Warner Losh2003-04-031-1/+0
| | | | | | | Submitted by: ru Notes: svn path=/head/; revision=113000
* Kill aout to elf upgrade path. From an old comment in the makefile:Warner Losh2003-04-031-46/+0
| | | | | | | | | | | | | | | # If -DWANT_AOUT is specified, a `make world' with OBJFORMAT=elf will # update the legacy support for aout. This includes all libraries, ld.so # and boot objects. This part of build should be regarded as # deprecated and you should _not_ expect to be able to do this past the # release of 4.0. You have exactly one major release to move entirely # to elf. Now that we're past 5.0, these aren't needed at all anymore and it is well past its freshness date. Notes: svn path=/head/; revision=112999
* Don't make buildworld and buildkernel in parallel.Ruslan Ermilov2003-02-271-0/+1
| | | | | | | | And this is probably what you expect when you say "make -jX buildworld buildkernel". Notes: svn path=/head/; revision=111617
* Don't spam sys/${MACHINE}/conf/ with _.${MACHINE}.makeLINT.Ruslan Ermilov2003-02-191-1/+1
| | | | | | | Submitted by: johan Notes: svn path=/head/; revision=111133
* Fixed universe.Ruslan Ermilov2003-02-191-34/+30
| | | | | | | | Folded pc98 into the common case. Retired ${JFLAG} (``make -jX universe'' should work). Notes: svn path=/head/; revision=111131
* Fix make universe's kernel builds on pc98: We need to pass both ARCHPoul-Henning Kamp2003-02-181-7/+7
| | | | | | | and TARGET_ARCH. Notes: svn path=/head/; revision=111089
* Part 3/3 of unbreaking cross releases:Ruslan Ermilov2003-01-291-12/+16
| | | | | | | | | | | | | | | | | | | | | When we call "distributeworld" as part of "make release", we set MACHINE and MACHINE_ARCH to point to TARGET and TARGET_ARCH; this confused src/Makefile's idea of what ${MAKEPATH}, and consequently ${MAKE}, is (well, it still confuses ${MAKEPATH}, but see below). To overcome this problem, we now take the following approach: - We preserve the make(1)'s idea of its argv[0], ${MAKE}. - We check to see if ${MAKE} passes the regression tests. - If it does, we use it. Otherwise, we build and use an up-to-date make(1). This fix is still not quite right, in a situation where a single /usr/obj is shared between different architecture machines, but it is less critical and I hope to fix that soon. Notes: svn path=/head/; revision=110035
* Minor typo fixes and whitespace cleanups.Jens Schweikhardt2002-12-301-4/+3
| | | | Notes: svn path=/head/; revision=108451
* Build kernels for pc98 just like the other platforms. Also, removeWarner Losh2002-12-141-1/+10
| | | | | | | | | | one space to make the dates line up for easy mental math. # Too bad only i386 and pc98 are the only parts of the universe # currently buildable on my box :-( Notes: svn path=/head/; revision=107884
* Minor, cosmetic change to buildworld output to make it reflectBruce A. Mah2002-12-031-1/+1
| | | | | | | | | | rev. 1.270 more accurately. Reviewed by: ru Approved by: re (jhb) Notes: svn path=/head/; revision=107556
* If /usr/bin/make fails to pass the regression tests, it might notRuslan Ermilov2002-12-021-7/+20
| | | | | | | | | | | | | be suitable for building. The old action here was to upgrade the make in /usr/bin. This is both bogus and does not work under non root. So, rather than overwriting the existing /usr/bin/make, we now install it into a safe location, and use it from there. Reviewed by: imp, marcel Approved by: re (rwatson) Notes: svn path=/head/; revision=107516
* Moved make(1) regression tests from src/Makefile to where theyRuslan Ermilov2002-11-281-28/+4
| | | | | | | | | | belong (src/tools/regression/usr.bin/make), and use the latter to test if make(1) is adequate for building the world. Approved by: re Notes: svn path=/head/; revision=107374
* PC98 is not a true architecture, but a subarchitecture of i386, so we needPoul-Henning Kamp2002-10-021-1/+4
| | | | | | | to use a slightly differnt command to PC98::buildworld. Notes: svn path=/head/; revision=104370
* Add pc98 to universe target.Poul-Henning Kamp2002-10-011-3/+3
| | | | | | | Remember about /usr/obj and look for conf/NOTES in the right place. Notes: svn path=/head/; revision=104277
* Add "make universe" target which:Poul-Henning Kamp2002-09-261-0/+38
| | | | | | | | | | | | | | | | | | for each arch i386 sparc64 alpha ia64 make buildworld TARGET_ARCH=$arch if NOTES found make LINT foreach kern ${arch}/conf/[A-Z0-9]* make buildkernel TARGET_ARCH=$arch KERNCONF=$kern Errors from the individual steps are ignored and the stdout+stderr are saved in distinct files in root of the source tree with names like: _.${arch}.${target} On my dual 1.6G Athlon it takes roughly four hours to run this target. Notes: svn path=/head/; revision=103985
* Initiate deorbit burn for the i386-only a.out related support. Moves arePeter Wemm2002-09-171-12/+2
| | | | | | | | | | | | | | | | | | under way to move the remnants of the a.out toolchain to ports. As the comment in src/Makefile said, this stuff is deprecated and one should not expect this to remain beyond 4.0-REL. It has already lasted WAY beyond that. Notable exceptions: gcc - I have not touched the a.out generation stuff there. ldd/ldconfig - still have some code to interface with a.out rtld. old as/ld/etc - I have not removed these yet, pending their move to ports. some includes - necessary for ldd/ldconfig for now. Tested on: i386 (extensively), alpha Notes: svn path=/head/; revision=103436
* Deal with bootstrapping from an old -current (almost exactly a year old)Peter Wemm2002-08-311-1/+2
| | | | | | | | | | which fails the make tests (doesn't understand ${notdef:U}) and therefore fails on __FBSDID in usr.bin/make/*. -DBOOTSTRAPPING is no help here since this is before we are using the new share/mk/* files, and it would conflict with the builtin -DBOOTSTRAPPING support later.. so use a different flag. Notes: svn path=/head/; revision=102692
* Indentation.Ruslan Ermilov2002-07-201-7/+7
| | | | Notes: svn path=/head/; revision=100402
* Upgrade make(1) if not passing the ``.if defined(notdef) && ${notdef:U}''Ruslan Ermilov2002-07-201-2/+8
| | | | | | | test (revealed by bsd.lib.mk,v 1.134). Notes: svn path=/head/; revision=100401
* correct syntax in last commitMatthew Dillon2002-06-241-1/+1
| | | | Notes: svn path=/head/; revision=98775