如何使用 FreeBSD bmake 正确 link 库?
How to properly link libraries with FreeBSD bmake?
背景
我想用 /usr/local/lib
和 /usr/local/include
中的一些库和 headers 编译一个小程序(我从端口安装它们)。
我正在使用默认的 FreeBSD make(1)(恰好是下面的 bmake(1))。
生成文件
到目前为止,我的 Makefile 如下所示:
PROG_CXX= client
MAN=
LDADD= -lhip -lhop -lpthread
SRCS= client.cc
CFLAGS+= -I/usr/local/include -L/usr/local/lib
.include <bsd.prog.mk>
问题
有更好的方法吗?我确定 CFLAGS+= -I/usr/local/include -L/usr/local/lib
已经被一些 bsd.*.mk
自动化,但我找不到它。我试过包括 <bsd.lib.mk>
但无济于事。
参考资料
我联系了社区,他们告诉我我用 CFLAGS
做的事情实际上是正确的:
The base system purposely excludes /usr/local/* from build stuff so your CFLAGS
to include them, are the right thing.
背景
我想用 /usr/local/lib
和 /usr/local/include
中的一些库和 headers 编译一个小程序(我从端口安装它们)。
我正在使用默认的 FreeBSD make(1)(恰好是下面的 bmake(1))。
生成文件
到目前为止,我的 Makefile 如下所示:
PROG_CXX= client
MAN=
LDADD= -lhip -lhop -lpthread
SRCS= client.cc
CFLAGS+= -I/usr/local/include -L/usr/local/lib
.include <bsd.prog.mk>
问题
有更好的方法吗?我确定 CFLAGS+= -I/usr/local/include -L/usr/local/lib
已经被一些 bsd.*.mk
自动化,但我找不到它。我试过包括 <bsd.lib.mk>
但无济于事。
参考资料
我联系了社区,他们告诉我我用 CFLAGS
做的事情实际上是正确的:
The base system purposely excludes /usr/local/* from build stuff so your
CFLAGS
to include them, are the right thing.