xref: /xnu-11215.41.3/osfmk/default_pager/Makefile (revision 33de042d024d46de5ff4e89f2471de6608e37fa4)
1export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd
2export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def
3export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule
4export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir
5
6include $(MakeInc_cmd)
7include $(MakeInc_def)
8
9MIG_TYPES = \
10	default_pager_types.defs
11
12MIG_DEFS = \
13
14MIG_USHDRS = \
15
16MIG_UUHDRS = \
17
18MIGINCLUDES = ${MIG_UUHDRS} ${MIG_USHDRS}
19
20DATAFILES = \
21	default_pager_types.h \
22	${MIG_DEFS}
23
24INSTALL_MI_LIST	= ${DATAFILES}
25
26INSTALL_SF_MI_LCL_LIST = ${DATAFILES}
27
28INSTALL_MI_GEN_LIST = ${MIGINCLUDES}
29
30INSTALL_SF_MI_LCL_GEN_LIST = ${MIGINCLUDES}
31
32INSTALL_MI_DIR = default_pager
33
34EXPORT_MI_LIST	= \
35	${DATAFILES}
36
37EXPORT_MI_GEN_LIST = \
38	${MIGINCLUDES}
39
40EXPORT_MI_DIR = default_pager
41
42${MIGINCLUDES} : ${MIG_TYPES}
43
44${MIG_UUHDRS} : \
45	%.h : %.defs
46	@$(LOG_MIG) $@
47	$(_v)$(MIG) $(MIGFLAGS)		\
48		-server /dev/null	\
49		-user /dev/null		\
50		-header $@		\
51		$<
52
53${MIG_USHDRS} : \
54	%_server.h : %.defs
55	@$(LOG_MIG) $@
56	$(_v)$(MIG) $(MIGFLAGS)		\
57		-server /dev/null	\
58		-user /dev/null		\
59		-header /dev/null	\
60		-sheader $@		\
61		$<
62
63#
64# Build path
65#
66INCFLAGS_MAKEFILE= -I..
67
68#
69# MIG-generated headers that are traditionally used by kernel
70# level code.
71#
72MIG_KUHDRS = \
73
74MIG_KUSRC = \
75
76MIG_KSHDRS = \
77
78MIG_KSSRC = \
79
80#
81# JMM -
82# Since there are two generated header files with the same name, one for
83# install and export, the other for internal use (and they are different)
84# we can't explicitly list two rules for the same target.  So rules for
85# generating internal headers will be handled implicitly by creating rules
86# to generate the internal C sources, and the headers get created as a
87# side-effect.
88#
89# This is all temporary scaffolding, as we are moving to a model where
90# the MIG-generated code is identical in all environments.  At first, it
91# will contain some environment-specific ifdefs, but over time should not
92# even require that as we move towards making all the environments look
93# the same.
94#
95COMP_FILES = ${MIG_KUSRC} ${MIG_KSSRC}
96
97do_build_all:: $(COMP_FILES)
98
99${COMP_FILES} : ${MIG_TYPES}
100
101${MIG_KUSRC} : \
102	%_user.c : %.defs
103	@$(LOG_MIG) $@
104	$(_v)${MIG} ${MIGFLAGS} ${MIGKUFLAGS}        \
105		-user    $*_user.c              \
106		-header  $*.h              \
107		-server  /dev/null		\
108		-sheader /dev/null		\
109		$<
110
111${MIG_KSSRC}: \
112	%_server.c : %.defs
113	@$(LOG_MIG) $@
114	$(_v)${MIG} ${MIGFLAGS} ${MIGKSFLAGS}        \
115		-user    /dev/null              \
116		-header  /dev/null              \
117		-server  $*_server.c		\
118		-sheader $*_server.h		\
119		$<
120
121include $(MakeInc_rule)
122include $(MakeInc_dir)
123