Date: Wed, 19 Aug 1998 01:01:03 +1000 From: Bruce Evans <bde@zeta.org.au> To: bde@FreeBSD.ORG, dag-erli@ifi.uio.no Cc: cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG Subject: Re: cvs commit: src/lib/libfetch Makefile Message-ID: <199808181501.BAA12271@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>> Made this actually work when there's an object directory:
>> - replaced bogus dependencies of distribution sources on generated
>> sources by the same ones that bsd.lib.mk would generate if it knew
>> all the sources. We shoot ourself in the foot by not naming the
>> generated (included) sources *.h, so we can just put the generated
>> sources in SRCS.
>> - replaced -I${.CURDIR} by `-I.'. Here `.' is an alias for ${.OBJDIR}.
>> -I${.CURDIR} didn't do anything, since ${.CURDIR} is the default in
>> all cases here (it would be necessary for ""-style includes made from
>> sources in ${.OBJDIR}.
>All these bugs (or most of them) also exist in lib/libftpio/Makefile,
>which I used as template.
No, libftpio is quite different (more normal):
- no bogus dependencies of distribution sources on generated sources.
The generated source is compiled directly (not #included) so just
putting it in SRCS works right.
- the generated source (in ${.OBJDIR}) includes headers from ${.CURDIR}
so -I${.CURDIR} is neccessary if ${.OBJDIR} != ${.CURDIR}. Nothing is
included from ${.OBJDIR} so -I. would be bogus.
For another example of how not to do things, see libedit. It concatenates
most the C files into ${.OBJDIR}/editline.c. This breaks automatic
generation of dependencies, so the makefile has to be very verbose.
Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199808181501.BAA12271>
