aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Restore default implict behavior of running the all target we had before.Jordan K. Hubbard1998-09-151-1/+4
| | | | Notes: svn path=/head/; revision=39206
* Revive hierarchy again.Andrey A. Chernov1998-09-101-3/+3
| | | | | | | Please commit only patches, not whole files! Notes: svn path=/head/; revision=39055
* Add the missing rerelease target back.John Birrell1998-09-091-5/+8
| | | | | | | | | | | | | Reported by: Justin Gibbs. Add the move-aout-libs upgrade target so that people who have already gone elf can put their libraries through the mincer. Anyone who hasn't deleted aout libraries from /usr/lib (but has done a make world putting the new aout libs in /usr/lib/aout) will be asked for confirmation to delete them one by one. Notes: svn path=/head/; revision=38978
* Revive hierarchy targetAndrey A. Chernov1998-09-071-3/+3
| | | | Notes: svn path=/head/; revision=38916
* YAMT (yet another missing target). It's a shame that these have toJohn Birrell1998-09-041-2/+2
| | | | | | | | be visible to the user. Maybe `make release' should call the backend directly. Notes: svn path=/head/; revision=38821
* Add the distribute target that make release wants.John Birrell1998-09-041-3/+4
| | | | Notes: svn path=/head/; revision=38804
* Add the clean cleandepend and cleanobj targets back.John Birrell1998-09-011-3/+3
| | | | Notes: svn path=/head/; revision=38719
* E-day build system changes.John Birrell1998-08-311-837/+93
| | | | | | | | | | | | | | | | | | | | - Moved most of the guts of Makefile to Makefile.inc1 to become the backend for the build system. - The new Makefile doesn't suffer from problems including the wrong sys.mk because it doesn't use anything in there or bsd.own.mk. So, from now on, the proper build command is just `make world' (or buildworld). - The intermediate makefiles called Makefile.inc0 and Makefile.upgrade fiddle with the OBJFORMAT and MAKEOBJDIRPREFIX variables so that both aout and elf object trees can coexist. Makefile.upgrade contains the aout->elf transition build. - A cross build environment is now very close to reality. Specifying TOOLDIR, setting OBJFORMAT and MAKEOBJDIRPREFIX allow that. See the comments in Makefile for more info. Notes: svn path=/head/; revision=38666
* Build objformat on all architectures.John Birrell1998-08-181-3/+2
| | | | Notes: svn path=/head/; revision=38425
* Fully enable the optimization of not building dependencies unless NOCLEANBruce Evans1998-08-041-2/+2
| | | | | | | is set. It was disabled in the -j case. See rev.1.173. Notes: svn path=/head/; revision=38106
* Descend into etc always; src/etc/sendmail/Makefile has make.conf hooksPeter Wemm1998-08-041-2/+2
| | | | | | | | | | | for building and installing a local sendmail.cf.. I'm a little nervous about the implications of having an obj dir built under etc (to get to the obj dir for sendmail), but the make rules appear to DTRT. Notes: svn path=/head/; revision=38104
* Fixed building -current under 2.2.6 using `make world'. Moved someBruce Evans1998-08-031-3/+13
| | | | | | | | | | recently added definitions from sys.mk to bsd.own.mk. Include the src-relative bsd.own.mk in src/Makefile to pick up all new definitions. Don't check that MACHINE_ARCH is defined in src/Makefile, since it is (and should have been) guaranteed to be defined. Notes: svn path=/head/; revision=38042
* Malformed conditional if MACHINE_ARCH is not defined. From rev 1.195.Wolfram Schneider1998-08-021-3/+3
| | | | Notes: svn path=/head/; revision=38009
* Oops, don't build tools for building games, etc. when we're not buildingBruce Evans1998-07-071-18/+35
| | | | | | | | | | games, etc. Define _BUILD_TOOLS in sub-makes for building tools. This will be used to avoid using uninstalled tools in colldef and mklocale. Notes: svn path=/head/; revision=37475
* Build internal tools in build-tools so that they have some chance ofBruce Evans1998-07-071-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | working when the target system is not binary compatible. Use various hacks to work around minor problems in the source and binary tree layouts: - caesar and strfile are built normally (the source layout is good), then installed by copying them to ${WORLDTMP}/usr/bin (they are installed in ${WORLDTMP}/usr/games, but I don't want to put that in $PATH). - colldef and mklocale are built and installed normally. Messy and incomplete relative path searches for them and caesar and strfile can now go away. - internal tools that aren't installed are now built and left lying around for the `make all' pass to use. If the target system is not binary compatible, it is critical that these tools don't get rebuilt. Cleaning of the obj tree before building the internal tools should ensure this. - most internal tools are built using internal build-tools targets, but tn3270 is simpler for a change - it has all the tools in a separate tree, so they can be built using `make all'. Notes: svn path=/head/; revision=37473
* Added yacc to the bootstrap tools. It is needed very early toBruce Evans1998-06-171-1/+4
| | | | | | | | | | | build at least compile_et and lex, and although almost any version of yacc could work, the version in -stable doesn't actually work with -current makefiles because it doesn't support -o. Submitted by: Ian Holland <ianh@tortuga.com.au> Notes: svn path=/head/; revision=37026
* join(1) is used by lorder, add it to build-tools. (otherwise, things getPeter Wemm1998-06-131-1/+2
| | | | | | | | ugly when an a.out /usr/bin/join sees the elf LD_LIBRARY_PATH from a 'make world' and it's a.out ld.so tries to load the elf libc.so.) Notes: svn path=/head/; revision=36939
* Quick fixes for the mtree bootstrap:Bruce Evans1998-06-091-5/+6
| | | | | | | | | | | | | | | | | | | - don't announce `mtree' as `mtools'. - don't install to ${DESTDIR}/usr/sbin (which often doesn't exist if DESTDIR is set and may be read-only if DESTDIR is not set). - install to (${WORLDTMP}/usr/sbin so that the new mtree is actually in $PATH if DESTDIR is set. - don't use the host make or the host sys.mk. This is probably unimportant. - use a temporary obj dir like the one for `make'. This was mainly necessary because I forgot to remove the MAKEOBJDIRPREFIX unsetting which was just a bug for mtree. A non-quick fix would handle mtree more like a bootstrap tool (the only additional complications are to create ${BINDIR} and avoid excessive cleaning). Except a non-quick fix would change much more. Notes: svn path=/head/; revision=36800
* Compile mtree before it is used, this is a hack, but make world hasSøren Schmidt1998-06-071-1/+12
| | | | | | | failed since new functionality was introduced in mtree. Notes: svn path=/head/; revision=36722
* -DALLLANG is now obsolete in "src/Makefile"; move to "src/release/Makefile".Joseph Koshy1998-06-061-4/+1
| | | | | | | PR: 6685 Notes: svn path=/head/; revision=36687
* Don't run the target's ldconfig or build it as a tool. If target == hostBruce Evans1998-06-061-11/+5
| | | | | | | | | | | | | | | (in particular, if DESTDIR is empty or "/"), then the host's ldconfig will be the target's ldconfig by the time it is run. Fixed disordering of env. Don't know too much about libcrypt. Use exactly the same definition of _libcrypt as lib/Makefile. Don't build strip twice. Notes: svn path=/head/; revision=36683
* Fixed bogotification of the lex bootstrap in rev.1.186 and the previousBruce Evans1998-06-061-5/+5
| | | | | | | | | commit - don't wander off to bootstrap mtree and include in the middle of bootstrapping lex, and don't forget what we were doing and build some lex obj dirs twice. Notes: svn path=/head/; revision=36682
* Add mtree to bootstrap targets now that peter has added a newJordan K. Hubbard1998-06-051-2/+5
| | | | | | | | keyword to it which will otherwise call the next target to fall over on transitioning systems. Notes: svn path=/head/; revision=36672
* Build aout bootstrap tools only on i386.John Birrell1998-06-041-12/+30
| | | | | | | `make world' now works on alpha! Notes: svn path=/head/; revision=36638
* Typos.Philippe Charnier1998-06-041-3/+3
| | | | Notes: svn path=/head/; revision=36622
* Don't build perl in build-tools: if NOPERL is defined.John Hay1998-06-021-2/+9
| | | | Notes: svn path=/head/; revision=36589
* Fix brain-fart. "usr.bin/reinstall" should be "sbin/ldconfig".Peter Wemm1998-06-021-2/+2
| | | | | | | | | No comment. *-<:-) Submitted by: "Pierre Y. Dampure" <pierre.dampure@k2c.co.uk> Notes: svn path=/head/; revision=36585
* ldconfig is used at the end of installworld.Peter Wemm1998-06-011-1/+3
| | | | Notes: svn path=/head/; revision=36573
* Add a test to see if the secure directory exists, before deciding whichJohn Hay1998-05-301-2/+2
| | | | | | | | | | crypt library should be used when building bootstrap-libraries. This make it work on machines that don't have the secure directory. Thanks to Paul Allenby <pallenby@mikom.csir.co.za> for bringing it to my attention. Notes: svn path=/head/; revision=36470
* Whoops! Committed the wrong version of that file - here's the one whichJordan K. Hubbard1998-05-291-3/+3
| | | | | | | works. Notes: svn path=/head/; revision=36455
* Move sh after awk in build tools - sh requires awk to build. Add idJordan K. Hubbard1998-05-291-2/+3
| | | | | | | | to list of bootstrap tools. Submitted by: jhay Notes: svn path=/head/; revision=36454
* Only pre-build the "default" libcrypt, since it gets to set the symlinksPeter Wemm1998-05-281-4/+7
| | | | | | | | | | for the rest of the build. I'm not certain, but I think this determines which crypt() goes into /sbin/init. This change shouldn't hurt anyway. :-) Based on a suggestion by: bde Notes: svn path=/head/; revision=36444
* Urgent fix for bootstrap target. If the old symlinks are pointing to thePeter Wemm1998-05-281-4/+6
| | | | | | | | | | real source tree, the bootstrap target would attempt have cpio copy the files over themselves, unlinking them first. I think this only happened with make -DNOCLEAN world at the transition between a symlinked objdir/tmp/usr/include/{sys,net,..} and real files. Notes: svn path=/head/; revision=36442
* Replace the partial symlink tree to src/sys/* in $OBJDIR/tmp/usr/includePeter Wemm1998-05-271-3/+14
| | | | | | | | | with real copies. I'm sick of !@#&!^!@#*& mtree chowning directories in my src/sys/* tree after it follows the symlinks. I still believe that mtree is broken for doing this (introduced in mtree.c rev 1.5). Notes: svn path=/head/; revision=36429
* On the other hand, when /usr/bin/as is really a link to objformat, it's notPeter Wemm1998-05-271-3/+4
| | | | | | | | | helpful to stop it running /usr/libexec/aout/as for real while bootstrapping. Only force a strict path when we really have built all the tools in $OBJDIR/tmp/usr/libexec/*. Notes: svn path=/head/; revision=36423
* Move objformat after binutils, otherwise we get chicken/egg problems whenPeter Wemm1998-05-271-3/+3
| | | | | | | | building ELF. It may be that binutils and objformat need to both be moved earlier in the list though, but that can wait till the dust settles. Notes: svn path=/head/; revision=36419
* Compile & use objformat as it was intended to, I have no idea whySøren Schmidt1998-05-271-1/+2
| | | | | | | that failed for me before :( Notes: svn path=/head/; revision=36408
* ELF preparation step 2:Søren Schmidt1998-05-261-2/+3
| | | | | | | | | | | | | | | | | Move a.out libraries to /usr/lib/aout to make space for ELF libs. Make rtld usr /usr/lib/aout as default library path. Make ldconfig reject /usr/lib as an a.out library path. Fix various Makefiles for LIBDIR!=/usr/lib breakage. This will after a make world & reboot give a system that no longer uses /usr/lib/*, infact one could remove all the old libraries there, they are not used anymore. We are getting close to an ELF make world, but I'll let this all settle for a week or two... Notes: svn path=/head/; revision=36397
* ELF preparation step 1:Søren Schmidt1998-05-251-1/+5
| | | | | | | | | | | | | | | | | | Move our old a.out utils to /usr/libexec/aout. Enable binutils and put the utils in /usr/libexec/elf Enable objformat, a little helper program that calls the right utils based on /etc/objformat and $OBJFORMAT. This will enable the ELF generating tools. Remember that this is only step one, the system is still compiled and run in a.out format ONLY. Problem left to solve: The BSD manpages wins over the GNU equivalents as the are installed last. We need to distinguish between the manpages somehow... Notes: svn path=/head/; revision=36374
* Make perl a build tool since it is required during a make depend.John Birrell1998-05-181-1/+2
| | | | | | | This should fix the problem people have been having with perl/usub. Notes: svn path=/head/; revision=36142
* Now that FreeBSD/Alpha can be installed on a disk and run on its own,John Birrell1998-05-161-2/+2
| | | | | | | | | a bootstrap build under NetBSD is an option. This makefile will require further changes to ignore aout tools. Notes: svn path=/head/; revision=36111
* Don't use `&&' in any shell commands here. Using it to give conditionalBruce Evans1998-05-151-117/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | execution is usually unnecessary in BSD Makefiles because BSD make invokes shells with -e. Using it to give conditional execution is often wrong in BSD makefiles because BSD make joins shell commands when invoked in certain ways (in particular, as `make -jN'). Example makefile: --- clean: cd / false && true rm -rf * # a dangerous command --- This should terminate after the `false && true' command fails, but it doesn't when the commands are joined (`false && true' is a non- simple command, so -e doesn't cause termination). The b-maked version: --- clean: cd / false; true rm -rf * # a dangerous command --- terminates after the `false' command fails (`false' is a simple command, so -e causes termination). However, for versions of make like gnu make that don't invoke shells with -e, this change completely breaks the makefile. This is one of the fixes for the bug suite that caused `make world' to sometimes put raw cpp output in .depend files. Building of cc sometimes failed, but the failure did not terminate the build immediately, and various wrong versions of the cc components were used until one was wrong enough to cause a fatal error. Notes: svn path=/head/; revision=36074
* Removed share/info from build-tools. It should never have been there,Bruce Evans1998-05-101-2/+1
| | | | | | | | | | and became redundant when it was put in SUBDIR, and became bogus when WORLDTMP was introduced, and became broken when INFODIR was introduced. PR: 6138 Notes: svn path=/head/; revision=35913
* Fix the problem people are having building -current on a -stable system.John Birrell1998-05-081-7/+7
| | | | | | | | | | | The headers that are installed in WORLDTMP are part of the interface that includes libraries like libc, so they must be installed together. This means that lib-tools and build-tools should be merged. The FreeBSD build only works in hosted form where it is assumed that the installed version contains adequate tools to build the latest release. Notes: svn path=/head/; revision=35851
* Added patch to build-tools (now needed to make gdb, sigh).Bruce Evans1998-05-021-1/+2
| | | | | | | Pointed out by: andreas Notes: svn path=/head/; revision=35621
* Don't build dependencies unless NOCLEAN is set. This speeds upBruce Evans1998-04-271-13/+24
| | | | | | | | | | | | | | | | `make world' by about 14% here (down to 4490 seconds real on a K6/233). Temporarily skip this optimization when building with -j, since there are still many broken makefiles. Fixed NOCLEANDIR option. Cleaning of `.depend' was broken. Put -nostdinc in CFLAGS, not in CC, and don't override the default CC. This fixes enforcing use of ${WORLDTMP}/usr/include. Don't install library man pages in ${WORLDTMP}. Notes: svn path=/head/; revision=35479
* Use more reasonable defaults for SUP variables (and print themJordan K. Hubbard1998-04-261-4/+4
| | | | | | | correctly) now that sup is long since dead and buried. Notes: svn path=/head/; revision=35462
* make includes has to execute "make beforeinstall" in src/lib/libcalendarAndreas Klemm1998-04-251-1/+2
| | | | | | | | as well, otherwise "make depend" during "make buildworld" fails in usr.bin/ncal Notes: svn path=/head/; revision=35452
* Don't build shared libraries twice for `make world'. This reducesBruce Evans1998-04-241-45/+73
| | | | | | | | | | | | | `make world' times by about 10%. Use a new `bootstrap-libraries' target to build just enough (static) libraries to bootstrap the tools, and delay building of shared libraries until all the tools have been built. Fixed `/usr/bin/make world'. The version of `make' that we buildis nand use is named "make", not ${MAKE}. Notes: svn path=/head/; revision=35427
* Cosmetic: put '@' in front of a very long command.Dmitrij Tejblum1998-04-191-2/+2
| | | | Notes: svn path=/head/; revision=35294