summaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
...
* Improvements on the 'make realclean' target. Some are style improvements,gad2004-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
* Add a 'realclean' target, which simply and quickly removes everythinggad2004-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
* Put on some factor 30+ bikeshed repellent and export the internalpeter2003-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.
* Don't allow the 'make' target (which rebuilds make for bootstrapping)kris2003-11-071-1/+1
| | | | | | to become confused by a file called 'make' in /usr/src Submitted by: ru
* Retired the "most" and "installmost" targets -- they justru2003-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
* Cosmetics: folded BITGTS into TGTS.ru2003-08-301-2/+3
|
* Limit testing for an up-to-date version of make(1) to the world andmarcel2003-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
* - Don't print "elf" before printing "make world" (aout support has beenru2003-08-061-3/+5
| | | | | | removed). - Avoid using printf(1) where a simple shell's built-in echo is enough.
* The `mk' target is long dead.ru2003-07-201-1/+1
|
* Use an up-to-date make binary in the upgrade_checks target ifru2003-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
* Don't hardcore PATH into BINMAKE; the latter should only beru2003-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.
* Fixed style bugs related to parentheses in Makefile.inc1.ru2003-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.
* Do the upgrade checks quietly.ru2003-06-221-2/+2
|
* Allow installkernel.debug and reinstallkernel.debug.simokawa2003-06-221-2/+7
|
* Kill upgrade target docs. It too is stale.imp2003-04-031-1/+0
| | | | Submitted by: ru
* Kill aout to elf upgrade path. From an old comment in the makefile:imp2003-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.
* Don't make buildworld and buildkernel in parallel.ru2003-02-271-0/+1
| | | | | And this is probably what you expect when you say "make -jX buildworld buildkernel".
* Don't spam sys/${MACHINE}/conf/ with _.${MACHINE}.makeLINT.ru2003-02-191-1/+1
| | | | Submitted by: johan
* Fixed universe.ru2003-02-191-34/+30
| | | | | Folded pc98 into the common case. Retired ${JFLAG} (``make -jX universe'' should work).
* Fix make universe's kernel builds on pc98: We need to pass both ARCHphk2003-02-181-7/+7
| | | | and TARGET_ARCH.
* Part 3/3 of unbreaking cross releases:ru2003-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.
* Minor typo fixes and whitespace cleanups.schweikh2002-12-301-4/+3
|
* Build kernels for pc98 just like the other platforms. Also, removeimp2002-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 :-(
* Minor, cosmetic change to buildworld output to make it reflectbmah2002-12-031-1/+1
| | | | | | | rev. 1.270 more accurately. Reviewed by: ru Approved by: re (jhb)
* If /usr/bin/make fails to pass the regression tests, it might notru2002-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)
* Moved make(1) regression tests from src/Makefile to where theyru2002-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
* PC98 is not a true architecture, but a subarchitecture of i386, so we needphk2002-10-021-1/+4
| | | | to use a slightly differnt command to PC98::buildworld.
* Add pc98 to universe target.phk2002-10-011-3/+3
| | | | Remember about /usr/obj and look for conf/NOTES in the right place.
* Add "make universe" target which:phk2002-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.
* Initiate deorbit burn for the i386-only a.out related support. Moves arepeter2002-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
* Deal with bootstrapping from an old -current (almost exactly a year old)peter2002-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.
* Indentation.ru2002-07-201-7/+7
|
* Upgrade make(1) if not passing the ``.if defined(notdef) && ${notdef:U}''ru2002-07-201-2/+8
| | | | test (revealed by bsd.lib.mk,v 1.134).
* correct syntax in last commitdillon2002-06-241-1/+1
|
* Document TARGET_ARCHdillon2002-06-241-0/+5
|
* Reimplement FILES support using bsd.files.mk with theru2002-06-031-1/+1
| | | | | | | | same set of features as in recently added bsd.incs.mk (FILESGROUPS, accessibility from both bsd.prog.mk and bsd.lib.mk, de-pessimized typical installation path, etc.) New standard targets: buildfiles, installfiles, and files (buildfiles + installfiles).
* Line up the make world completed output.obrien2002-05-301-1/+1
|
* Forgot to commit this for the `includes' -> `buildincludes',ru2002-05-241-2/+5
| | | | `incsinstall' -> `installincludes' changes.
* Added new bsd.incs.mk which handles installing of header filesru2002-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | via INCS. Implemented INCSLINKS (equivalent to SYMLINKS) to handle symlinking include files. Allow for multiple groups of include files to be installed, with the powerful INCSGROUPS knob. Documentation to follow. Added standard `includes' and `incsinstall' targets, use them in Makefile.inc1. Headers from the following makefiles were not installed before (during `includes' in Makefile.inc1): kerberos5/lib/libtelnet/Makefile lib/libbz2/Makefile lib/libdevinfo/Makefile lib/libform/Makefile lib/libisc/Makefile lib/libmenu/Makefile lib/libmilter/Makefile lib/libpanel/Makefile Replaced all `beforeinstall' targets for installing includes with the INCS stuff. Renamed INCDIR to INCSDIR, for consistency with FILES and SCRIPTS, and for compatibility with NetBSD. Similarly for INCOWN, INCGRP, and INCMODE. Consistently use INCLUDEDIR instead of /usr/include. gnu/lib/libstdc++/Makefile and gnu/lib/libsupc++/Makefile changes were only lightly tested due to the missing contrib/libstdc++-v3. I fully tested the pre-WIP_GCC31 version of this patch with the contrib/libstdc++.295 stuff. These changes have been tested on i386 with the -DNO_WERROR "make world" and "make release".
* Bring doc up-to-date with current buildworld/buildkernel practices.jwd2002-05-081-11/+20
| | | | Reviewed by: jhb
* Added internal, non-recursive (SUBDIR) versions of the `all-man'ru2002-05-071-1/+1
| | | | | | | | and `maninstall' targets. This fixes the issue where each subdir was descended into twice during "make all", and also resurrects the standardization of `maninstall'. Urged by: bde
* Milestone #2 in cross-arch make releases. They now work!ru2002-04-301-2/+2
| | | | | | | | | You need to set TARGET_ARCH and possibly TARGET, the same way you normally do it for a cross build(7). Renamed `distribworld' to a more natutal `distributeworld'. Put pwd_mkdb(8) under ${INSTALLTMP}; for `distributeworld'.
* Parallel "make release" fixes.ru2002-04-291-1/+13
|
* Milestone #1 in cross-arch make releases.ru2002-04-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not install games and profiled libraries to the ${CHROOTDIR} with the initial installworld. Eliminate the need in the second installworld. For that, make sure _everything_ is built in the "world" environment, using the right tool chain. Added SUBDIR_OVERRIDE helper stuff to Makefile.inc1. Split the buildworld process into stages, and skip some stages when SUBDIR_OVERRIDE is set (used to build crypto, krb4, and krb5 dists). Added NO_MAKEDB_RUN knob to Makefile.inc1 to avoid running makewhatis(1) at the end of installworld (used when making crypto, krb4, and krb5 dists). In release/scripts/doFS.sh, ensure that the correct boot blocks are used. Moved the creation of the "crypto" dist from release.5 to release.2. In release.3 and doMFSKERN, build kernels in the "world" environment. KERNELS now means "additional" kernels, GENERIC is always built. Ensure we build crunched binaries in the "world" environment. Obfuscate release/Makefile some more (WMAKEENV) to achieve this. Inline createBOOTMFS target. Use already built GENERIC kernel modules to augment mfsfd's /stand/modules. GC doMODULES as such. Assorted fixes: Get rid of the "afterdistribute" target by moving the single use of it from sys/Makefile to etc/Makefile's "distribute". Makefile.inc1: apparently "etc" no longer needs to be last for "distribute" to succeed. gnu/usr.bin/perl/library/Makefile.inc: do not override the "install" and "distribute" targets, do it the "canonical" way. release/scripts/{man,cat}pages-make.sh: make sure Perl manpages and catpages appear in the right dists. Note that because Perl does not respect the MANBUILDCAT (and NOMAN), this results in a loss of /usr/share/perl/man/cat* empty directories. This will be fixed soon. Turn MAKE_KERBEROS4 into a plain boolean variable (if it is set it means "make KerberosIV"), as documented in the make.conf(5) manpage. Most of the userland makefiles did not test it for "YES" anyway. XXX Should specialized kerberized libpam versions be included into the krb4 and krb5 dists? (libpam.a would be incorrect anyway if both krb4 and krb5 dists were choosen.) Make sure "games" dist is made before "catpages", otherwise games catpages settle in the wrong dist. Fast build machine provided by: Igor Kucherenko <kivvy@sunbay.com>
* Merge bsd.obj.mk's version of the _SUBDIR target with bsd.subdir.mk.ru2002-04-231-1/+1
| | | | | | | | | | | | | | | | Ensure all standard targets honor SUBDIR. Now `make obj' descends into SUBDIRs even if NOOBJ is set (some descendants may still need an object directory, but we do not have such precedents). Now `make install' in non-bsd.subdir.mk makefiles runs `afterinstall' target _after_ `install' in SUBDIRs, like we do in bsd.subdir.mk. Nothing depended on the wrong order anyway. Fixed `distribute' targets (except for the bsd.subdir.mk version) so that they do not depend on _SUBDIR; `distribute' calls `install' which already depends on _SUBDIR. De-standardize `maninstall', otherwise manpages would be installed twice. (To be revised later.)
* Despite the fact that it is documented in the handbook, the release notes,gshapiro2002-04-201-3/+3
| | | | | | | | | | | | | | | | and UPDATING and has been posted to both freebsd-current and freebsd-stable, users are still not adding the required smmsp user and group before doing an installworld. Therefore, don't let users do an installworld unless they have followed directions. Add a new installcheck Makefile target which installworld runs before actually starting the installation. This target can be used by other parts of userland as well. The first addition to the target is to check for the smmsp user and group if NO_SENDMAIL isn't defined. Others may add checks to this target as they see fit. MFC after: 1 week
* Makefile.inc0 is no longer used.keramida2002-03-031-3/+1
| | | | | | Update comments to reflect that. Approved by: dd, silence in -audit.
* FreeBSD 4.1 bootstrapping aid (``:C'' make(1) modifier usedru2002-02-081-0/+5
| | | | | | by gnu/usr.bin/binutils/as/Makefile.inc0 is not there). XXX: make(1) should return with a non-zero exit status here.
* Make it possible to build manpages for the entire source tree.ru2001-03-271-1/+1
|
* End words with a `.'.obrien2001-03-041-2/+2
| | | | Fixed spacing messed up in rev 1.244.
OpenPOWER on IntegriCloud