Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#	$NetBSD: bsd.ioconf.mk,v 1.5 2014/11/30 15:53:29 uebayasi Exp $
#

.include <bsd.own.mk>

# If IOCONF is defined, autocreate ioconf.[ch] and locators.h.
# This is useful mainly for devices.
.if !empty(IOCONF)

# discourage direct inclusion.  bsd.ioconf.mk will hopefully go away
# when the kernel build procedures are unified.
.if defined(_BSD_IOCONF_MK_USER_)

# XXX: ioconf.c doesn't need to depend on TOOL_CONFIG, but that helps
# keep builds working while hashing out some of the experimental
# features related to ioconf.
.if ${USETOOLS} == "yes"
CONFIGDEP=${TOOL_CONFIG}
.endif
ioconf.c: ${IOCONF} ${CONFIGDEP}
	${TOOL_CONFIG} ${CONFIGOPTS} -b ${.OBJDIR} -s ${S} \
	    ${IOCONFDIR:U${.CURDIR}}/${IOCONF}
	# config doesn't change the files if they're unchanged.  however,
	# here we want to satisfy our make dependency, so force a
	# timestamp update
	touch ioconf.c ioconf.h locators.h

.else # _BSD_IOCONF_MK_USER_

ioconf.c:
	@echo do not include bsd.ioconf.mk directly
	@false

.endif # _BSD_IOCONF_MK_USER_

locators.h: ioconf.c
ioconf.h: ioconf.c

CLEANFILES+= ioconf.c ioconf.h locators.h
DPSRCS+= ioconf.c ioconf.h locators.h
.endif