svn commit: r288966 - head/share/mk

Bryan Drewery bdrewery at FreeBSD.org
Thu Nov 19 01:45:12 UTC 2015


On 10/7/2015 11:09 AM, Bryan Drewery wrote:
> On 10/7/2015 11:02 AM, Simon J. Gerraty wrote:
>> Bryan Drewery <bdrewery at FreeBSD.org> wrote:
>>>> +.for h in ${SRCS:M*.h}
>>>
>>> I think we can use DPSRCS as well for this.
>>
>> Not sure.
>> usr.bin/truss/Makefile didn't use that.
>> I only see it set in bsd.dep.mk - which we don't use in meta mode.
>>
> 
> I'm less thinking about the usage in bsd.dep.mk and more these that
> manually set it:
> 
> gnu/lib/libreadline/readline/Makefile:DPSRCS+= ${INSTALLED_HEADERS}
> lib/libc/tests/rpc/Makefile:DPSRCS+=    h_testbits.h
> sbin/ipf/ipf/Makefile:DPSRCS+=  ${GENHDRS}
> sbin/ipf/ipftest/Makefile:DPSRCS+=      ${GENHDRS}
> sbin/ipf/ipmon/Makefile:DPSRCS+=        ${GENHDRS}
> sbin/ipf/ipnat/Makefile:DPSRCS+=        ${GENHDRS}
> sbin/ipf/ippool/Makefile:DPSRCS+=       ${GENHDRS}
> sys/modules/linux/Makefile:DPSRCS=      linux${SFX}_genassym.c
> sys/modules/linux64/Makefile:DPSRCS=    linux_genassym.c
> sys/modules/vmm/Makefile:DPSRCS=        vmx_genassym.c svm_genassym.c
> usr.bin/kdump/Makefile:DPSRCS=          kdump_subr.h
> usr.bin/netstat/Makefile:DPSRCS=        nl_defs.h
> usr.bin/svn/svn/Makefile:DPSRCS+=       freebsd-organization.h
> 
> 
> I ran into at least one case, I think usr.bin/netstat, where the file in
> DPSRCS was missing and Makefile.depend had to learn how to build it
> before it would work.
> 
> I can test more to see if adding it has any effect.
> 

Actually, all but the sys/ ones here are wrongly using DPSRCS and should
be SRCS. I have pending commits to fix that. DPSRCS is *only for files
used to generate other files, not generated files*. Fixing these DPSRCS
cases fixes the "clean build" in usr.bin/netstat for example (without
the local deps in Makefile.depend). Really, anything that fails to build
with "missing local dependencies" is broken outside of the meta build as
well.

As for the actual change in local.autodep.mk, I don't think it is needed
or right since bsd.lib.mk and bsd.prog.mk already do exactly the same
thing via ${OBJS}: ${SRCS:M*.h} if .depend is not yet generated. This
does work in meta mode as I ran into a failure due to it before r291046
(I had removed the libbfd/Makefile.depend.host for other testing). It's
also hooked in far too late and orthogonally to the OBJS in the graph
that need the headers.

-- 
Regards,
Bryan Drewery

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20151118/c3a93a62/attachment.bin>


More information about the svn-src-all mailing list