Makefile.ioctl-c revision 1.34
1#	$NetBSD: Makefile.ioctl-c,v 1.34 2017/11/05 22:52:12 christos Exp $
2
3# NOTE: <bsd.own.mk> needs to be previously .included for NETBSDSRCDIR
4
5# We are trying to get the list of .h files that define all ioctls
6# This version grabs the non-obsolete .h files from the set lists
7# and silently ignores any that don't exist in ${DESTDIR}.
8# NB: The compiler uses the .h files in ${NETBSDSRCDIR}.
9
10SETBASES=	${NETBSDSRCDIR}/distrib/sets/lists/comp \
11		${NETBSDSRCDIR}/distrib/sets/lists/xcomp
12
13.for sb in ${SETBASES}
14.if exists(${sb}/mi)
15SETFILES:=${SETFILES} ${sb}/mi
16.endif
17.for md in md.${MACHINE} /md.${MACHINE}.${MACHINE_ARCH}
18.if exists(${sb}/${md})
19SETFILES:= ${SETFILES} ${sb}/${md}
20.endif
21.endfor
22.endfor
23.if ${MKDTRACE} != "no"
24EXTRAS=	${NETBSDSRCDIR}/external/cddl/osnet/dist/uts/common/sys/dtrace.h
25.endif
26
27.if !make(cleandir) && !make(obj) && !make(includes) && !make(install)
28DEPFILEGLOB = ${TOOL_SED} \
29    -ne '/\/usr\/.*include\/.*\.h[ 	]/{s/[ 	,]obsolete//;t' \
30    -e "s/xorg_server_ver=${XORG_SERVER_VER}//;t skipserver" \
31    -e "s/xorg_server_ver=//;t" \
32    -e ":skipserver" \
33    -e 's/xenio//;t' \
34    -e 's,\.\([^ 	]*\).*,${DESTDIR}\1,;p;}' ${SETFILES}
35DEPFILES != (${DEPFILEGLOB}; echo ${EXTRAS}) | xargs egrep -l '(_IO\(|_IOR\(|_IOW\(|_IOWR\()' 2>/dev/null || :
36.endif
37
38${PROG}-ioctl.c: mkioctls Makefile ${DEPFILES} ${SETFILES}
39	${_MKTARGET_CREATE}
40	AWK=${TOOL_AWK:Q} CC="${CC}" DESTDIR="${DESTDIR}" SED=${TOOL_SED:Q} \
41	    ${HOST_SH} ${NETBSDSRCDIR}/usr.bin/kdump/mkioctls \
42	    ${DEPFILES} >${.TARGET}
43
44SRCS+=		${PROG}-ioctl.c
45CLEANFILES+=	${PROG}-ioctl.c
46DPSRCS+=	${PROG}-ioctl.c
47CPPFLAGS+=	-I${DESTDIR}/usr/X11R7/include/libdrm
48CPPFLAGS+=	-I${DESTDIR}/usr/X11R7/include/pixman-1
49CPPFLAGS+=	-I${DESTDIR}/usr/X11R7/include
50.if ${MKDTRACE} != "no"
51CPPFLAGS+=	-I${NETBSDSRCDIR}/external/cddl/osnet/sys
52CPPFLAGS+=	-I${NETBSDSRCDIR}/external/cddl/osnet/dist/uts/common
53.endif
54CPPFLAGS+=	-D_DEV_IC_BT8XX_H_
55CPPFLAGS+=	-D_ALTQ_ALTQ_JOBS_H_	# redefinition of inline
56# De-select one, dup ioctls
57CPPFLAGS+=	-D_VIA_DRM_H_		# Missing header
58#CPPFLAGS+=	-D_I915_DRM_H_		# Dup ioctls
59CPPFLAGS+=	-DQXL_DRM_H		# Dup ioctls
60CPPFLAGS+=	-D__R128_DRM_H__	# Dup ioctls
61CPPFLAGS+=	-D__SIS_DRM_H__		# Dup ioctls
62CPPFLAGS+=	-D__SAVAGE_DRM_H__	# Dup ioctls
63CPPFLAGS+=	-D__RADEON_DRM_H__	# Dup ioctls
64CPPFLAGS+=	-D__MACH64_DRM_H__	# Dup ioctls
65CPPFLAGS+=	-D__MGA_DRM_H__		# Dup ioctls
66
67${DEPFILES}: .PRECIOUS
68