diff --git a/sys/conf/Makefile.amd64 b/sys/conf/Makefile.amd64 --- a/sys/conf/Makefile.amd64 +++ b/sys/conf/Makefile.amd64 @@ -29,8 +29,6 @@ .endif .include "$S/conf/kern.pre.mk" -INCLUDES+= -I$S/contrib/libfdt - .if !empty(DDB_ENABLED) || !empty(DTRACE_ENABLED) || !empty(HWPMC_ENABLED) CFLAGS+= -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer .endif diff --git a/sys/conf/Makefile.arm b/sys/conf/Makefile.arm --- a/sys/conf/Makefile.arm +++ b/sys/conf/Makefile.arm @@ -27,8 +27,6 @@ .endif .include "$S/conf/kern.pre.mk" -INCLUDES+= -I$S/contrib/libfdt -I$S/contrib/device-tree/include -I$S/dts/include - LINUX_DTS_VERSION!= awk '/freebsd,dts-version/ { sub(/;$$/,"", $$NF); print $$NF }' $S/dts/freebsd-compatible.dts CFLAGS += -DLINUX_DTS_VERSION=\"${LINUX_DTS_VERSION}\" diff --git a/sys/conf/Makefile.arm64 b/sys/conf/Makefile.arm64 --- a/sys/conf/Makefile.arm64 +++ b/sys/conf/Makefile.arm64 @@ -23,8 +23,6 @@ .endif .include "$S/conf/kern.pre.mk" -INCLUDES+= -I$S/contrib/libfdt -I$S/contrib/device-tree/include - LINUX_DTS_VERSION!= awk '/freebsd,dts-version/ { sub(/;$$/,"", $$NF); print $$NF }' $S/dts/freebsd-compatible.dts CFLAGS += -DLINUX_DTS_VERSION=\"${LINUX_DTS_VERSION}\" diff --git a/sys/conf/Makefile.i386 b/sys/conf/Makefile.i386 --- a/sys/conf/Makefile.i386 +++ b/sys/conf/Makefile.i386 @@ -27,8 +27,6 @@ .endif .include "$S/conf/kern.pre.mk" -INCLUDES+= -I$S/contrib/libfdt - %BEFORE_DEPEND %OBJS diff --git a/sys/conf/Makefile.riscv b/sys/conf/Makefile.riscv --- a/sys/conf/Makefile.riscv +++ b/sys/conf/Makefile.riscv @@ -24,8 +24,6 @@ .endif .include "$S/conf/kern.pre.mk" -INCLUDES+= -I$S/contrib/libfdt -I$S/contrib/device-tree/include - # Set the ELF LMA to the address that OpenSBI's fw_jump jumps to. This allows # us to load the kernel with the -kernel flag in QEMU without having to embed # it inside BBL or OpenSBI's fw_payload first. diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk --- a/sys/conf/kern.pre.mk +++ b/sys/conf/kern.pre.mk @@ -70,6 +70,12 @@ INCLUDES= ${NOSTDINC} ${INCLMAGIC} -I. -I$S -I$S/contrib/ck/include +INCLUDES+= -I$S/contrib/libfdt +.if ${MK_FDT} != "no" +INCLUDES+= -I$S/contrib/device-tree/include \ + -I$S/dts/include +.endif + CFLAGS= ${COPTFLAGS} ${DEBUG} CFLAGS+= ${INCLUDES} -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h CFLAGS_PARAM_INLINE_UNIT_GROWTH?=100 diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -134,6 +134,12 @@ # set because there are no standard paths for non-headers. CFLAGS+= -I. -I${SYSDIR} -I${SYSDIR}/contrib/ck/include +.if !empty(OPT_FDT) +CFLAGS+= -I${SYSDIR}/contrib/libfdt \ + -I${SYSDIR}/contrib/device-tree/include \ + -I${SYSDIR}/dts/include +.endif + CFLAGS.gcc+= -finline-limit=${INLINE_LIMIT} CFLAGS.gcc+= -fms-extensions CFLAGS.gcc+= --param inline-unit-growth=100