]> git.saurik.com Git - apple/xnu.git/blame - osfmk/mach/Makefile
xnu-344.tar.gz
[apple/xnu.git] / osfmk / mach / Makefile
CommitLineData
1c79356b
A
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
6
7include $(MakeInc_cmd)
8include $(MakeInc_def)
9
10INSTINC_SUBDIRS = \
11 machine
12
13INSTINC_SUBDIRS_PPC = \
14 ppc
15
16INSTINC_SUBDIRS_I386 = \
17 i386
18
19EXPINC_SUBDIRS = \
20 machine
21
22EXPINC_SUBDIRS_PPC = \
23 ppc
24
25EXPINC_SUBDIRS_I386 = \
26 i386
27
28MIG_TYPES = \
29 clock_types.defs \
30 mach_types.defs \
31 std_types.defs
32
33MIG_DEFS = \
1c79356b
A
34 clock.defs \
35 clock_priv.defs \
36 clock_reply.defs \
37 exc.defs \
38 host_priv.defs \
39 host_security.defs \
40 ledger.defs \
41 lock_set.defs \
42 mach_host.defs \
43 mach_port.defs \
44 notify.defs \
45 processor.defs \
46 processor_set.defs \
47 task.defs \
48 thread_act.defs \
49 vm_map.defs \
50 upl.defs
51
52MACH_PRIVATE_DEFS = \
53 memory_object.defs \
54 memory_object_control.defs \
55 memory_object_default.defs \
56 memory_object_name.defs
57
58#
59# MIG-generated headers that are traditionally used by user
60# level code.
61#
62MIG_USHDRS = \
63 clock_reply_server.h \
64 exc_server.h \
65 memory_object_server.h \
66 memory_object_default_server.h \
67 notify_server.h
68
69MIG_UUHDRS = \
1c79356b
A
70 clock.h \
71 clock_priv.h \
72 host_priv.h \
73 host_security.h \
74 ledger.h \
75 lock_set.h \
76 mach_host.h \
77 mach_port.h \
78 memory_object_control.h \
79 memory_object_name.h \
80 processor.h \
81 processor_set.h \
82 task.h \
83 thread_act.h \
84 upl.h \
85 vm_map.h
86
87MIGINCLUDES = ${MIG_UUHDRS} ${MIG_USHDRS}
88
89DATAFILES = \
90 boolean.h \
91 boot_info.h \
9bccf70c 92 bootstrap.h \
1c79356b
A
93 clock_types.h \
94 error.h \
95 exception.h \
96 exception_types.h \
97 host_info.h \
98 host_reboot.h \
99 kern_return.h \
100 kmod.h \
1c79356b
A
101 mach_param.h \
102 mach_time.h \
103 mach_traps.h \
104 mach_types.h \
105 machine.h \
106 mach_syscalls.h \
107 memory_object_types.h \
108 message.h \
109 mig.h \
110 mig_errors.h \
1c79356b
A
111 ndr.h \
112 notify.h \
113 policy.h \
114 port.h \
115 processor_info.h \
116 rpc.h \
117 semaphore.h \
118 shared_memory_server.h \
119 std_types.h \
120 sync_policy.h \
121 syscall_sw.h \
122 task_info.h \
123 task_ledger.h \
124 task_policy.h \
125 task_special_ports.h \
126 thread_info.h \
127 thread_policy.h \
128 thread_special_ports.h \
129 thread_status.h \
130 thread_switch.h \
131 time_value.h \
132 vm_attributes.h \
133 vm_behavior.h \
134 vm_inherit.h \
135 vm_param.h \
136 vm_prot.h \
137 vm_region.h \
138 vm_statistics.h \
139 vm_sync.h \
140 vm_types.h \
141 ${MIG_TYPES} \
142 ${MIG_DEFS}
143
144INSTALL_MI_LIST = \
145 ${DATAFILES}
146
147INSTALL_MI_GEN_LIST =
148
149INSTALL_MI_DIR = mach
150
151EXPORT_MI_LIST = \
152 mach_interface.h \
153 etap.h etap_events.h \
154 ${DATAFILES}
155
156EXPORT_MI_GEN_LIST = \
157 ${MIGINCLUDES}
158
159EXPORT_MI_DIR = mach
160
161.ORDER: ${MIGINCLUDES}
162
163${MIGINCLUDES} : ${MIG_TYPES}
164
165.ORDER: ${MIG_UUHDRS}
166
167${MIG_UUHDRS} : \
168 %.h : %.defs
169 $(MIG) $(MIGFLAGS) \
170 -server /dev/null \
171 -user /dev/null \
172 -header $@ \
173 $<
174
175.ORDER: ${MIG_USHDRS}
176
177${MIG_USHDRS} : \
178 %_server.h : %.defs
179 $(MIG) $(MIGFLAGS) \
180 -server /dev/null \
181 -user /dev/null \
182 -header /dev/null \
183 -sheader $@ \
184 $<
185
186#
187# Build path
188#
189COMP_SUBDIRS_I386 = \
190 i386
191
192INCFLAGS_MAKEFILE= -I..
193
194MIGKSFLAGS = -DMACH_KERNEL_PRIVATE -DKERNEL_SERVER=1
195MIGKUFLAGS = -DMACH_KERNEL_PRIVATE -DKERNEL_USER=1 -maxonstack 1024
196#
197# MIG-generated headers that are traditionally used by kernel
198# level code.
199#
200MIG_KUHDRS = \
201 clock_reply.h \
202 exc.h \
203 memory_object.h \
0b4e3aa0 204 memory_object_control.h \
1c79356b
A
205 memory_object_default.h \
206 upl.h \
207 vm_map.h
208
209MIG_KUSRC = \
210 clock_reply_user.c \
211 exc_user.c \
212 memory_object_user.c \
0b4e3aa0 213 memory_object_control_user.c \
1c79356b
A
214 memory_object_default_user.c \
215 upl_user.c \
216 vm_map_user.c
217
218MIG_KSHDRS = \
219 clock_server.h \
220 clock_priv_server.h \
221 exc_server.h \
222 host_priv_server.h \
223 host_security_server.h \
224 ledger_server.h \
225 lock_set_server.h \
226 mach_host_server.h \
227 mach_port_server.h \
228 memory_object_server.h \
229 memory_object_control_server.h \
230 memory_object_default_server.h \
231 memory_object_name_server.h \
232 notify_server.h \
233 processor_server.h \
234 processor_set_server.h \
235 semaphore_server.h \
236 task_server.h \
237 thread_act_server.h \
238 upl_server.h \
239 vm_map_server.h
240
241MIG_KSSRC = \
242 clock_server.c \
243 clock_priv_server.c \
244 exc_server.c \
245 host_priv_server.c \
246 host_security_server.c \
247 ledger_server.c \
248 lock_set_server.c \
249 mach_host_server.c \
250 mach_port_server.c \
251 memory_object_server.c \
252 memory_object_control_server.c \
253 memory_object_default_server.c \
254 memory_object_name_server.c \
255 notify_server.c \
256 processor_server.c \
257 processor_set_server.c \
258 semaphore_server.c \
259 task_server.c \
260 thread_act_server.c \
261 upl_server.c \
262 vm_map_server.c
263
264#
265# JMM -
266# Since there are two generated header files with the same name, one for
267# install and export, the other for internal use (and they are different)
268# we can't explicitly list two rules for the same target. So rules for
269# generating internal headers will be handled implicitly by creating rules
270# to generate the internal C sources, and the headers get created as a
271# side-effect.
272#
273#
274# This is all temporary scaffolding, as we are moving to a model where
275# the MIG-generated code is identical in all environments. At first, it
276# will contain some environment-specific ifdefs, but over time should not
277# even require that as we move towards making all the environments look
278# the same.
279#
280COMP_FILES = ${MIG_KUSRC} ${MIG_KSSRC}
281
282${COMP_FILES} : ${MIG_TYPES}
283
284.ORDER: ${MIG_KUSRC}
285
286${MIG_KUSRC} : \
287 %_user.c : %.defs
288 ${MIG} ${MIGFLAGS} ${MIGKUFLAGS} \
289 -user $*_user.c \
290 -header $*.h \
291 -server /dev/null \
292 -sheader /dev/null \
293 $<
294
295.ORDER: ${MIG_KSSRC}
296
297${MIG_KSSRC}: \
298 %_server.c : %.defs
299 ${MIG} ${MIGFLAGS} ${MIGKSFLAGS} \
300 -user /dev/null \
301 -header /dev/null \
302 -server $*_server.c \
303 -sheader $*_server.h \
304 $<
305
306
307include $(MakeInc_rule)
308include $(MakeInc_dir)