xref: /xnu-8020.140.41/osfmk/conf/Makefile.template (revision 27b03b360a988dfd3dfdf34262bb0042026747cc)
1#
2# Mach Operating System
3# Copyright (c) 1986 Carnegie-Mellon University
4# All rights reserved.  The CMU software License Agreement specifies
5# the terms and conditions for use and redistribution.
6#
7
8export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd
9export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def
10export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule
11export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir
12
13include $(MakeInc_cmd)
14include $(MakeInc_def)
15
16#
17# XXX: CFLAGS
18#
19CFLAGS+= -include meta_features.h -DMACH_KERNEL_PRIVATE -DMACH_KERNEL
20SFLAGS+= -include meta_features.h
21
22ifeq ($(KSANCOV),1)
23# Don't instrument functions called by the ksancov runtime. SanitizeCoverage does
24# not support blacklists, so exclude the whole file.
25machine_routines.o_CFLAGS_RM = $(KCOV_CFLAGS)
26machine_routines_common.o_CFLAGS_RM = $(KCOV_CFLAGS)
27pcb_native.o_CFLAGS_RM = $(KCOV_CFLAGS)
28endif
29
30#
31# XXX: INCFLAGS to include libsa prototypes
32#
33INCFLAGS_MAKEFILE= -I$(SOURCE)libsa
34
35#
36# Directories for mig generated files
37#
38COMP_SUBDIRS = \
39	atm \
40	default_pager \
41	device \
42	mach \
43	UserNotification \
44	gssd \
45	kextd \
46	lockd
47
48#
49#  Make sure we don't remove this by accident if interrupted at the wrong
50#  time.
51#
52.PRECIOUS: Makefile
53
54#
55#  Theses macros are filled in by the config program depending on the
56#  current configuration.  The MACHDEP macro is replaced by the
57#  contents of the machine dependent makefile template and the others
58#  are replaced by the corresponding symbol definitions for the
59#  configuration.
60#
61
62%OBJS
63
64%LIBOBJS
65
66%CFILES
67
68%CXXFILES
69
70%SFILES
71
72%MACHDEP
73
74vm_tests.o_CFLAGS_ADD += -O0 -g
75
76#
77# Diagnostic opt-outs.  We need to make this list empty.
78#
79# DO NOT ADD MORE HERE.
80#
81# -Wno-format-nonliteral
82ktest_emit.o_CWARNFLAGS_ADD += -Wno-format-nonliteral
83# -Wno-atomic-implicit-seq-cst
84mp.o_CWARNFLAGS_ADD += -Wno-atomic-implicit-seq-cst
85pmCPU.o_CWARNFLAGS_ADD += -Wno-atomic-implicit-seq-cst
86pmap_pcid.o_CWARNFLAGS_ADD += -Wno-atomic-implicit-seq-cst
87xcpm_dvfs.o_CWARNFLAGS_ADD += -Wno-atomic-implicit-seq-cst
88xcpm_fi.o_CWARNFLAGS_ADD += -Wno-atomic-implicit-seq-cst
89xcpm_idle.o_CWARNFLAGS_ADD += -Wno-atomic-implicit-seq-cst
90# -Wno-cast-align
91bsd_i386.o_CWARNFLAGS_ADD += -Wno-cast-align
92ccdigest_final_64be.o_CWARNFLAGS_ADD += -Wno-cast-align
93ccdigest_init.o_CWARNFLAGS_ADD += -Wno-cast-align
94ccdigest_update.o_CWARNFLAGS_ADD += -Wno-cast-align
95cchmac_final.o_CWARNFLAGS_ADD += -Wno-cast-align
96cchmac_init.o_CWARNFLAGS_ADD += -Wno-cast-align
97commpage.o_CWARNFLAGS_ADD += -Wno-cast-align
98cpu_threads.o_CWARNFLAGS_ADD += -Wno-cast-align
99host.o_CWARNFLAGS_ADD += -Wno-cast-align
100kdp_machdep.o_CWARNFLAGS_ADD += -Wno-cast-align
101kdp_udp.o_CWARNFLAGS_ADD += -Wno-cast-align
102kdp_x86_common.o_CWARNFLAGS_ADD += -Wno-cast-align
103locks_i386.o_CWARNFLAGS_ADD += -Wno-cast-align
104machine_task.o_CWARNFLAGS_ADD += -Wno-cast-align
105model_dep.o_CWARNFLAGS_ADD += -Wno-cast-align
106mp_desc.o_CWARNFLAGS_ADD += -Wno-cast-align
107pcb.o_CWARNFLAGS_ADD += -Wno-cast-align
108pcb_native.o_CWARNFLAGS_ADD += -Wno-cast-align
109processor.o_CWARNFLAGS_ADD += -Wno-cast-align
110status.o_CWARNFLAGS_ADD += -Wno-cast-align
111task.o_CWARNFLAGS_ADD += -Wno-cast-align
112task_policy.o_CWARNFLAGS_ADD += -Wno-cast-align
113video_console.o_CWARNFLAGS_ADD += -Wno-cast-align
114# -Wno-implicit-int-conversion
115acpi.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
116commpage.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
117cpu.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
118cpu_threads.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
119kdebug_trigger.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
120kern_stackshot.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
121lapic_native.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
122loose_ends.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
123lz4.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
124model_dep.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
125mp.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
126mp_desc.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
127pcb.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
128pcb_native.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
129pmap_pcid.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
130pmap_x86_common.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
131sched_clutch.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
132thread_group.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
133trap.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
134uat.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
135video_console.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
136xcpm_dvfs.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
137xcpm_ioctl.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
138# -Wno-shorten-64-to-32
139arm_vm_init.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
140backtrace.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
141btlog.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
142caches.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
143callstack.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
144clock.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
145clock_oldops.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
146iokit_rpc.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
147ipc_kmsg.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
148ipc_pset.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
149ipc_right.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
150kdp_core.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
151kdp_vm.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
152kern_cdata.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
153kern_stackshot.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
154loose_ends.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
155mach_msg.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
156machine_routines.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
157mk_timer.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
158model_dep.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
159pcb.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
160pmap.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
161processor_core.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
162rtclock.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
163status.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
164telemetry.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
165vm_init.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
166vm_kern.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
167vm_object.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
168vm_shared_region_pager.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
169vm_swapfile_pager.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
170vm_user.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
171# -Wno-sign-conversion
172Diagnostics.o_CWARNFLAGS_ADD += -Wno-sign-conversion
173acpi.o_CWARNFLAGS_ADD += -Wno-sign-conversion
174action.o_CWARNFLAGS_ADD += -Wno-sign-conversion
175affinity.o_CWARNFLAGS_ADD += -Wno-sign-conversion
176alternate_debugger.o_CWARNFLAGS_ADD += -Wno-sign-conversion
177arcade.o_CWARNFLAGS_ADD += -Wno-sign-conversion
178arm_init.o_CWARNFLAGS_ADD += -Wno-sign-conversion
179arm_timer.o_CWARNFLAGS_ADD += -Wno-sign-conversion
180arm_vm_init.o_CWARNFLAGS_ADD += -Wno-sign-conversion
181ast.o_CWARNFLAGS_ADD += -Wno-sign-conversion
182backtrace.o_CWARNFLAGS_ADD += -Wno-sign-conversion
183bank.o_CWARNFLAGS_ADD += -Wno-sign-conversion
184bitmap_test.o_CWARNFLAGS_ADD += -Wno-sign-conversion
185bsd_arm64.o_CWARNFLAGS_ADD += -Wno-sign-conversion
186bsd_i386.o_CWARNFLAGS_ADD += -Wno-sign-conversion
187bsd_i386_native.o_CWARNFLAGS_ADD += -Wno-sign-conversion
188bsd_kern.o_CWARNFLAGS_ADD += -Wno-sign-conversion
189bsd_vm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
190btlog.o_CWARNFLAGS_ADD += -Wno-sign-conversion
191caches.o_CWARNFLAGS_ADD += -Wno-sign-conversion
192callstack.o_CWARNFLAGS_ADD += -Wno-sign-conversion
193ccdrbg_nisthmac.o_CWARNFLAGS_ADD += -Wno-sign-conversion
194cchmac.o_CWARNFLAGS_ADD += -Wno-sign-conversion
195cchmac_final.o_CWARNFLAGS_ADD += -Wno-sign-conversion
196cchmac_init.o_CWARNFLAGS_ADD += -Wno-sign-conversion
197clock.o_CWARNFLAGS_ADD += -Wno-sign-conversion
198clock_oldops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
199coalition.o_CWARNFLAGS_ADD += -Wno-sign-conversion
200commpage.o_CWARNFLAGS_ADD += -Wno-sign-conversion
201copyio.o_CWARNFLAGS_ADD += -Wno-sign-conversion
202corpse.o_CWARNFLAGS_ADD += -Wno-sign-conversion
203cpu.o_CWARNFLAGS_ADD += -Wno-sign-conversion
204cpu_common.o_CWARNFLAGS_ADD += -Wno-sign-conversion
205cpu_quiesce.o_CWARNFLAGS_ADD += -Wno-sign-conversion
206cpu_threads.o_CWARNFLAGS_ADD += -Wno-sign-conversion
207cpu_topology.o_CWARNFLAGS_ADD += -Wno-sign-conversion
208cpuid.o_CWARNFLAGS_ADD += -Wno-sign-conversion
209dbgwrap.o_CWARNFLAGS_ADD += -Wno-sign-conversion
210debug.o_CWARNFLAGS_ADD += -Wno-sign-conversion
211ecc_logging.o_CWARNFLAGS_ADD += -Wno-sign-conversion
212entropy.o_CWARNFLAGS_ADD += -Wno-sign-conversion
213exception.o_CWARNFLAGS_ADD += -Wno-sign-conversion
214fpu.o_CWARNFLAGS_ADD += -Wno-sign-conversion
215gzalloc.o_CWARNFLAGS_ADD += -Wno-sign-conversion
216host.o_CWARNFLAGS_ADD += -Wno-sign-conversion
217host_notify.o_CWARNFLAGS_ADD += -Wno-sign-conversion
218hv.o_CWARNFLAGS_ADD += -Wno-sign-conversion
219i386_init.o_CWARNFLAGS_ADD += -Wno-sign-conversion
220i386_timer.o_CWARNFLAGS_ADD += -Wno-sign-conversion
221i386_vm_init.o_CWARNFLAGS_ADD += -Wno-sign-conversion
222iokit_rpc.o_CWARNFLAGS_ADD += -Wno-sign-conversion
223ipc_eventlink.o_CWARNFLAGS_ADD += -Wno-sign-conversion
224ipc_host.o_CWARNFLAGS_ADD += -Wno-sign-conversion
225ipc_importance.o_CWARNFLAGS_ADD += -Wno-sign-conversion
226ipc_init.o_CWARNFLAGS_ADD += -Wno-sign-conversion
227ipc_kmsg.o_CWARNFLAGS_ADD += -Wno-sign-conversion
228ipc_kobject.o_CWARNFLAGS_ADD += -Wno-sign-conversion
229ipc_mqueue.o_CWARNFLAGS_ADD += -Wno-sign-conversion
230ipc_object.o_CWARNFLAGS_ADD += -Wno-sign-conversion
231ipc_port.o_CWARNFLAGS_ADD += -Wno-sign-conversion
232ipc_pset.o_CWARNFLAGS_ADD += -Wno-sign-conversion
233ipc_right.o_CWARNFLAGS_ADD += -Wno-sign-conversion
234ipc_space.o_CWARNFLAGS_ADD += -Wno-sign-conversion
235ipc_tt.o_CWARNFLAGS_ADD += -Wno-sign-conversion
236ipc_voucher.o_CWARNFLAGS_ADD += -Wno-sign-conversion
237kalloc.o_CWARNFLAGS_ADD += -Wno-sign-conversion
238kdp.o_CWARNFLAGS_ADD += -Wno-sign-conversion
239kdp_core.o_CWARNFLAGS_ADD += -Wno-sign-conversion
240kdp_machdep.o_CWARNFLAGS_ADD += -Wno-sign-conversion
241kdp_serial.o_CWARNFLAGS_ADD += -Wno-sign-conversion
242kdp_vm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
243kern_monotonic.o_CWARNFLAGS_ADD += -Wno-sign-conversion
244kern_stackshot.o_CWARNFLAGS_ADD += -Wno-sign-conversion
245kernel_tests.o_CWARNFLAGS_ADD += -Wno-sign-conversion
246kext_alloc.o_CWARNFLAGS_ADD += -Wno-sign-conversion
247kpc.o_CWARNFLAGS_ADD += -Wno-sign-conversion
248kpc_arm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
249kpc_common.o_CWARNFLAGS_ADD += -Wno-sign-conversion
250kpc_x86.o_CWARNFLAGS_ADD += -Wno-sign-conversion
251kperf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
252kperf_kpc.o_CWARNFLAGS_ADD += -Wno-sign-conversion
253kperf_mp.o_CWARNFLAGS_ADD += -Wno-sign-conversion
254kperf_timer.o_CWARNFLAGS_ADD += -Wno-sign-conversion
255kperfbsd.o_CWARNFLAGS_ADD += -Wno-sign-conversion
256ktest_emit.o_CWARNFLAGS_ADD += -Wno-sign-conversion
257lapic_native.o_CWARNFLAGS_ADD += -Wno-sign-conversion
258lazy.o_CWARNFLAGS_ADD += -Wno-sign-conversion
259ledger.o_CWARNFLAGS_ADD += -Wno-sign-conversion
260locks.o_CWARNFLAGS_ADD += -Wno-sign-conversion
261locks_arm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
262locks_i386.o_CWARNFLAGS_ADD += -Wno-sign-conversion
263locks_i386_opt.o_CWARNFLAGS_ADD += -Wno-sign-conversion
264loose_ends.o_CWARNFLAGS_ADD += -Wno-sign-conversion
265lowmem_vectors.o_CWARNFLAGS_ADD += -Wno-sign-conversion
266lz4.o_CWARNFLAGS_ADD += -Wno-sign-conversion
267mach_debug.o_CWARNFLAGS_ADD += -Wno-sign-conversion
268mach_kernelrpc.o_CWARNFLAGS_ADD += -Wno-sign-conversion
269mach_port.o_CWARNFLAGS_ADD += -Wno-sign-conversion
270machdep_call.o_CWARNFLAGS_ADD += -Wno-sign-conversion
271machine.o_CWARNFLAGS_ADD += -Wno-sign-conversion
272machine_check.o_CWARNFLAGS_ADD += -Wno-sign-conversion
273machine_remote_time.o_CWARNFLAGS_ADD += -Wno-sign-conversion
274machine_routines.o_CWARNFLAGS_ADD += -Wno-sign-conversion
275machine_routines_common.o_CWARNFLAGS_ADD += -Wno-sign-conversion
276machine_task.o_CWARNFLAGS_ADD += -Wno-sign-conversion
277meminfo.o_CWARNFLAGS_ADD += -Wno-sign-conversion
278memory_object.o_CWARNFLAGS_ADD += -Wno-sign-conversion
279mk_sp.o_CWARNFLAGS_ADD += -Wno-sign-conversion
280mk_timer.o_CWARNFLAGS_ADD += -Wno-sign-conversion
281model_dep.o_CWARNFLAGS_ADD += -Wno-sign-conversion
282monotonic_arm64.o_CWARNFLAGS_ADD += -Wno-sign-conversion
283monotonic_x86_64.o_CWARNFLAGS_ADD += -Wno-sign-conversion
284mp.o_CWARNFLAGS_ADD += -Wno-sign-conversion
285mp_desc.o_CWARNFLAGS_ADD += -Wno-sign-conversion
286mp_native.o_CWARNFLAGS_ADD += -Wno-sign-conversion
287mpsc_queue.o_CWARNFLAGS_ADD += -Wno-sign-conversion
288mtrr.o_CWARNFLAGS_ADD += -Wno-sign-conversion
289pal_routines.o_CWARNFLAGS_ADD += -Wno-sign-conversion
290pcb.o_CWARNFLAGS_ADD += -Wno-sign-conversion
291pcb_native.o_CWARNFLAGS_ADD += -Wno-sign-conversion
292pet.o_CWARNFLAGS_ADD += -Wno-sign-conversion
293platform_tests.o_CWARNFLAGS_ADD += -Wno-sign-conversion
294pmCPU.o_CWARNFLAGS_ADD += -Wno-sign-conversion
295pmap.o_CWARNFLAGS_ADD += -Wno-sign-conversion
296pmap_common.o_CWARNFLAGS_ADD += -Wno-sign-conversion
297pmap_pcid.o_CWARNFLAGS_ADD += -Wno-sign-conversion
298pmap_tests.o_CWARNFLAGS_ADD += -Wno-sign-conversion
299pmap_x86_common.o_CWARNFLAGS_ADD += -Wno-sign-conversion
300printf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
301priority.o_CWARNFLAGS_ADD += -Wno-sign-conversion
302prng_random.o_CWARNFLAGS_ADD += -Wno-sign-conversion
303processor.o_CWARNFLAGS_ADD += -Wno-sign-conversion
304remote_time.o_CWARNFLAGS_ADD += -Wno-sign-conversion
305rtclock.o_CWARNFLAGS_ADD += -Wno-sign-conversion
306sart.o_CWARNFLAGS_ADD += -Wno-sign-conversion
307sched_amp.o_CWARNFLAGS_ADD += -Wno-sign-conversion
308sched_amp_common.o_CWARNFLAGS_ADD += -Wno-sign-conversion
309sched_average.o_CWARNFLAGS_ADD += -Wno-sign-conversion
310sched_clutch.o_CWARNFLAGS_ADD += -Wno-sign-conversion
311sched_dualq.o_CWARNFLAGS_ADD += -Wno-sign-conversion
312sched_multiq.o_CWARNFLAGS_ADD += -Wno-sign-conversion
313sched_prim.o_CWARNFLAGS_ADD += -Wno-sign-conversion
314sched_traditional.o_CWARNFLAGS_ADD += -Wno-sign-conversion
315serial_console.o_CWARNFLAGS_ADD += -Wno-sign-conversion
316serial_general.o_CWARNFLAGS_ADD += -Wno-sign-conversion
317sfi.o_CWARNFLAGS_ADD += -Wno-sign-conversion
318shart.o_CWARNFLAGS_ADD += -Wno-sign-conversion
319sleh.o_CWARNFLAGS_ADD += -Wno-sign-conversion
320stack.o_CWARNFLAGS_ADD += -Wno-sign-conversion
321startup.o_CWARNFLAGS_ADD += -Wno-sign-conversion
322status.o_CWARNFLAGS_ADD += -Wno-sign-conversion
323status_shared.o_CWARNFLAGS_ADD += -Wno-sign-conversion
324subrs.o_CWARNFLAGS_ADD += -Wno-sign-conversion
325sync_sema.o_CWARNFLAGS_ADD += -Wno-sign-conversion
326syscall_subr.o_CWARNFLAGS_ADD += -Wno-sign-conversion
327t8020dart.o_CWARNFLAGS_ADD += -Wno-sign-conversion
328task.o_CWARNFLAGS_ADD += -Wno-sign-conversion
329task_policy.o_CWARNFLAGS_ADD += -Wno-sign-conversion
330telemetry.o_CWARNFLAGS_ADD += -Wno-sign-conversion
331test_lock.o_CWARNFLAGS_ADD += -Wno-sign-conversion
332test_thread_call.o_CWARNFLAGS_ADD += -Wno-sign-conversion
333thread_call.o_CWARNFLAGS_ADD += -Wno-sign-conversion
334thread_group.o_CWARNFLAGS_ADD += -Wno-sign-conversion
335thread_policy.o_CWARNFLAGS_ADD += -Wno-sign-conversion
336timer_call.o_CWARNFLAGS_ADD += -Wno-sign-conversion
337trap.o_CWARNFLAGS_ADD += -Wno-sign-conversion
338trustcache.o_CWARNFLAGS_ADD += -Wno-sign-conversion
339turnstile.o_CWARNFLAGS_ADD += -Wno-sign-conversion
340uat.o_CWARNFLAGS_ADD += -Wno-sign-conversion
341ucode.o_CWARNFLAGS_ADD += -Wno-sign-conversion
342ux_handler.o_CWARNFLAGS_ADD += -Wno-sign-conversion
343vfp_state_test.o_CWARNFLAGS_ADD += -Wno-sign-conversion
344video_console.o_CWARNFLAGS_ADD += -Wno-sign-conversion
345video_scroll.o_CWARNFLAGS_ADD += -Wno-sign-conversion
346vm32_user.o_CWARNFLAGS_ADD += -Wno-sign-conversion
347vm_compressor.o_CWARNFLAGS_ADD += -Wno-sign-conversion
348vm_compressor_algorithms.o_CWARNFLAGS_ADD += -Wno-sign-conversion
349vm_compressor_backing_store.o_CWARNFLAGS_ADD += -Wno-sign-conversion
350vm_compressor_pager.o_CWARNFLAGS_ADD += -Wno-sign-conversion
351vm_fault.o_CWARNFLAGS_ADD += -Wno-sign-conversion
352vm_fourk_pager.o_CWARNFLAGS_ADD += -Wno-sign-conversion
353vm_kern.o_CWARNFLAGS_ADD += -Wno-sign-conversion
354vm_map.o_CWARNFLAGS_ADD += -Wno-sign-conversion
355vm_map_store_ll.o_CWARNFLAGS_ADD += -Wno-sign-conversion
356vm_map_store_rb.o_CWARNFLAGS_ADD += -Wno-sign-conversion
357vm_object.o_CWARNFLAGS_ADD += -Wno-sign-conversion
358vm_pageout.o_CWARNFLAGS_ADD += -Wno-sign-conversion
359vm_phantom_cache.o_CWARNFLAGS_ADD += -Wno-sign-conversion
360vm_purgeable.o_CWARNFLAGS_ADD += -Wno-sign-conversion
361vm_resident.o_CWARNFLAGS_ADD += -Wno-sign-conversion
362vm_shared_region.o_CWARNFLAGS_ADD += -Wno-sign-conversion
363vm_user.o_CWARNFLAGS_ADD += -Wno-sign-conversion
364vmx_cpu.o_CWARNFLAGS_ADD += -Wno-sign-conversion
365waitq.o_CWARNFLAGS_ADD += -Wno-sign-conversion
366work_interval.o_CWARNFLAGS_ADD += -Wno-sign-conversion
367xcpm_dvfs.o_CWARNFLAGS_ADD += -Wno-sign-conversion
368xcpm_fi.o_CWARNFLAGS_ADD += -Wno-sign-conversion
369xcpm_idle.o_CWARNFLAGS_ADD += -Wno-sign-conversion
370xcpm_ioctl.o_CWARNFLAGS_ADD += -Wno-sign-conversion
371
372# Rebuild if per-file overrides change
373${OBJS}: $(firstword $(MAKEFILE_LIST))
374
375# Rebuild if global compile flags change
376$(COBJS): .CFLAGS
377.CFLAGS: ALWAYS
378	$(_v)$(REPLACECONTENTS) $@ $(KCC) $(CFLAGS) $(INCFLAGS)
379$(CXXOBJS): .CXXFLAGS
380.CXXFLAGS: ALWAYS
381	$(_v)$(REPLACECONTENTS) $@ $(KC++) $(CXXFLAGS) $(INCFLAGS)
382$(SOBJS): .SFLAGS
383.SFLAGS: ALWAYS
384	$(_v)$(REPLACECONTENTS) $@ $(S_KCC) $(SFLAGS) $(INCFLAGS)
385
386$(COMPONENT).filelist: $(OBJS)
387	$(_v)for hib_file in ${HIB_FILES};		\
388	do	\
389                $(SEG_HACK) -n __HIB -o $${hib_file}__ $${hib_file} || exit 1; \
390                mv $${hib_file}__ $${hib_file} || exit 1; \
391	done
392	@$(LOG_LDFILELIST) "$(COMPONENT)"
393	$(_v)for obj in ${OBJS}; do	\
394		 $(ECHO) $(TARGET)/$(CURRENT_KERNEL_CONFIG)/$${obj}; \
395	done > $(COMPONENT).filelist
396
397$(COMPONENT).libfilelist: $(LIBOBJS)
398	@$(LOG_LDFILELIST) "lib$(COMPONENT)"
399	$(_v)for obj in ${LIBOBJS}; do	\
400		 $(ECHO) $(TARGET)/$(CURRENT_KERNEL_CONFIG)/$${obj}; \
401	done > $(COMPONENT).libfilelist
402
403ifeq ($(RC_ProjectName),xnu_libraries)
404do_all: $(COMPONENT).libfilelist
405else
406do_all: $(COMPONENT).filelist
407endif
408
409do_build_all:: do_all
410
411# genassym.o actually is an assembly file,
412# we name it genassym.o to help with the automatic
413# dependency generation
414
415GENASSYM_LOCATION = $(CURRENT_ARCH_CONFIG_LC)
416
417ifeq ($(CURRENT_ARCH_CONFIG_LC),x86_64)
418GENASSYM_LOCATION = i386
419else ifeq ($(CURRENT_ARCH_CONFIG_LC),x86_64h)
420GENASSYM_LOCATION = i386
421endif
422
423-include genassym.d
424genassym.o: .CFLAGS $(firstword $(MAKEFILE_LIST))
425genassym.o: $(SOURCE_DIR)/$(COMPONENT)/$(GENASSYM_LOCATION)/genassym.c
426	@$(LOG_GENASSYM) "$<"
427	$(_v)${GENASSYM_KCC} ${CFLAGS} ${CFLAGS_NOLTO_FLAG} -fno-integrated-as -MD -S -o ${@} ${INCFLAGS} $<
428
429assym.s: genassym.o
430	$(_v)sed -e '/^[[:space:]]*DEFINITION__define__/!d;{N;s/\n//;}' -e 's/^[[:space:]]*DEFINITION__define__\([^:]*\):.*ascii.*\"[\$$]*\([-0-9\#]*\)\".*$$/#define \1 \2/' -e 'p'  -e 's/#//2' -e 's/^[[:space:]]*#define \([A-Za-z0-9_]*\)[[:space:]]*[\$$#]*\([-0-9]*\).*$$/#define \1_NUM \2/' genassym.o > $@
431
432${SOBJS}: assym.s
433
434%RULES
435
436include $(MakeInc_rule)
437include $(MakeInc_dir)
438