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