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