如何在不编译整个内核的情况下在 OpenBSD 中编译单个 driver/file?

How can I compile a single driver/file in OpenBSD without compiling the whole kernel?

我已经开始为 OpenBSD.

编写驱动程序(用于 NXP 的 I2C 设备 PCF8574)

目前我使用OpenBSD页面上的官方指令https://www.openbsd.org/faq/faq5.html编译内核。

但是当我更改驱动程序代码并输入make时,整个内核将被编译。不仅是更改的文件。我怎样才能防止这种情况发生?我如何从内核编译单个文件,然后 link 它与内核的其余部分一起编译?

提前致谢!

某些部分总是会重建,但如果您使用正确的选项,则不会重建完整的内核。

# cd /usr/src/sys/arch/amd64/conf
# config GENERIC.MP
# cd ../compile/GENERIC.MP
# make clean
# make -j4
# make install

更改 /usr/src/sys 中的任何源文件,然后:

# cd /usr/src/sys/arch/amd64/compile/GENERIC.MP
# make config
# make -j4
# make install

最后的make -j4只会构建更改的文件+其他必要的文件。