Date: Thu, 12 Sep 2013 01:17:55 +0400 From: Lev Serebryakov <lev@FreeBSD.org> To: John-Mark Gurney <jmg@funkthat.com> Cc: freebsd-current@freebsd.org Subject: Re: Chicken and egg problem when building (third-party) kernel modules with <bsd.kmod.mk> -- how to solve? Message-ID: <899884661.20130912011755@serebryakov.spb.ru> In-Reply-To: <20130911165346.GA68682@funkthat.com> References: <1510067821.20130911173716@serebryakov.spb.ru> <20130911165346.GA68682@funkthat.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello, John-Mark.
You wrote 11 =D1=81=D0=B5=D0=BD=D1=82=D1=8F=D0=B1=D1=80=D1=8F 2013 =D0=B3.,=
20:53:46:
>> It is good idea to set KERNBUILDDIR when build module. But to set it you
>> need to know ${.OBJDIR} from ${SYSDIR} and ${SYSDIR} is set in bsd.kmod.=
mk,
>> which should be included last (after defining KERNBUILDDIR).
>>=20
>> How this loop could be broken?
JMG> If you need to build it stand alone, you still need the opt_*.h files
I'm speaking about making port with kernel module, but this port is using
bsd.*.mk infrastructure by itself.
JMG> from the kernel you are going to run it with, and that directory is
JMG> what you need to set KERNBUILDDIR...
KERNBUILDDIR could be set automagically with:
KERNBUILDROOT!=3D make -C ${SYSDIR} -V .OBJDIR
KERNNAME!=3D uname -i
.if exists(${KERNBUILDROOT}/${KERNNAME}/opt_global.h) && !defined(KERNBUILD=
DIR)
KERNBUILDDIR:=3D${KERNBUILDROOT}/${KERNNAME}
.endif
But here is problem, which I'm speaking about: it should go BEFORE
<bsd.kmod.mk> but it needs to use ${SYSDIR}.
--=20
// Black Lion AKA Lev Serebryakov <lev@FreeBSD.org>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?899884661.20130912011755>
