summaryrefslogtreecommitdiffstats
path: root/share/mk/bsd.dep.mk
Commit message (Collapse)AuthorAgeFilesLines
* Revert r241752. The claim that it's more correct while at the same timemarcel2012-10-201-5/+4
| | | | causing a build breakage is interesting to say the least.
* Improve upon the previous commit to fix the yacc rule.marcel2012-10-191-4/+5
| | | | | | | | | 1. Have the resulting C file depend on the resulting H file as it should be. Touch the C file to make sure the C file is newer than the H file to keep make happy. 2. Apply the same fix to the other instance of .ORDER, missed in the previous commit.
* Add support for bmake. This includes:marcel2012-10-061-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Don't do upgrade_checks when using bmake. As long as we have WITH_BMAKE, there's a bootstrap complication in ths respect. Avoid it. Make the necessary changes to have upgrade_checks work wth bmake anyway. 2. Remove the use of -E. It's not needed in our build because we use ?= for the respective variables, which means that we'll take the environment value (if any) anyway. 3. Properly declare phony targets as phony as bmake is a lot smarter (and thus agressive) about build avoidance. 4. Make sure CLEANFILES is complete and use it on .NOPATH. bmake is a lot smarter about build avoidance and should not find files we generate in the source tree. We should not have files in the repository we want to generate, but this is an easier way to cross this hurdle. 5. Have behavior under bmake the same as it is under make with respect to halting when sub-commands fail. Add "set -e" to compound commands so that bmake is informed when sub-commands fail. 6. Make sure crunchgen uses the same make as the rest of the build. This is important when the make utility isn't called make (but bmake for example). 7. While here, add support for using MAKEOBJDIR to set the object tree location. It's the second alternative bmake looks for when determining the actual object directory (= .OBJDIR). Submitted by: Simon Gerraty <sjg@juniper.net> Submitted by: John Van Horne <jvanhorne@juniper.net>
* Make sure bsd.dep.mk does not filter out -stdlib=xxx from CXXFLAGS,dim2012-08-231-2/+4
| | | | | | since this determines parts of the C++ include path. MFC after: 1 week
* Also pass the -ansi flag through to mkdep (requested by bde), and fixdas2011-10-111-2/+2
| | | | a cut-and-paste-o (noticed by rdivacky).
* Pass -std= flags in CFLAGS to mkdep. Without this, preprocessor testsdas2011-10-101-2/+2
| | | | | for particular compiler features might be evaluated differently by mkdep than they would be by cc.
* Remove support for the Intel C Compiler from the build infrastructure.dim2011-04-191-5/+0
| | | | | | This support has not worked for several years, and is not likely to work again, unless Intel decides to release a native FreeBSD version of their compiler. ;)
* Remove libobjc and other Objective-C related components, as these aredim2011-04-171-6/+0
| | | | | | extremely outdated, and not used by anything in the base system. Silence from: current@
* For every instance of '.if ${CC} == "foo"' or '.if ${CC} != "foo"' inrpaulo2010-08-171-1/+1
| | | | | | | | | | | | | Makefiles or *.mk files, use ${CC:T:Mfoo} instead, so only the basename of the compiler command (excluding any arguments) is considered. This allows you to use, for example, CC="/nondefault/path/clang -xxx", and still have the various tests in bsd.*.mk identify your compiler as clang correctly. ICC if cases were also changed. Submitted by: Dimitry Andric <dimitry at andric.com>
* Make sure any -U CFLAGS are not filtered out when calling mkdep, asrpaulo2010-08-171-6/+6
| | | | | | | | gnu/usr.bin/cc/libiberty first defines the PREFIX macro, and then undefines it again, so mkdep with clang complains. Submitted by: Dimitry Andric <dimitry at andric.com> Reviewed by: ru
* Allow the CTAGS to be set to something other than "gtags" or "ctags",ru2010-01-181-8/+6
| | | | | | | | but assume it supports a ctags(1)-compatible syntax. PR: 46676 Submitted by: Lyndon Nerenberg MFC after: 3 days
* If CTAGS is not set or set to something other than "ctags" or "gtags",ru2010-01-181-0/+2
| | | | | | | "cleandepend" was not removing the .depend file; fixed. PR: 126747 MFC after: 3 days
* Revert CLEANDEPFILES commit per ru@'s request; it does not really solvedes2008-02-051-5/+0
| | | | the problem. The correct fix will follow.
* Normally, when a header file is removed from the build (as i4b headersdes2008-02-031-0/+5
| | | | | | | | | | | | | | | | | | | | were recently), a simple 'make cleandepend; make depend' is sufficient to keep the tree buildable after a cvs update when doing incremental builds. However, kdump and truss use a script which searches for header files that define ioctls, and generates C code that includes them. This script will usually not need updating when a header file is removed, so the normal dependency mechanism will not realize that it needs to be re-run. One is therefore left with code that references dead files but will only be removed by a full 'make clean', which defeats the purpose of incremental builds. To work around this, modify the cleandepend target in bsd.dep.mk to also remove any files listed in a new variable named CLEANDEPFILES, and modify kdump's and truss's Makefiles accordingly. MFC after: 2 weeks
* Remove trailing spaces.krion2005-01-061-1/+1
|
* NOTAGS -> NO_TAGSru2004-12-211-1/+1
|
* This are the build infrastructure changes to allow to use thetrhodes2004-03-121-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Intel C/C++ compiler (lang/icc) to build the kernel. The icc CPUTYPE CFLAGS use icc v7 syntax, icc v8 moans about them, but doesn't abort. They also produce CPU specific code (new instructions of the CPU, not only CPU specific scheduling), so if you get coredumps with signal 4 (SIGILL, illegal instruction) you've used the wrong CPUTYPE. Incarnations of this patch survive gcc compiles and my make universe. I use it on my desktop. To use it update share/mk, add /usr/local/intel/compiler70/ia32/bin (icc v7, works) or /usr/local/intel_cc_80/bin (icc v8, doesn't work) to your PATH, make sure you have a new kernel compile directory (e.g. MYKERNEL_icc) and run CFLAGS="-O2 -ip" CC=icc make depend CFLAGS="-O2 -ip" CC=icc make in it. Don't compile with -ipo, the build infrastructure uses ld directly to link the kernel and the modules, but -ipo needs the link step to be performed with Intel's linker. Problems with icc v8: - panic: npx0 cannot be emulated on an SMP system - UP: first start of /bin/sh results in a FP exception Parts of this commit contains suggestions or submissions from Marius Strobl <marius@alchemy.franken.de>. Reviewed by: silence on -arch Submitted by: netchild
* Fixed bogus ${FOO:Mbar} tests where the actual intent is to checkru2004-01-271-6/+6
| | | | | if the result set is empty. While here, replaced non-bogus empty string comparisons with equivalent empty() checks.
* Guess better the source for object files in case .depend file isru2004-01-171-0/+12
| | | | | | | | | | | | missing and there are multiple choices using multiple inference (suffix transformation) rules. This is known to fix compilation of s_log1p.o in lib/msun on i386, as otherwise it attempted to use s_log1p.S as the source (which is marked broken) instead of legal s_log1p.c which is in CFLAGS. The normal case where .depend file exists is not affected. Reviewed by: bde
* Introduce DPSRCS, that holds the list of source files which areru2004-01-131-5/+8
| | | | | | | | | needed for generating dependencies. SRCS are always part of it, and normally only they. This can be useful in some random cases where it's necessary to have something in .depend that isn't part of SRCS. This will be used to replace a hack in lib/libpam/libpam/Makefile.
* - Replaced several := ops with their += equivalents; the oldru2004-01-121-9/+8
| | | | | | | | | | | | | form became unnecessary with the bsd.prog.mk,v 1.69 change. - Eliminated duplicate y.tab.h in SRCS. Reviewed by: bde - Complementary to the said bsd.prog.mk change, use the fact that inner .for loops are not real loops but a tricky form of a local macro for the outer loop's variable, and switch to using faster variable modifiers to replace extensions.
* Use make(1) instead of a shell script to implement the checkdpadd target.bde2003-07-031-9/+7
| | | | | | | | | This is simpler, and is easy to do now that make(1) supports substituting regexps. Fixed missing '$' anchor in the regexp. Use less cryptic names for temporary variables. Submitted by: ru (early version) Reviewed by: ru
* The .s files do not have to be preprocessed with cpp(1).ru2003-07-021-2/+2
|
* There's no reason to keep separate AINC knob anymore.ru2003-07-011-8/+2
| | | | | | | | 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
* Added the new variable CTAGS which, if set to "ctags", revertsru2002-10-171-17/+37
| | | | | | | | 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
* Initiate deorbit burn for the i386-only a.out related support. Moves arepeter2002-09-171-9/+0
| | | | | | | | | | | | | | | 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
* Moved checkdpadd target to where it logically belongs.ru2002-07-031-0/+22
|
* Fixed missing quotes in the default for MKDEPCMD in the CC != cc case.bde2002-05-071-1/+1
| | | | "CC='cc -Dfoo' make depend" was very broken.
* Merge bsd.obj.mk's version of the _SUBDIR target with bsd.subdir.mk.ru2002-04-231-4/+4
| | | | | | | | | | | | | | | | 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.)
* Prohibit the direct inclusion of bsd.dep.mk.ru2002-04-221-0/+3
|
* Doh, previous revision made .depend to be almost always out of date.ru2002-04-171-3/+2
| | | | | | | Spotted by: bde Fortunately, we have a powerful make(1). Apply some black magic to make it DTRT. (Better viewed as diff to revision 1.30.)
* Don't spawn extra make(1) process to execute _EXTRADEPEND.ru2002-04-161-2/+4
|
* Only pass our idea of `CC' down to mkdep(1) if it's non-default.ru2002-04-151-0/+4
|
* Removed bogus env(1) commands. make(1) uses a real shell, sobde2002-03-191-1/+1
| | | | | | | | "env name=value ... cmd ..." was just a pessimized way of doing "name=value ... cmd ...". Note that make(1) can't optimize either of these to an exec of env(1) or "cmd" even if the second "..." is simple, since it can't tell that the shell metacharacter in "name=value" is actually handled by env(1).
* Pass our idea of `CC' down to mkdep.obrien2002-03-151-1/+1
| | | | Tested on: sparc64
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Clean new index file(GPATH) of global.simokawa1999-01-181-2/+3
| | | | Submitted by: Shigio Yamaguchi <shigio@wafu.netgate.net>
* Recognize ".cpp" as a C++ suffix.dt1998-06-051-3/+4
| | | | PR: 3476
* Oops, forgot references in previous commit.bde1998-05-151-1/+1
| | | | | Submitted by: Brian Cully <shmit@erols.com> PR: 6178
* Support Objective C almost as well as C++.bde1998-05-151-1/+7
| | | | | | | | | Notes: - We no longer use -fgnu-runtime in bsd.lib.mk, since it is the default and bsd.lib.mk is the wrong place to override it. - Gnu C doesn't have a special compiler driver for Objective C like it does for C++. The defaults are suitable for Gnu C. Use `OBJCLIBS=' in /etc/make.conf for POC.
* Oops, the lex and yacc sources must be added to SRCS before ${SRCS}bde1998-05-111-40/+40
| | | | | | | | is used in the dependency list for ${DEPENDFILE}. `make depend' was broken for a few days. `make world' only uses `make depend' when NOCLEAN is defined, so only a few people noticed the bug. Submitted by: mostly by jmg
* Moved lex and yacc source handling from bsd.prog.mk to bsd.dep.mkbde1998-05-081-1/+40
| | | | so that it applies to libraries (and lkms) as well as programs.
* Only include bsd.dep.mk in `mk'files that handle C sources. Abusebde1998-05-061-14/+1
| | | | | | bsd.obj.mk instead of bsd.dep.mk for defining the _SUBDIR target and a default tags target. Abuse bsd.obj.mk for defining default cleandepend and depend targets.
* Support new version of global.eivind1998-03-231-5/+5
| | | | | Submitted by: Shigio Yamaguchi <shigio@wafu.netgate.net> Tested by: make buildworld
* Pass -nostdinc to mkdep for assembler and C files (it was alreadybde1998-03-071-16/+15
| | | | | | | | passed for C++ files). Don't pass -nostdlib to mkdep for C++ files. Don't use temporary variables to obfuscate the main rule.
* Fixed cleaning of tags files. GSYMS was forgotten.bde1998-02-201-2/+2
|
* Optimize rm(1) usage.wosch1997-12-141-3/+2
|
* Changes to support full make parallelism (-j<n>) in the worldjkh1997-10-051-3/+7
| | | | | | target. Reviewed by: <many different folks> Submitted by: Nickolay N. Dudorov" <nnd@nnd.itfs.nsk.su>
* Fixed cleandepend target. Subdirectories weren't handled unless SRCSbde1997-08-261-2/+2
| | | | was defined.
* Add `B' to list of flags to pass through from C*FLAGS when using mkdepasami1997-06-181-4/+4
| | | | | | | | | (bsd.dep.mk) and compiling assembly language sources (bsd.lib.mk). This doesn't change anything for our current source tree, but if you want to use the -B switch in C*FLAGS to specify the location of compiler subprograms, now you can do it. Reviewed by: bde (implicitly)
OpenPOWER on IntegriCloud