freebsd-dev/share/mk
Val Packett da6620e495 mk: fix unnecessary library relinking with incremental builds
Initial libs such as csu are always built (.PHONY), and their
installation to WORLDTMP was causing all the subsequent libraries to
be considered out-of-date even when in reality they were not. Use
install -C more consistently everywhere to avoid unnecessarily
updating the mtimes in WORLDTMP, fixing this problem.

This cut down my no-change buildworld time from 30 to 15 seconds.

Fixes: https://lists.freebsd.org/pipermail/freebsd-current/2016-May/061481.html
TODO.1

Reviewed by: sjg
Sponsored by: https://www.patreon.com/valpackett
Differential Revision:  https://reviews.freebsd.org/D39980
2023-07-27 14:55:16 -07:00
..
atf.test.mk testing: move atf-pytest-wrapper to /usr/libexec 2022-06-26 13:25:47 +00:00
auto.obj.mk
bsd.arch.inc.mk
bsd.clang-analyze.mk
bsd.compat.mk bsd.compat.mk Extract _ALL_LIBCOMPATS and add related variables 2023-07-27 05:10:43 +01:00
bsd.compat.pre.mk bsd.compat.mk Extract _ALL_LIBCOMPATS and add related variables 2023-07-27 05:10:43 +01:00
bsd.compiler.mk Enable -ftrivial-auto-var-init flags for gcc >= 12 2023-05-23 19:44:45 +02:00
bsd.confs.mk Ensure the stage_* targets we use exist 2023-04-18 20:19:11 -07:00
bsd.cpu.mk share/mk/bsd.cpu.mk: drop -mno-powerpc64 2023-06-24 22:01:47 +02:00
bsd.crunchgen.mk
bsd.dep.mk Remove more quotes around Makefile .error/.warn/.info strings. 2022-02-04 15:59:53 -08:00
bsd.dirs.mk
bsd.doc.mk
bsd.dtb.mk
bsd.endian.mk Remove more quotes around Makefile .error/.warn/.info strings. 2022-02-04 15:59:53 -08:00
bsd.files.mk mk: fix unnecessary library relinking with incremental builds 2023-07-27 14:55:16 -07:00
bsd.incs.mk bsd.incs.mk: Add support to override tags for a specific include group 2021-01-04 16:21:32 +01:00
bsd.info.mk
bsd.init.mk Update dirdeps.mk et al to latest 2020-11-24 21:45:38 +00:00
bsd.kmod.mk Add some more local.*.mk includes 2022-12-06 10:49:54 -08:00
bsd.lib.mk mk: fix unnecessary library relinking with incremental builds 2023-07-27 14:55:16 -07:00
bsd.libnames.mk Put OPIE to rest. 2022-10-02 03:37:29 +02:00
bsd.linker.mk bsd.linker.mk: Use :C not :S for regex 2023-07-24 01:50:55 +01:00
bsd.links.mk
bsd.man.mk pkgbase: Add an src.conf option for splitting man pages 2021-03-16 07:13:09 +01:00
bsd.mkopt.mk Warn about nonfunctional WITHOUT options 2023-06-20 13:58:58 -07:00
bsd.nls.mk
bsd.obj.mk NO_OBJ: Always fix .OBJDIR regardless of AUTO_OBJ. 2020-04-07 17:07:04 +00:00
bsd.opts.mk Add some more local.*.mk includes 2022-12-06 10:49:54 -08:00
bsd.own.mk Use 'mixed' links for 'hard' links by default. 2023-02-27 10:19:00 -07:00
bsd.port.mk
bsd.port.options.mk
bsd.port.post.mk
bsd.port.pre.mk
bsd.port.subdir.mk
bsd.prog.mk share/mk: Pass -znoexecstack to ld.bfd when linking libraries and programs. 2023-07-20 16:37:46 -07:00
bsd.progs.mk Add build system support for ASAN+UBSAN instrumentation 2021-08-02 14:33:24 +01:00
bsd.README share/mk: Remove obsolete reference to LINTLIBDIR 2022-03-28 19:43:03 +01:00
bsd.sanitizer.mk bsd.sanitizer.mk: Fix a typo in a comment 2022-11-01 09:18:34 +01:00
bsd.snmpmod.mk pkgbase: Put the mibs and defs in the bnsmp package 2021-06-19 17:50:03 +02:00
bsd.subdir.mk make: Don't print as many ==> and -- xxx -- lines in meta mode 2022-10-29 10:13:54 -06:00
bsd.suffixes-posix.mk
bsd.suffixes.mk Assemble .s to .o using cc, not as 2023-06-25 22:03:19 -04:00
bsd.symver.mk bmake 20230123 gives us .SYSPATH 2023-04-22 18:15:31 -07:00
bsd.sys.mk bsd.sys.mk: Re-enable -Wunused-but-set-variable for clang 13+. 2023-06-28 12:27:43 -07:00
bsd.sysdir.mk Add some more local.*.mk includes 2022-12-06 10:49:54 -08:00
bsd.test.mk Make capsicum test cases fine-grained 2020-10-06 06:45:52 +00:00
dirdeps-options.mk Update meta mode makefiles 2023-04-16 18:40:53 -07:00
dirdeps-targets.mk Update dirdeps.mk et al to 20211212 versions 2021-12-18 13:37:07 -08:00
dirdeps.mk dirdeps.mk allow for TARGET_SPEC_VARS.host 2023-05-15 13:25:10 -07:00
gendirdeps.mk Update meta.sys.mk and related local*mk 2023-04-20 20:38:53 -07:00
googletest.test.inc.mk
googletest.test.mk Make capsicum test cases fine-grained 2020-10-06 06:45:52 +00:00
host-target.mk
install-new.mk
jobs.mk jobs.mk report JOB_ARGS log and JOB_LOG_START 2023-04-27 13:40:44 -07:00
kmod.opts.mk
local.autodep.mk Avoid breaking crunchgen with meta stats 2023-04-18 20:25:33 -07:00
local.dirdeps-options.mk Allow site.*.mk to augment local.*.mk and src.*.mk 2022-12-07 11:30:35 -08:00
local.dirdeps.mk local.dirdeps.mk no qual for PSEUDO_MACHINE_LIST 2023-05-13 14:06:20 -07:00
local.gendirdeps.mk Update meta.sys.mk and related local*mk 2023-04-20 20:38:53 -07:00
local.init.mk Simplify building host tools during DIRDEPS_BUILD 2023-04-22 12:01:49 -07:00
local.meta.sys.env.mk Move more DIRDEPS_BUILD settings 2023-05-12 17:40:37 -07:00
local.sys.dirdeps.env.mk BOOT_MACHINE_DIR should be stand not boot 2023-06-29 12:02:27 -07:00
local.sys.dirdeps.mk Move DIRDEPS_BUILD settings to sys.dirdeps.mk 2023-05-11 16:15:04 -07:00
local.sys.env.mk Move MACHINE/MACHINE_ARCH handling to sys.machine.mk 2023-05-13 08:15:49 -07:00
local.sys.mk Set MK_host_egacy=yes earlier 2023-04-25 00:26:35 -07:00
Makefile Install the recently added posix.mk file 2022-04-12 13:05:55 -07:00
meta2deps.py Update meta mode makefiles 2023-04-16 18:40:53 -07:00
meta2deps.sh Update meta mode makefiles 2023-04-16 18:40:53 -07:00
meta.autodep.mk Update meta mode makefiles 2023-04-16 18:40:53 -07:00
meta.stage.mk Update meta mode makefiles 2023-04-16 18:40:53 -07:00
meta.subdir.mk Update dirdeps.mk et al to latest 2020-11-24 21:45:38 +00:00
meta.sys.mk Move DIRDEPS_BUILD settings to sys.dirdeps.mk 2023-05-11 16:15:04 -07:00
netbsd-tests.test.mk Remove more quotes around Makefile .error/.warn/.info strings. 2022-02-04 15:59:53 -08:00
plain.test.mk
src.init.linux.mk Simplify building host tools during DIRDEPS_BUILD 2023-04-22 12:01:49 -07:00
src.init.mk Simplify building host tools during DIRDEPS_BUILD 2023-04-22 12:01:49 -07:00
src.libnames.mk libtacplus: Allow additional AV pairs to be configured. 2023-06-13 16:08:08 +00:00
src.lua.mk
src.opts.mk dtrace: Add WITH_DTRACE_ASAN 2023-07-27 16:07:34 -04:00
src.sys.env.mk Allow site.*.mk to augment local.*.mk and src.*.mk 2022-12-07 11:30:35 -08:00
src.sys.mk build: provide a default WARNS for all in-tree builds 2020-09-18 17:17:46 +00:00
src.sys.obj.mk Move DIRDEPS_BUILD settings to sys.dirdeps.mk 2023-05-11 16:15:04 -07:00
src.tools.mk ncurses: Add support for terminfo database 2021-02-25 14:25:11 +01:00
stage-install.sh
suite.test.mk make check: suppress echo of kyua binary location 2021-01-16 00:07:50 -06:00
sys.dependfile.mk Move DIRDEPS_BUILD settings to sys.dirdeps.mk 2023-05-11 16:15:04 -07:00
sys.dirdeps.mk sys.dirdeps.mk we do want to override OBJTOP 2023-05-14 09:50:03 -07:00
sys.machine.mk Move MACHINE/MACHINE_ARCH handling to sys.machine.mk 2023-05-13 08:15:49 -07:00
sys.mk Move DIRDEPS_BUILD settings to sys.dirdeps.mk 2023-05-11 16:15:04 -07:00
tap.test.mk
version_gen.awk spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00