mirror of
https://github.com/freebsd/freebsd-src
synced 2024-07-21 10:19:04 +00:00
crunchgen: slap a dependency on the generated makefile for .lo
crunchgen generates a foo.lo for each binary it will end up crunching into the final product. While they have a dependency on the libs that are used to link them, nothing will force relinking if the set of libs needed to link them is changed. Because of this, incremental builds may not be possible if one builds a version of, e.g., rescue/ with a broken set of libs specified for a project -- a subsequent fix won't be rolled in cleanly, it will require purging the rescue/ objdir. This is a bit crude, but the foo.mk we generate doesn't actually get regenerated all that often in practice, so a spurious relink for the vast majority of crunched objects won't actually happen all that often. Reviewed by: bapt, emaste, imp Differential Revision: https://reviews.freebsd.org/D43869
This commit is contained in:
parent
a650ec0e55
commit
6e2cfb24ee
|
@ -1114,8 +1114,8 @@ prog_makefile_rules(FILE *outmk, prog_t *p)
|
|||
"int _crunched_%s_stub(int argc, char **argv, char **envp)"
|
||||
"{return main(argc,argv,envp);}\" >%s_stub.c\n",
|
||||
p->ident, p->ident, p->name);
|
||||
fprintf(outmk, "%s.lo: %s_stub.o $(%s_OBJPATHS)",
|
||||
p->name, p->name, p->ident);
|
||||
fprintf(outmk, "%s.lo: %s_stub.o $(%s_OBJPATHS) %s",
|
||||
p->name, p->name, p->ident, outmkname);
|
||||
if (p->libs)
|
||||
fprintf(outmk, " $(%s_LIBS)", p->ident);
|
||||
|
||||
|
|
Loading…
Reference in a new issue