xref: /xnu-8020.140.41/osfmk/device/Makefile (revision 27b03b360a988dfd3dfdf34262bb0042026747cc)
1*27b03b36SApple OSS Distributionsexport MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd
2*27b03b36SApple OSS Distributionsexport MakeInc_def=${SRCROOT}/makedefs/MakeInc.def
3*27b03b36SApple OSS Distributionsexport MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule
4*27b03b36SApple OSS Distributionsexport MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir
5*27b03b36SApple OSS Distributions
6*27b03b36SApple OSS Distributionsinclude $(MakeInc_cmd)
7*27b03b36SApple OSS Distributionsinclude $(MakeInc_def)
8*27b03b36SApple OSS Distributions
9*27b03b36SApple OSS DistributionsMIG_DEFS =	\
10*27b03b36SApple OSS Distributions	device.defs
11*27b03b36SApple OSS Distributions
12*27b03b36SApple OSS DistributionsMIG_HDRS = \
13*27b03b36SApple OSS Distributions
14*27b03b36SApple OSS DistributionsDATAFILES = \
15*27b03b36SApple OSS Distributions	device_types.h device_port.h device_types.defs \
16*27b03b36SApple OSS Distributions	${MIG_DEFS}
17*27b03b36SApple OSS Distributions
18*27b03b36SApple OSS DistributionsMODULEMAPFILES = \
19*27b03b36SApple OSS Distributions	device.modulemap
20*27b03b36SApple OSS Distributions
21*27b03b36SApple OSS DistributionsPRIVATE_DATAFILES = \
22*27b03b36SApple OSS Distributions	device_types.h
23*27b03b36SApple OSS Distributions
24*27b03b36SApple OSS Distributions# device_types.h has some userspace IOKit types that are used by
25*27b03b36SApple OSS Distributions# IOTypes.h clients. The types are guarded by `IOKIT` because they
26*27b03b36SApple OSS Distributions# conflict with internal xnu types. However, once device_types.h
27*27b03b36SApple OSS Distributions# is part of the Darwin module, it gets processed before IOTypes.h
28*27b03b36SApple OSS Distributions# defines IOKIT. Later when IOTypes.h includes the header, it's
29*27b03b36SApple OSS Distributions# too late and the types don't get defined. Remove the IOKIT guard
30*27b03b36SApple OSS Distributions# in userspace to fix that problem and always define the IOKit types.
31*27b03b36SApple OSS DistributionsKERNEL_ONLY_GUARDS_UNIFDEF = -DIOKIT
32*27b03b36SApple OSS Distributions
33*27b03b36SApple OSS DistributionsMIGINCLUDES = \
34*27b03b36SApple OSS Distributions
35*27b03b36SApple OSS DistributionsINSTALL_MI_LIST	= ${DATAFILES} ${_MIG_HDRS_} ${MIGINCLUDES}
36*27b03b36SApple OSS Distributions
37*27b03b36SApple OSS DistributionsINSTALL_MODULEMAP_MI_LIST = ${MODULEMAPFILES}
38*27b03b36SApple OSS Distributions
39*27b03b36SApple OSS DistributionsINSTALL_SF_MI_LCL_LIST = ${DATAFILES} ${PRIVATE_DATAFILES} ${_MIG_HDRS_} ${MIGINCLUDES}
40*27b03b36SApple OSS Distributions
41*27b03b36SApple OSS DistributionsINSTALL_MI_DIR = device
42*27b03b36SApple OSS Distributions
43*27b03b36SApple OSS DistributionsEXPORT_MI_LIST	= ${DATAFILES} ${_MIG_HDRS_} ${MIGINCLUDES}
44*27b03b36SApple OSS Distributions
45*27b03b36SApple OSS DistributionsEXPORT_MI_DIR = device
46*27b03b36SApple OSS Distributions
47*27b03b36SApple OSS Distributions#
48*27b03b36SApple OSS Distributions# Build path
49*27b03b36SApple OSS Distributions#
50*27b03b36SApple OSS DistributionsINCFLAGS_MAKEFILE= -I..
51*27b03b36SApple OSS Distributions
52*27b03b36SApple OSS DistributionsMIGKSFLAGS	= -DMACH_KERNEL_PRIVATE -DKERNEL_SERVER=1
53*27b03b36SApple OSS DistributionsMIGKUFLAGS	= -DMACH_KERNEL_PRIVATE -DKERNEL_USER=1
54*27b03b36SApple OSS Distributions
55*27b03b36SApple OSS DistributionsDEVICE_FILES    = device_server.h device_server.c
56*27b03b36SApple OSS Distributions
57*27b03b36SApple OSS DistributionsCOMP_FILES	= ${DEVICE_FILES}
58*27b03b36SApple OSS Distributions
59*27b03b36SApple OSS Distributionsdo_build_all:: $(COMP_FILES)
60*27b03b36SApple OSS Distributions
61*27b03b36SApple OSS Distributions${DEVICE_FILES}: device.defs
62*27b03b36SApple OSS Distributions	@$(LOG_MIG) "$@"
63*27b03b36SApple OSS Distributions	$(_v)${MIG} ${MIGFLAGS} ${MIGKSFLAGS}	\
64*27b03b36SApple OSS Distributions	-header /dev/null			\
65*27b03b36SApple OSS Distributions	-user /dev/null				\
66*27b03b36SApple OSS Distributions	-sheader device_server.h		\
67*27b03b36SApple OSS Distributions	-server device_server.c			\
68*27b03b36SApple OSS Distributions	$<
69*27b03b36SApple OSS Distributions
70*27b03b36SApple OSS Distributionsinclude $(MakeInc_rule)
71*27b03b36SApple OSS Distributionsinclude $(MakeInc_dir)
72