Re: git: 623be660fcc9 - main - beep: add missing include of src.opts.mk, use LIBADD instead of LDFLAGS

From: Chuck Silvers <chuq_at_chuq.com>
Date: Wed, 19 Mar 2025 21:23:39 UTC
On Wed, Mar 19, 2025 at 08:44:13PM +0000, Brooks Davis wrote:
> On Wed, Mar 19, 2025 at 08:22:36PM +0000, Chuck Silvers wrote:
> > The branch main has been updated by chs:
> > 
> > URL: https://cgit.FreeBSD.org/src/commit/?id=623be660fcc9860c0e8b99e8c2c4bbdefc121fd1
> > 
> > commit 623be660fcc9860c0e8b99e8c2c4bbdefc121fd1
> > Author:     Chuck Silvers <chs@FreeBSD.org>
> > AuthorDate: 2025-03-19 19:48:10 +0000
> > Commit:     Chuck Silvers <chs@FreeBSD.org>
> > CommitDate: 2025-03-19 19:48:10 +0000
> > 
> >     beep: add missing include of src.opts.mk, use LIBADD instead of LDFLAGS
> >     
> >     Sponsored by:   Netflix
> > ---
> >  usr.bin/beep/Makefile | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/usr.bin/beep/Makefile b/usr.bin/beep/Makefile
> > index f252ab64f843..8388ff7ff986 100644
> > --- a/usr.bin/beep/Makefile
> > +++ b/usr.bin/beep/Makefile
> > @@ -1,6 +1,7 @@
> > +.include <src.opts.mk>
> 
> Why add src.opts.mk?  Nothing is using it and bsd.prog.mk will include
> it.  Is there another change coming that will use it?
> 
> -- Brooks
> 
> > +
> >  PROG=	beep
> >  MAN=	beep.1
> > -
> > -LDFLAGS= -lm
> > +LIBADD=	m
> >  
> >  .include <bsd.prog.mk>
> > 

the motivation for these changes is that I want to be able to add something
to LDFLAGS in /etc/src.conf and have that actually affect every executable
and shared library that is built.

we don't actually care about beep or trim, I just noticed that they were
not getting the LDFLAGS from src.conf and thought I would fix them
for completeness.  adding the include of src.opts.mk seemed to fix that.
also, a great many makefiles include src.opts.mk as the first thing and
I thought that was just some boilerplate that was expected to be done
everywhere and had been overlooked in these two.

at that point I had not changed the usage of LDFLAGS in these two makefiles.
then as I was arranging this stuff to commit, I grep'ed for other makefiles
that assign rather than append to LDFLAGS (like I had found in bsnmpd)
and found that these same two makefiles also incorrectly assigned to LDFLAGS,
so then I added the other changes you see in those two commits.

I'm not sure why I thought that including src.opts.mk without changing
the LDFLAGS usage made things work initially.  I tried that again just now
and indeed it doesn't help, and the parts that remove the assignment to LDFLAGS
are enough.  maybe I had something stale in my obj dir before?

anyway, I'd be happy to remove the include of src.opts.mk from these again
if you'd like.

-Chuck