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