xref: /netbsd-src/share/mk/bsd.ioconf.mk (revision 0a333665fa3c2dc0c473b07cd5fe9b3f1e21689f)
1#	$NetBSD: bsd.ioconf.mk,v 1.5 2014/11/30 15:53:29 uebayasi Exp $
2#
3
4.include <bsd.own.mk>
5
6# If IOCONF is defined, autocreate ioconf.[ch] and locators.h.
7# This is useful mainly for devices.
8.if !empty(IOCONF)
9
10# discourage direct inclusion.  bsd.ioconf.mk will hopefully go away
11# when the kernel build procedures are unified.
12.if defined(_BSD_IOCONF_MK_USER_)
13
14# XXX: ioconf.c doesn't need to depend on TOOL_CONFIG, but that helps
15# keep builds working while hashing out some of the experimental
16# features related to ioconf.
17.if ${USETOOLS} == "yes"
18CONFIGDEP=${TOOL_CONFIG}
19.endif
20ioconf.c: ${IOCONF} ${CONFIGDEP}
21	${TOOL_CONFIG} ${CONFIGOPTS} -b ${.OBJDIR} -s ${S} \
22	    ${IOCONFDIR:U${.CURDIR}}/${IOCONF}
23	# config doesn't change the files if they're unchanged.  however,
24	# here we want to satisfy our make dependency, so force a
25	# timestamp update
26	touch ioconf.c ioconf.h locators.h
27
28.else # _BSD_IOCONF_MK_USER_
29
30ioconf.c:
31	@echo do not include bsd.ioconf.mk directly
32	@false
33
34.endif # _BSD_IOCONF_MK_USER_
35
36locators.h: ioconf.c
37ioconf.h: ioconf.c
38
39CLEANFILES+= ioconf.c ioconf.h locators.h
40DPSRCS+= ioconf.c ioconf.h locators.h
41.endif
42