summaryrefslogtreecommitdiffstats
path: root/share/mk/sys.mk
Commit message (Collapse)AuthorAgeFilesLines
* We bootstrap make(1) if necessary during an upgrade, so checkingru2005-09-281-7/+0
| | | | if MACHINE_ARCH is defined is no longer needed.
* Toggle on warnings. This resolves the problem with building old releasesharti2005-04-291-0/+3
| | | | | | | (getting zillions of warnings). Building an old release uses that release's sys.mk which does not switch on these warnings, so make will be silent. They can be switch on on the command line with the -x option to make. This has been tested by building RELENG_5_4 on CURRENT.
* IPFIlter problems that prevented building should all now be resolved sodarrenr2005-04-281-5/+0
| | | | remove this temporary measure.
* Disable the IPFILTER bits until they compile again. This can be overridenscottl2005-04-271-0/+5
| | | | | | by adding WANT_IPFILTER to /etc/make.conf. Note that this is only a partial hack and only works when building the world and kernel the 'sanctioned' way. I hope that this hack is only temporary and can be reverted soon.
* Include bsd.compat.mk early from sys.mk, enough for makefilesru2004-12-231-0/+1
| | | | | | | using conditional statements to see the new spellings of NO_* knobs (in case user still uses old spellings). Reported by: kris
* Compiling with 'strict-aliasing' optimization breaks some [notable] ports.obrien2004-11-111-1/+1
| | | | | GCC turns on 'strict-aliasing' optimization at all levels above -O[1], so explicitly turn it off when using compiling with the -O2 optimization level.
* Switch the default CFLAGS to -O2 -pipe.des2004-10-251-1/+1
| | | | Submitted by: obrien
* Use the '+' flag to make make recurse into sub-directories even whenharti2004-08-091-0/+6
| | | | | | | | given -n. For POLA reasons this behaviour is switched on only when at least two -n flags are given to make. One -n flag keeps the old behaviour of showing the shell command that would recurse into the sub-directories. Discussed with: ru
* Moved FreeBSD build pollution (/etc/make.conf) and zombie aout supportbde2004-05-121-4/+6
| | | | (OBJFORMAT) into a non-POSIX section.
* Removed conditional include of /etc/make.conf.local and the error for thebde2004-05-121-5/+0
| | | | | | | existence of this file. This stopped working more than 4 years ago when the generation of the error was added in rev.1.44. The .error directive gives fatal errors, so stale /etc/make.conf.local files must have been gone away more than 4 years on systems where make(1) works.
* -W{missing,strict}-prototypes do not make sense for C++, and gcc34 willdes2004-05-101-1/+1
| | | | complain about them, so remove them from CXXFLAGS.
* g++(1) is unhappy with -Wnested-externs.ru2004-04-201-1/+1
| | | | Prodded by: des
* Fixed breakage of POSIX support in rev.1.31. -pipe was added tobde2004-02-041-1/+2
| | | | | | CFLAGS in all cases, but POSIX requires a default of -O. Adding -pipe unconditionally still is still broken for non-gcc compilers in the non-POSIX case.
* A shorter version of keeping all -std= options out of CXXFLAGS.ru2004-02-031-1/+1
|
* Fixed bogus ${FOO:Mbar} tests where the actual intent is to checkru2004-01-271-1/+1
| | | | | if the result set is empty. While here, replaced non-bogus empty string comparisons with equivalent empty() checks.
* Removed the ancient .LIBS setting that causes non-existentru2003-10-031-2/+0
| | | | | | | | | | | | | | | | libraries to be reported as up-to-date. Before: # make -f /dev/null nonexistent.a `nonexistent.a' is up to date. After: # make -f /dev/null nonexistent.a make: don't know how to make nonexistent.a. Stop PR: bin/44137 (part of)
* Separate out userland linting and kernel linting a bit more. Thismarkm2003-09-261-0/+1
| | | | | make things a bit easier for folks using lints other than the "base" lint.
* Don't trust sys.mk,v 1.61 commit log, and make .asm alias for .S.ru2003-07-021-2/+5
|
* There's no reason to keep separate AINC knob anymore.ru2003-07-011-1/+1
| | | | | | | | The only real use of it (lib/libc/Makefile) has been fixed, and if necessary, the contents of AINC should be added to CFLAGS. Explained by: bde
* Propagate the ${AINC} knob (assembler include) to sys.mk,ru2003-06-301-1/+1
| | | | and remove the .S.o transformation rule from bsd.lib.mk.
* Use a bigger hammer -- keep all -std= out of CXXFLAGS.obrien2003-06-011-1/+1
| | | | Also allow for "CSTD=" in a Makefile.
* Axe CXXINCLUDES from CXXFLAGS, it serves no useful purpose anymore.ru2003-04-221-1/+1
| | | | Reviewed by: bde
* Added the new variable CTAGS which, if set to "ctags", revertsru2002-10-171-4/+0
| | | | | | | | to creating the tags file using ctags(1). Defaults to "gtags". Made GTAGSFLAGS and HTAGSFLAGS overrideable, added CTAGSFLAGS. Folded bsd.prog.mk version of `tags' into bsd.dep.mk. PR: bin/42852
* Extend the lint handling a bit.markm2002-09-201-0/+8
| | | | | | | | | o Make it possible to prevent parts of the tree from being linted (say) during a 'make world' by setting NOLINT in a leaf Makefile. o Make "make lint" work (better) for executable programs. o Clean up (nuke!) a syntax damaged pipeline.
* Initiate deorbit burn for the i386-only a.out related support. Moves arepeter2002-09-171-9/+1
| | | | | | | | | | | | | | | 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
* Make .asm transformation rules synonyms to the .s rules.ru2002-04-221-4/+1
|
* Add .asm as an alias for .s. .asm is common in contribed sources.obrien2002-04-191-1/+4
| | | | Helps with: gcc31 build.
* Don't include bsd.own.mk from sys.mk, this makes it impossibleru2002-04-171-1/+10
| | | | | | | | | | | | | | | | | | | | | to use ``.if defined()'' inside bsd.own.mk to test for defines in individual makefiles. For example, setting DEBUG_FLAGS in Makefile didn't take the desired effect on the STRIP assignment. Added bsd.init.mk (like in NetBSD) that handles the inclusion of ../Makefile.inc and bsd.own.mk from all bsd.*.mk files that "build something". Back out bsd.own.mk,v 1.15: moved OBJFORMAT initialization back to sys.mk (several source tree makefiles want to check it early) and removed MACHINE_ARCH initialization (it's hard to see from looking at the commitlogs what the problem was at the time, but now it serves no purpose). Prohibit the direct inclusion of bsd.man.mk and bsd.libnames.mk. Protect bsd.obj.mk from repetitive inclusion. Prohibiting the direct inclusion of bsd.obj.mk might be a good idea too.
* Make lint(1) a cross-tool.ru2002-03-201-1/+1
| | | | | | | | | (See commit log for usr.bin/xlint/Makefile,v 1.11 for what was wrong with enabling build of lint libraries in rev. 1.12.) This fixes cross-arch compiles (running binaries for a different arch when generating lint.7 and lint libraries) and cross-branch compiles (4.x -> 5.0 buildworld should be working again).
* __MAKE_CONF?=/etc/make.confimp2002-03-181-2/+3
| | | | | | | | | | | | | | Use this where we are now using /etc/make.conf. This allows people to override the current default of always including /etc/make.conf. Setting __MAKE_CONF to /dev/null disables it completely, while setting it to something else allows one to override what is on the system. This can be desirable in situations where a machine has many users and some of them want different defaults, or defaults appropriate to cross building to be different than those for normal building. Not objected to by: arch@
* Allow "make lint" to mostly work. Our sources are very unclean WRTmarkm2002-03-171-1/+4
| | | | | | | lint, so this is turned off by default. Setting WANT_LINT will turn on generation of lint libraries for /usr/libdata/lint/*.ln. Reviewd by: silence in -audit.
* Final way: Don't include /etc/defaults/make.conf at all. It wasn'talex2001-08-311-4/+0
| | | | | | | | supposed to be edited by the user and didn't define important things, thus we can just skip it (that's where it differs from the make.conf.local change). Submitted by: ru
* Don't .error, if /etc/defaults/make.conf exists. This breaks -CURRENTalex2001-08-311-1/+0
| | | | | | buildworlds on a -STABLE machine. Reminded by: ru
* Move /etc/defaults/make.conf to /usr/share/examples/etc/make.conf asalex2001-08-301-1/+2
| | | | | | | | | | | | | | discussed on the arch@ mailinglist (after repo-copy). sys.mk will .error if it finds /etc/defaults/make.conf but include it anyways (this is the same behaviour as with the make.conf.local removal). /usr/share/examples/etc/make.conf has BDEFLAGS commented out now, since it's only an example file. Adjust all textes that talk about make.conf or defaults/make.conf to match the new situation.
* Add the ".FreeBSD" symbol so we can do things like ".if define(.FreeBSD)"obrien2001-06-161-0/+1
| | | | in Makefile's shared with NetBSD.
* Add the single suffix rules for FORTRAN.obrien2001-06-061-0/+4
|
* Add the single suffix rules for C++.obrien2001-06-061-3/+6
| | | | | | | | (While there, I also moved the single suffix C rules beside the double suffix ones so they are easier to find) PR: 24438 Submitted by: Georg-W. Koltermann <gwk@sgi.com>
* Overhaul the MACHINE_CPU behaviour:kris2001-02-221-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rip out MACHINE_CPU stuff from sys.mk and include a new <bsd.cpu.mk> after we pull in /etc/make.conf. We need to do it afterwards so we can react to the user setting of the: * CPUTYPE variable, which contains the CPU type which the user wants to optimize for. For example, if you want your binaries to only run on an i686-class machine (or higher), set this to i686. If you want to support running binaries on a variety of CPU generations, set this to the lowest common denominator. Supported values are listed in make.conf. * bsd.cpu.mk does the expansion of CPUTYPE into MACHINE_CPU using the (hopefully) correct unordered list of CPU types which should be used on that CPU. For example, an AMD k6 CPU wants any of the following: k6 k5 i586 i486 i386 This is still an unordered list so the client makefile logic is simple - client makefiles need to test for the various elements of the set in decreasing order of priority using ${MACHINE_CPU:M<foo>}, as before. The various MACHINE_CPU lists are believed to be correct, but should be checked. * If NO_CPU_CFLAGS is not defined, add relevant gcc compiler optimization settings by default (e.g. -karch=k6 for CPUTYPE=k6, etc). Release builders and developers of third-party software need to make sure not to enable CPU-specific optimization when generating code intended to be portable. We probably need to move to an /etc/world.conf to allow the optimization stuff to be applied separately to world/kernel and external compilations, but it's not any worse a problem than it was before. * Add coverage for the ia64/itanium MACHINE_ARCH/CPUTYPE. * Add CPUTYPE support for all of the CPU types supported by FreeBSD and gcc (only i386, alpha and ia64 first, since those are the minimally-working ports. Other architecture porters, please feel free to add the relevant gunk for your platform). Reviewed by: jhb, obrien
* Turns out we do need to do bootstrapping of MACHINE_CPU here: make(1) won'tkris2001-02-201-0/+10
| | | | | | | set the variable until you rebuild it, and the alternative is to be stuck playing games with ``.if defined(MACHINE_CPU) && ... '' for all eternity. We now set up the reasonable default for i386 and alpha here -- given this it probably makes sense to remove the corresponding code from make(1).
* Remove bogus setting of MACHINE_CPU here. There is no need for it.kris2001-02-191-3/+1
| | | | Submitted by: bde
* Introduce support for using OpenSSL ASM optimizations. This is donekris2001-02-191-1/+3
| | | | | | | | | | | | | | | | | | | | | | | through the use of a new build directive, MACHINE_CPU, which contains a list of the CPU generations/features for which optimizations are desired. This feature will be extended to cover the ports tree in the future. Currently OpenSSL provides optimizations for i386, i586 and i686-class CPUs. Currently it has not been tested on an i386 or i486. Teach make(1) to provide sensible defaults for MACHINE_CPU if it is not defined (namely, the lowest common denominator CPU we support for each architecture). Currently this is i386 for the i386 architecture and ev4 for the alpha. sys.mk also sets the variable as a last resort for consistency with MACHINE_ARCH and bootstrapping from very old versions of make. Benchmarks show a significant speed increase even in the i386 case, with additional improvements for i586 and i686 systems. For maximum performance define MACHINE_CPU=i686 i586 i386 in /etc/make.conf. Based on a patch submitted by: Mike Silbersack <silby@silby.com> Reviewed by: current
* Correct a typokris2000-04-211-1/+1
|
* make.conf is being made to conform to the /etc/defaults/ standard thatdillon1999-10-271-0/+5
| | | | | | was settled on a few months ago. Approved by: "Jordan K. Hubbard" <jkh@zippy.cdrom.com>
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Revert to rev 1.41.obrien1998-09-151-11/+9
| | | | Some didn't like it.
* Add ${RM} for compatability with SunOS.obrien1998-09-141-10/+12
| | | | Many use ${RM} in their ``clean'' targets.
* add support for /etc/make.conf.localdillon1998-08-291-1/+6
|
* Remove the alpha specific __NETBSD_SYSCALLS from CFLAGS. This can stilljb1998-08-081-6/+1
| | | | | be added in /etc/make.conf. Yes folks, the alpha kernel is coming to a screen (and hopefully a disk) near you. Thanks to Doug.
* Fixed building -current under 2.2.6 using `make world'. Moved somebde1998-08-031-9/+2
| | | | | | | 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.
* Move bsd.own.mk after make.conf, this allows BINFORMAT to be set inpeter1998-06-121-3/+3
| | | | | /etc/make.conf - it changes LIBDIR in bsd.own.mk. Note that there are still problems with this, individual Makefiles cannot override BINFORMAT.
OpenPOWER on IntegriCloud