summaryrefslogtreecommitdiffstats
path: root/share/mk
Commit message (Collapse)AuthorAgeFilesLines
* Add CLEANDEPEND[FILES|DIRS] and simplify the tags cleanup to use it.bdrewery2016-02-161-8/+18
| | | | Sponsored by: EMC / Isilon Storage Division
* Always remove .depend.* regardless of WITH_FAST_DEPEND in case of changingbdrewery2016-02-161-2/+1
| | | | | | which is used. Sponsored by: EMC / Isilon Storage Division
* Remove temporary hack from r294370 for SSH upgrades.bdrewery2016-02-161-8/+0
| | | | | MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* Add an .ORDER for all/install.bdrewery2016-02-161-0/+1
| | | | Sponsored by: EMC / Isilon Storage Division
* Test directories can build in parallel fine.bdrewery2016-02-161-0/+1
| | | | Sponsored by: EMC / Isilon Storage Division
* Consolidate common beforebuild logic.bdrewery2016-02-164-7/+6
| | | | Sponsored by: EMC / Isilon Storage Division
* Add libpe for elfcopy(1) PE/COFF supportemaste2016-02-121-0/+4
| | | | Sponsored by: The FreeBSD Foundation
* Simplify running the FreeBSD test suitengie2016-02-075-58/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace `make regress` (legacy test make target) and `make test` (incomplete test make target added with the FreeBSD test suite) with make check as it's consistent with other open source projects. `make check` defaults to running tests from `.OBJDIR`, but can be overridden with the `CHECKDIR` variable. Add `make checkworld` target to simplify running the FreeBSD test suite from `TESTSBASE` (i.e. the top-level tests directory), similar to buildworld. Document `make check` and `make checkworld` in build(7). Other minor changes: - Rename intermediate file (`Kyuafile.auto`) to `Kyuafile` to simplify `make check`. - Remove terse warnings attached to `beforetest`/`aftertest`. - Add kyua binary check to check target in suite.test.mk; error out if it's not found The MFC is [partly] contingent on other build related changes being MFCed. Differential Revision: https://reviews.freebsd.org/D4406 MFC after: 2 months X-MFC to: stable/10 Relnotes: yes Reviewed by: bdrewery, Evan Cramer <eccramer@gmail.com> Sponsored by: EMC / Isilon Storage Division
* Fix style and remove excess / for installing SYMLINKS.bdrewery2016-02-042-3/+3
| | | | Sponsored by: EMC / Isilon Storage Division
* MLINKS: Deduplicate some of the logic, simplify, and unhide install commands.bdrewery2016-02-041-18/+14
| | | | Sponsored by: EMC / Isilon Storage Division
* Fix cat files being installed to wrong place since r284685.bdrewery2016-02-041-2/+2
| | | | Sponsored by: EMC / Isilon Storage Division
* Stop hiding link install commands.bdrewery2016-02-042-3/+0
| | | | | | | This is no longer needed now that a .for loop is used rather than inline shell script. Sponsored by: EMC / Isilon Storage Division
* Don't let NLSLINKS contain itself.bdrewery2016-02-031-0/+3
| | | | Sponsored by: EMC / Isilon Storage Division
* Fix -include .depend hack from r294370 for headers not in .PATH.bdrewery2016-01-281-5/+6
| | | | | | | | | This hack will be removed in a few weeks. It is here to fix incremental builds of SSH between r291941 and r294370. Reported by: jmallett MFC after: 1 day Sponsored by: EMC / Isilon Storage Division
* Revert yacc dependency back to pre-r241298.bdrewery2016-01-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Several attempts to fix this logic was done after r241298, which were all reverted, yet this change was not. The .h file does not depend on the .c file, so do not impose such a dependency on it. They are generated by the same command but do not depend on each other. Restore the .ORDER which should handle parallel build issues. This fixes an actual bug where the .h file is not recreated when missing [1]. For example: cd lib/libc make cleanobj make nsparser.h rm nsparser.h make nsparser.h # will not rebuild nsparser.h I have been trying to track down a build problem where nsparser.h is missing when nslexer.o is built. It is possible this is related. Reported by: bde [1] https://lists.freebsd.org/pipermail/svn-src-all/2012-October/059481.html https://lists.freebsd.org/pipermail/svn-src-all/2012-October/060038.html MFC after: 3 weeks Sponsored by: EMC / Isilon Storage Division
* Set a value for _RECURSING_PROGS for debugging.bdrewery2016-01-271-2/+2
| | | | | MFC after: 3 days Sponsored by: EMC / Isilon Storage Division
* Fix DIRDEPS_BUILD after r294752.bdrewery2016-01-271-0/+2
| | | | | | | | | | | | | DIRDEPS_BUILD does not yet support PROGS having their own dependency file. Overriding .MAKE.DEPENDFILE here causes major problems with the meta mode logic since it creates the Makefile.depend as '.depend' resulting in infinite loops in make due to dirdeps.mk including .depend endlessly. X-MFC-With: r294752 MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* Fix PROGS not reading .depend files after r284288 by making DEPENDFILE work.bdrewery2016-01-251-0/+1
| | | | | | | | | | | | | | | We have had this user-modifable DEPENDFILE variable forever that does nothing relevant for the user since fmake always used '.depend'. Bmake introduced the .MAKE.DEPENDFILE variable that can be modified to change the name of '.depend'. Prior to r284288, bsd.progs.mk was setting .MAKE.DEPENDFILE to allow working incremental builds. This was modified most likely to not conflict with the META MODE handling of .MAKE.DEPENDFILE as it has a lot more special logic for that variable. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* Remove unneeded beforebuild hacks for dtrace probes.bdrewery2016-01-251-6/+4
| | | | | | | | This still allows skipping 'make depend'. Headers in SRCS generate properly. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* Fix incremental build of dtrace probes.bdrewery2016-01-251-0/+3
| | | | | | | | | | | | | | | | | | | | | Currently dtrace(1) -Go does not properly rebuild the target if it exists. It results in missing symbols. dtrace -C -x nolibs -G -o usdt.o -s /root/git/freebsd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/usdt.d tst.usdt.o dtrace: target object (usdt.o) already exists. Please remove the target dtrace: object and rebuild all the source objects if you wish to run the DTrace dtrace: linking process again cc -O2 -pipe -O0 -g -I/root/git/freebsd/cddl/usr.sbin/dtrace/tests/common/json -std=gnu99 -fstack-protector-strong -Qunused-arguments -o tst.usdt.exe.full tst.usdt.o usdt.o tst.usdt.o: In function `main': /root/git/freebsd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/tst.usdt.c:56: undefined reference to `__dtrace_bunyan_fake___log__debug' /root/git/freebsd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/tst.usdt.c:60: undefined reference to `__dtrace_bunyan_fake___log__debug' cc: error: linker command failed with exit code 1 (use -v to see invocation) *** [tst.usdt.exe.full] Error code 1 This is a consequence of r212358. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* Import latest host-target.mk 1.11 from contrib/bmake/mkbdrewery2016-01-251-7/+16
|
* Import latest gendirdeps.mk 1.29 from contrib/bmake/mkbdrewery2016-01-251-2/+2
|
* Import latest meta.subdir.mk 1.11 from contrib/bmake/mkbdrewery2016-01-251-2/+2
|
* Import latest auto.obj.mk 1.12 from contrib/bmake/mk.bdrewery2016-01-251-6/+5
|
* mkdep: Fix -include not being added for .depend tracking.bdrewery2016-01-201-2/+17
| | | | | | | | | | | | | | | | | | | | | This fixes incremental build of OpenSSH after the recent upgrade. For example, in secure/lib/libssh, -include ssh_namespace.h is used on all files. This is not tracked in the .depend file though due to MKDEP_CFLAGS not including it. The ssh example was broken in r291941 when not using FAST_DEPEND due to the .depend bug. FAST_DEPEND was not affected by this because it generates dependencies at compile time and thus sees the -include. This ugly make syntax could be simpler for bmake by using :tW but fmake-compatible syntax is used since this needs to be MFC'd all the way to stable/9. Also add a temporary hack to workaround existing checkouts building incrementally with a .depend file not having these headers. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* FAST_DEPEND: Fix improperly depending all .So objects on all headers.bdrewery2016-01-191-0/+2
| | | | | | | | | | This was a regression in r290629, which was revealed partly in r294360. Once 'make depend' has ran it will generate all headers already. Thus even with FAST_DEPEND lacking proper dependencies before building, it will not have any missing headers. Once objects are compiled the depend files will be generated with proper dependencies. Sponsored by: EMC / Isilon Storage Division
* bsd.subdir.mk: Allow easier modification of [STANDALONE_]SUBDIR_TARGETS.bdrewery2016-01-191-13/+16
| | | | | | | | | | | | | | This reworks r289254 and removes ALL_SUBDIR_TARGETS. Because there is an include guard in this file there is no need for LOCAL_ or ?= on SUBDIR_TARGETS or STANDALONE_SUBDIR_TARGETS. These can just be set via src.conf. By the time bsd.subdir.mk is included it will just append the values to the existing value and work fine. This allows a consistent way to append to these variables without introducing a LOCAL_ var for STANDALONE_SUBDIR_TARGETS or renaming the historical SUBDIR_TARGETS. Sponsored by: EMC / Isilon Storage Division
* installconfig is PARALLEL_SUBDIR safe.bdrewery2016-01-191-1/+1
| | | | Sponsored by: EMC / Isilon Storage Division
* FAST_DEPEND: Still use if filemon is not used.bdrewery2016-01-191-1/+2
| | | | | | | | | | | | If filemon is used then there is no need to generate dependency files during compilation as the .meta files will achieve the same result. This is a temporary solution until FAST_DEPEND is default. Once that is default there will be an option to disable dependency generation entirely as it is only useful if an incremental build is planned, thus META_MODE+filemon can enable that option to short-circuit all FAST_DEPEND-related logic. Sponsored by: EMC / Isilon Storage Division
* META_MODE: Ensure bmake does not use filemon if it is not loaded.bdrewery2016-01-191-0/+3
| | | | Sponsored by: EMC / Isilon Storage Division
* Define .MAKE.MODE to normal to avoid the need for :U later.bdrewery2016-01-194-6/+6
| | | | Sponsored by: EMC / Isilon Storage Division
* FAST_DEPEND: Rework optimization for r290524.bdrewery2016-01-151-4/+4
| | | | | | | | The .MAKEFLAGS check inside of the .for loop is extremely slow for some reason. Just moving it out of the loop trimmed -V lookup time from 11 seconds to 1 second in the kernel obj directory. Sponsored by: EMC / Isilon Storage Division
* Allow file specific user-specified flag overridessmh2016-01-141-2/+3
| | | | | | | | | | | Allow user-specified warning flag overrides for specific files under bsd.sys.mk, in the same way kern.mk does. This will to be used by future commits. MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay
* Support use of LLVM's libunwind for exception unwindingemaste2016-01-091-2/+2
| | | | | | | | | | | | | | | It is built in libgcc_s.so and libgcc_eh.a to simplify transition. It is enabled by default on arm64 (where we previously had no other unwinder) and may be enabled for testing on other platforms by setting WITH_LLVM_LIBUNWIND in src.conf(5). Also add compiler-rt's __gcc_personality_v0 implementation for use with the LLVM unwinder. Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D4787
* Revert r293286. It was not intended to come in yet.bdrewery2016-01-071-19/+0
|
* Move the MAKEOBJDIRPREFIX value guard to sys.mk and expand to MAKEOBJDIR.bdrewery2016-01-071-0/+19
| | | | | | | | | | | | This will ensure that the variable was not set as a make override, in make.conf, src.conf or src-env.conf. It allows setting the value in src-env.conf when using WITH_AUTO_OBJ since that case properly handles changing .OBJDIR (except if MAKEOBJDIRPREFIX does not yet exist which is being discussed to be changed). This change allows setting a default MAKEOBJDIRPREFIX via local.sys.env.mk. Sponsored by: EMC / Isilon Storage Division
* Add new LIBSOFT option. This is similar to the LIB32 option, exceptimp2016-01-031-0/+5
| | | | | | for libraries that follow the soft float ABI. It's only supported on armv6 as a transition to the new hard float ABI, so mark as broken everywhere else.
* Merge r293006 from clang380-import branch:dim2015-12-311-1/+1
| | | | | | | | | | | | For determining the compiler version, quote the string to be echo'd, otherwise the command might fail. This is because clang -v now results in the following: FreeBSD clang version 3.8.0 (trunk 256633) (based on LLVM 3.8.0svn) The second "3.8.8svn)" string tripped up the shell command. MFC after: 3 days
* Make libxnet.so a symlink to libc.so. This makes `-lxnet` a no-op, ascperciva2015-12-251-0/+3
| | | | | | | | | POSIX requires for the c99 compiler. (In fact, our c99(1) already ignores -lxnet; but our make(1) doesn't set ${CC} correctly, and our cc(1) treats xnet like any other library.) Reviewed by: kib
* Document that make's .POSIX: handling is broken. In fact, it has beencperciva2015-12-251-0/+4
| | | | broken ever since it was added in November 1996.
* Clean up Kyuafile.tmp, not Kyuafile.auto.tmpngie2015-12-201-1/+1
| | | | | | | MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D4406 (part of a larger diff) Reviewed by: emaste, Evan Cramer <eccramer@gmail.com> Sponsored by: EMC / Isilon Storage Division
* Document LOCALBASE in the bsd.test.mk sectionngie2015-12-201-0/+4
| | | | | | | MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D4406 (part of a larger diff) Reviewed by: emaste, Evan Cramer <eccramer@gmail.com> Sponsored by: EMC / Isilon Storage Division
* - Use LOCALBASE instead of KYUA_PREFIX for the --prefix to kyua(1)ngie2015-12-203-9/+5
| | | | | | | | | - Use LOCALBASE instead of hardcoding /usr/local for perl MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D4406 (part of a larger diff) Reviewed by: emaste, Evan Cramer <eccramer@gmail.com> Sponsored by: EMC / Isilon Storage Division
* Deal with another hardcoded reference to Kyuafile in the KYUAFILE == autongie2015-12-201-1/+1
| | | | | | | | case Differential Revision: https://reviews.freebsd.org/D4406 (part of a larger diff) Reviewed by: emaste, Evan Cramer <eccramer@gmail.com> Sponsored by: EMC / Isilon Storage Division
* Fix typo in r292500 by adding missing conditional statementngie2015-12-201-0/+1
| | | | | | | | MFC after: 1 week X-MFC with: r292500 Pointyhat to: ngie Differential Revision: https://reviews.freebsd.org/D4406 (part of a larger diff) Sponsored by: EMC / Isilon Storage Division
* Simplify Kyuafile generation logic with KYUAFILE == auto andngie2015-12-201-14/+10
| | | | | | | | | related complexity with variables MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D4406 (part of a larger diff) Reviewed by: emaste, Evan Cramer <eccramer@gmail.com> Sponsored by: EMC / Isilon Storage Division
* Enable LLDB by default on amd64 and arm64emaste2015-12-161-1/+5
| | | | | | | | | | | | | | | | | LLDB is usable for userland core file and live debugging on amd64, and for userland core file debugging on arm64. In general it works at least as well on FreeBSD as our in-tree gdb version, so enable it by default to allow for broader use and testing. An LLDB tutorial is available at http://lldb.llvm.org/tutorial.html, and a table mapping GDB commands to LLDB commands can be found at http://lldb.llvm.org/lldb-gdb.html . LLDB also has some level of support for FreeBSD on arm, mips, i386, and powerpc, but is not yet ready to have them enabled by default. Reviewed by: gnn Relnotes: Yes
* DIRDEPS_BUILD: Support bootstrapping from PROGS.(DPADD|LIBADD).bdrewery2015-12-151-3/+18
| | | | Sponsored by: EMC / Isilon Storage Division
* DIRDEPS_BUILD: Fix incorrectly adding in RELDIR for DIRDEPS in bootstrapping.bdrewery2015-12-151-1/+3
| | | | | | | | This is not wrong, but was unexpected. Using <empty>:H results in '.' which then using the rest of the conversion was added in RELDIR. This was also causing an empty _DP_DIRDEPS to resolve to SRCTOP for DIRDEPS. Sponsored by: EMC / Isilon Storage Division
* DIRDEPS_BUILD: Avoid duplicates in DIRDEPS for bootstrapping.bdrewery2015-12-151-1/+1
| | | | | | | This logic is potentially included multiple times, so overwrite the temporary variable rather than append to it. Sponsored by: EMC / Isilon Storage Division
OpenPOWER on IntegriCloud