xref: /xnu-11417.140.69/bsd/conf/Makefile.template (revision 43a90889846e00bfb5cf1d255cdc0a701a1e05a4)
1#
2# Copyright (c) 2000-2020 Apple Inc. All rights reserved.
3#
4# @APPLE_LICENSE_HEADER_START@
5#
6# The contents of this file constitute Original Code as defined in and
7# are subject to the Apple Public Source License Version 1.1 (the
8# "License").  You may not use this file except in compliance with the
9# License.  Please obtain a copy of the License at
10# http://www.apple.com/publicsource and read it before using this file.
11#
12# This Original Code and all software distributed under the License are
13# distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14# EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16# FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
17# License for the specific language governing rights and limitations
18# under the License.
19#
20# @APPLE_LICENSE_HEADER_END@
21#
22
23#
24# Mach Operating System
25# Copyright (c) 1986 Carnegie-Mellon University
26# All rights reserved.  The CMU software License Agreement specifies
27# the terms and conditions for use and redistribution.
28#
29
30export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd
31export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def
32export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule
33export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir
34
35include $(MakeInc_cmd)
36include $(MakeInc_def)
37
38#
39# XXX: CFLAGS
40#
41CFLAGS+= -include meta_features.h -DDRIVER_PRIVATE \
42	-D_KERNEL_BUILD -DKERNEL_BUILD -DMACH_KERNEL -DBSD_BUILD \
43	-DBSD_KERNEL_PRIVATE \
44        -Warray-bounds-pointer-arithmetic
45SFLAGS+= -include meta_features.h
46
47#
48# Directories for mig generated files
49#
50COMP_SUBDIRS =
51
52#
53#  Make sure we don't remove this by accident if interrupted at the wrong
54#  time.
55#
56.PRECIOUS: Makefile
57
58#
59#  Theses macros are filled in by the config program depending on the
60#  current configuration.  The MACHDEP macro is replaced by the
61#  contents of the machine dependent makefile template and the others
62#  are replaced by the corresponding symbol definitions for the
63#  configuration.
64#
65
66%OBJS
67
68%LIBOBJS
69
70%CFILES
71
72%CXXFILES
73
74%SFILES
75
76%MACHDEP
77
78tcp_cubic.o_CWARNFLAGS_ADD += -Wno-error=implicit-int-float-conversion
79
80#
81# Enforce semantic types
82#
83
84SEMANTIC_TYPES_SRC = $(notdir $(wildcard ${SRCROOT}/bsd/vm/*.c))
85SEMANTIC_TYPES_OBJ = $(SEMANTIC_TYPES_SRC:.c=.o)
86
87define FORCE_UNSAFE_TYPES
88$1_CFLAGS_ADD += -DVM_UNSAFE_TYPES
89endef
90
91$(foreach file,$(SEMANTIC_TYPES_OBJ),$(eval $(call FORCE_UNSAFE_TYPES, $(file))))
92kern_mman.o_CFLAGS_ADD += -DVM_UNSAFE_TYPES
93
94#
95# Diagnostic opt-outs.  We need to make this list empty.
96#
97# DO NOT ADD MORE HERE.
98#
99# -Wno-address-of-packed-member
100ah_core.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
101ah_input.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
102dlil.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
103dlil_subr.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
104esp_input.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
105esp_output.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
106frag6.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
107icmp6.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
108if_bridge.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
109if_ipsec.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
110if_ports_used.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
111if_stf.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
112in6_cksum.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
113in6_gif.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
114ip6_forward.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
115ip6_input.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
116ip6_output.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
117ipsec.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
118iptap.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
119mld6.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
120mptcp_opt.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
121nd6.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
122nd6_nbr.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
123nd6_prproxy.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
124nd6_rtr.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
125necp.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
126packet_mangler.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
127pf_ioctl.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
128pf_norm.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
129pktap.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
130raw_ip6.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
131tcp_input.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
132tcp_subr.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
133udp6_output.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
134udp6_usrreq.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
135udp_usrreq.o_CWARNFLAGS_ADD += -Wno-address-of-packed-member
136# -Wno-cast-align
137audit_bsm_token.o_CWARNFLAGS_ADD += -Wno-cast-align
138audit_pipe.o_CWARNFLAGS_ADD += -Wno-cast-align
139audit_session.o_CWARNFLAGS_ADD += -Wno-cast-align
140bind_vnops.o_CWARNFLAGS_ADD += -Wno-cast-align
141dtrace.o_CWARNFLAGS_ADD += -Wno-cast-align
142fasttrap.o_CWARNFLAGS_ADD += -Wno-cast-align
143fasttrap_isa.o_CWARNFLAGS_ADD += -Wno-cast-align
144fbt.o_CWARNFLAGS_ADD += -Wno-cast-align
145fbt_arm.o_CWARNFLAGS_ADD += -Wno-cast-align
146fbt_x86.o_CWARNFLAGS_ADD += -Wno-cast-align
147if_bridge.o_CWARNFLAGS_ADD += -Wno-cast-align
148if_bond.o_CWARNFLAGS_ADD += -Wno-cast-align
149ip_dummynet.o_CWARNFLAGS_ADD += -Wno-cast-align
150kern_credential.o_CWARNFLAGS_ADD += -Wno-cast-align
151kern_descrip.o_CWARNFLAGS_ADD += -Wno-cast-align
152kern_event.o_CWARNFLAGS_ADD += -Wno-cast-align
153kern_exec.o_CWARNFLAGS_ADD += -Wno-cast-align
154kern_guarded.o_CWARNFLAGS_ADD += -Wno-cast-align
155kern_lockf.o_CWARNFLAGS_ADD += -Wno-cast-align
156kern_subr.o_CWARNFLAGS_ADD += -Wno-cast-align
157km.o_CWARNFLAGS_ADD += -Wno-cast-align
158mach_loader.o_CWARNFLAGS_ADD += -Wno-cast-align
159memdev.o_CWARNFLAGS_ADD += -Wno-cast-align
160munge.o_CWARNFLAGS_ADD += -Wno-cast-align
161nfs_gss.o_CWARNFLAGS_ADD += -Wno-cast-align
162nfs_serv.o_CWARNFLAGS_ADD += -Wno-cast-align
163nfs_socket.o_CWARNFLAGS_ADD += -Wno-cast-align
164nfs_srvcache.o_CWARNFLAGS_ADD += -Wno-cast-align
165nfs_subs.o_CWARNFLAGS_ADD += -Wno-cast-align
166nfs_syscalls.o_CWARNFLAGS_ADD += -Wno-cast-align
167proc_info.o_CWARNFLAGS_ADD += -Wno-cast-align
168qsort.o_CWARNFLAGS_ADD += -Wno-cast-align
169sdt.o_CWARNFLAGS_ADD += -Wno-cast-align
170sdt_arm.o_CWARNFLAGS_ADD += -Wno-cast-align
171shadow.o_CWARNFLAGS_ADD += -Wno-cast-align
172spec_vnops.o_CWARNFLAGS_ADD += -Wno-cast-align
173subr_log.o_CWARNFLAGS_ADD += -Wno-cast-align
174sys_generic.o_CWARNFLAGS_ADD += -Wno-cast-align
175sys_pipe.o_CWARNFLAGS_ADD += -Wno-cast-align
176systemcalls.o_CWARNFLAGS_ADD += -Wno-cast-align
177systrace.o_CWARNFLAGS_ADD += -Wno-cast-align
178tty.o_CWARNFLAGS_ADD += -Wno-cast-align
179tty_compat.o_CWARNFLAGS_ADD += -Wno-cast-align
180tty_dev.o_CWARNFLAGS_ADD += -Wno-cast-align
181ubc_subr.o_CWARNFLAGS_ADD += -Wno-cast-align
182uipc_mbuf.o_CWARNFLAGS_ADD += -Wno-cast-align
183uipc_usrreq.o_CWARNFLAGS_ADD += -Wno-cast-align
184vfs_attrlist.o_CWARNFLAGS_ADD += -Wno-cast-align
185vfs_fsevents.o_CWARNFLAGS_ADD += -Wno-cast-align
186vfs_syscalls.o_CWARNFLAGS_ADD += -Wno-cast-align
187vfs_utfconv.o_CWARNFLAGS_ADD += -Wno-cast-align
188vfs_vnops.o_CWARNFLAGS_ADD += -Wno-cast-align
189vfs_xattr.o_CWARNFLAGS_ADD += -Wno-cast-align
190vn.o_CWARNFLAGS_ADD += -Wno-cast-align
191# -Wno-cast-qual
192dis_tables.o_CWARNFLAGS_ADD += -Wno-cast-qual
193# -Wno-format
194dlil.o_CWARNFLAGS_ADD += -Wno-format
195in_rmx.o_CWARNFLAGS_ADD += -Wno-format
196in6_rmx.o_CWARNFLAGS_ADD += -Wno-format
197route.o_CWARNFLAGS_ADD += -Wno-format
198# -Wno-format-extra-args
199dlil.o_CWARNFLAGS_ADD += -Wno-format-extra-args
200kpi_interface.o_CWARNFLAGS_ADD += -Wno-format-extra-args
201in_rmx.o_CWARNFLAGS_ADD += -Wno-format-extra-args
202in6_rmx.o_CWARNFLAGS_ADD += -Wno-format-extra-args
203route.o_CWARNFLAGS_ADD += -Wno-format-extra-args
204# -Wno-format-invalid-specifier
205dlil.o_CWARNFLAGS_ADD += -Wno-format-invalid-specifier
206in_rmx.o_CWARNFLAGS_ADD += -Wno-format-invalid-specifier
207in6_rmx.o_CWARNFLAGS_ADD += -Wno-format-invalid-specifier
208kpi_interface.o_CWARNFLAGS_ADD += -Wno-format-invalid-specifier
209route.o_CWARNFLAGS_ADD += -Wno-format-invalid-specifier
210# -Wno-implicit-int-conversion
211audit.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
212audit_bsm.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
213audit_bsm_errno.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
214audit_bsm_token.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
215audit_worker.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
216content_filter.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
217devfs_fdesc_support.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
218devfs_vnops.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
219dis_tables.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
220dtrace.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
221fasttrap.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
222fasttrap_isa.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
223fbt_arm.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
224flow_agg.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
225flowadv.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
226if_bond.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
227if_bridge.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
228if_fake.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
229if_stf.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
230if_utun.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
231if_vlan.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
232in6_gif.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
233in6_pcb.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
234in_gif.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
235km.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
236necp.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
237network_agent.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
238ntstat.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
239null_vnops.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
240pf.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
241pf_norm.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
242shadow.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
243skpc.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
244spec_vnops.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
245systemcalls.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
246systrace.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
247sysv_msg.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
248sysv_sem.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
249uipc_mbuf.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
250vfs_quota.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
251vsock_domain.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
252# -Wno-shorten-64-to-32
253audit_bsm.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
254audit_bsm_token.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
255audit_pipe.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
256audit_session.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
257audit_syscalls.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
258audit_worker.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
259bind_vnops.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
260devfs_fdesc_support.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
261devfs_tree.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
262devfs_vnops.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
263devtimer.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
264dis_tables.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
265doc_tombstone.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
266dtrace.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
267dtrace_ptss.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
268esp_chachapoly.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
269fasttrap.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
270fasttrap_isa.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
271if_bond.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
272if_bridge.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
273if_fake.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
274if_gif.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
275if_stf.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
276if_utun.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
277if_vlan.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
278in6_rmx.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
279in_rmx.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
280iptap.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
281kern_fork.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
282kern_malloc.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
283kern_overrides.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
284
285lockprof.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
286mem.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
287memdev.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
288nd6_rtr.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
289necp.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
290necp_client.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
291network_agent.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
292ntstat.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
293null_vnops.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
294pf.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
295pf_norm.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
296pf_pbuf.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
297profile_prvd.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
298profile_runtime.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
299sdt.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
300shadow.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
301skpc.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
302spec_vnops.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
303stubs.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
304systemcalls.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
305sysv_msg.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
306sysv_sem.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
307sysv_shm.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
308uipc_mbuf.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
309unix_signal.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
310ux_exception.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
311vfs_cluster.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
312vfs_quota.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
313vfs_subr.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
314vfs_support.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
315vn.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
316xcpm.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
317# -Wno-sign-compare
318dest6.o_CWARNFLAGS_ADD += -Wno-sign-compare
319dhcp_options.o_CWARNFLAGS_ADD += -Wno-sign-compare
320esp_chachapoly.o_CWARNFLAGS_ADD += -Wno-sign-compare
321frag6.o_CWARNFLAGS_ADD += -Wno-sign-compare
322in6.o_CWARNFLAGS_ADD += -Wno-sign-compare
323in6_cksum.o_CWARNFLAGS_ADD += -Wno-sign-compare
324in6_proto.o_CWARNFLAGS_ADD += -Wno-sign-compare
325radix.o_CWARNFLAGS_ADD += -Wno-sign-compare
326route6.o_CWARNFLAGS_ADD += -Wno-sign-compare
327scope6.o_CWARNFLAGS_ADD += -Wno-sign-compare
328uipc_mbuf.o_CWARNFLAGS_ADD += -Wno-sign-compare
329# -Wno-sign-conversion
330audit.o_CWARNFLAGS_ADD += -Wno-sign-conversion
331audit_arg.o_CWARNFLAGS_ADD += -Wno-sign-conversion
332audit_bsd.o_CWARNFLAGS_ADD += -Wno-sign-conversion
333audit_bsm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
334audit_bsm_klib.o_CWARNFLAGS_ADD += -Wno-sign-conversion
335audit_bsm_token.o_CWARNFLAGS_ADD += -Wno-sign-conversion
336audit_mac.o_CWARNFLAGS_ADD += -Wno-sign-conversion
337audit_pipe.o_CWARNFLAGS_ADD += -Wno-sign-conversion
338audit_session.o_CWARNFLAGS_ADD += -Wno-sign-conversion
339audit_syscalls.o_CWARNFLAGS_ADD += -Wno-sign-conversion
340audit_worker.o_CWARNFLAGS_ADD += -Wno-sign-conversion
341bind_vfsops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
342bind_vnops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
343blist.o_CWARNFLAGS_ADD += -Wno-sign-conversion
344bpf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
345bsd_init.o_CWARNFLAGS_ADD += -Wno-sign-conversion
346bsd_stubs.o_CWARNFLAGS_ADD += -Wno-sign-conversion
347cbrtf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
348chunklist.o_CWARNFLAGS_ADD += -Wno-sign-conversion
349content_filter.o_CWARNFLAGS_ADD += -Wno-sign-conversion
350cpu_in_cksum_gen.o_CWARNFLAGS_ADD += -Wno-sign-conversion
351cuckoo_hashtable_test.o_CWARNFLAGS_ADD += -Wno-sign-conversion
352decmpfs.o_CWARNFLAGS_ADD += -Wno-sign-conversion
353dest6.o_CWARNFLAGS_ADD += -Wno-sign-conversion
354devfs_fdesc_support.o_CWARNFLAGS_ADD += -Wno-sign-conversion
355devfs_tree.o_CWARNFLAGS_ADD += -Wno-sign-conversion
356devfs_vfsops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
357devfs_vnops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
358devtimer.o_CWARNFLAGS_ADD += -Wno-sign-conversion
359dhcp_options.o_CWARNFLAGS_ADD += -Wno-sign-conversion
360dis_tables.o_CWARNFLAGS_ADD += -Wno-sign-conversion
361disassembler.o_CWARNFLAGS_ADD += -Wno-sign-conversion
362doc_tombstone.o_CWARNFLAGS_ADD += -Wno-sign-conversion
363dtrace.o_CWARNFLAGS_ADD += -Wno-sign-conversion
364dtrace_glue.o_CWARNFLAGS_ADD += -Wno-sign-conversion
365dtrace_isa.o_CWARNFLAGS_ADD += -Wno-sign-conversion
366dtrace_ptss.o_CWARNFLAGS_ADD += -Wno-sign-conversion
367dtrace_subr.o_CWARNFLAGS_ADD += -Wno-sign-conversion
368dtrace_subr_arm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
369ether_if_module.o_CWARNFLAGS_ADD += -Wno-sign-conversion
370ether_inet6_pr_module.o_CWARNFLAGS_ADD += -Wno-sign-conversion
371ether_inet_pr_module.o_CWARNFLAGS_ADD += -Wno-sign-conversion
372fasttrap.o_CWARNFLAGS_ADD += -Wno-sign-conversion
373fasttrap_isa.o_CWARNFLAGS_ADD += -Wno-sign-conversion
374fbt.o_CWARNFLAGS_ADD += -Wno-sign-conversion
375fbt_arm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
376fbt_x86.o_CWARNFLAGS_ADD += -Wno-sign-conversion
377fifo_vnops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
378flowhash.o_CWARNFLAGS_ADD += -Wno-sign-conversion
379frag6.o_CWARNFLAGS_ADD += -Wno-sign-conversion
380if.o_CWARNFLAGS_ADD += -Wno-sign-conversion
381if_bond.o_CWARNFLAGS_ADD += -Wno-sign-conversion
382if_bridge.o_CWARNFLAGS_ADD += -Wno-sign-conversion
383if_fake.o_CWARNFLAGS_ADD += -Wno-sign-conversion
384if_gif.o_CWARNFLAGS_ADD += -Wno-sign-conversion
385if_ipsec.o_CWARNFLAGS_ADD += -Wno-sign-conversion
386if_llatbl.o_CWARNFLAGS_ADD += -Wno-sign-conversion
387if_loop.o_CWARNFLAGS_ADD += -Wno-sign-conversion
388if_low_power_mode.o_CWARNFLAGS_ADD += -Wno-sign-conversion
389if_pflog.o_CWARNFLAGS_ADD += -Wno-sign-conversion
390if_stf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
391if_utun.o_CWARNFLAGS_ADD += -Wno-sign-conversion
392if_vlan.o_CWARNFLAGS_ADD += -Wno-sign-conversion
393imageboot.o_CWARNFLAGS_ADD += -Wno-sign-conversion
394in6.o_CWARNFLAGS_ADD += -Wno-sign-conversion
395in6_cga.o_CWARNFLAGS_ADD += -Wno-sign-conversion
396in6_cksum.o_CWARNFLAGS_ADD += -Wno-sign-conversion
397in6_gif.o_CWARNFLAGS_ADD += -Wno-sign-conversion
398in6_pcb.o_CWARNFLAGS_ADD += -Wno-sign-conversion
399in6_proto.o_CWARNFLAGS_ADD += -Wno-sign-conversion
400in6_rmx.o_CWARNFLAGS_ADD += -Wno-sign-conversion
401in_gif.o_CWARNFLAGS_ADD += -Wno-sign-conversion
402in_rmx.o_CWARNFLAGS_ADD += -Wno-sign-conversion
403instr_size.o_CWARNFLAGS_ADD += -Wno-sign-conversion
404ip6_forward.o_CWARNFLAGS_ADD += -Wno-sign-conversion
405ip6_id.o_CWARNFLAGS_ADD += -Wno-sign-conversion
406iptap.o_CWARNFLAGS_ADD += -Wno-sign-conversion
407kern_acct.o_CWARNFLAGS_ADD += -Wno-sign-conversion
408kern_authorization.o_CWARNFLAGS_ADD += -Wno-sign-conversion
409kern_clock.o_CWARNFLAGS_ADD += -Wno-sign-conversion
410kern_control.o_CWARNFLAGS_ADD += -Wno-sign-conversion
411kern_core.o_CWARNFLAGS_ADD += -Wno-sign-conversion
412kern_credential.o_CWARNFLAGS_ADD += -Wno-sign-conversion
413kern_cs.o_CWARNFLAGS_ADD += -Wno-sign-conversion
414kern_descrip.o_CWARNFLAGS_ADD += -Wno-sign-conversion
415kern_event.o_CWARNFLAGS_ADD += -Wno-sign-conversion
416kern_exit.o_CWARNFLAGS_ADD += -Wno-sign-conversion
417kern_fork.o_CWARNFLAGS_ADD += -Wno-sign-conversion
418kern_guarded.o_CWARNFLAGS_ADD += -Wno-sign-conversion
419kern_kpc.o_CWARNFLAGS_ADD += -Wno-sign-conversion
420kern_lockf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
421kern_malloc.o_CWARNFLAGS_ADD += -Wno-sign-conversion
422kern_memorystatus.o_CWARNFLAGS_ADD += -Wno-sign-conversion
423kern_memorystatus_freeze.o_CWARNFLAGS_ADD += -Wno-sign-conversion
424kern_memorystatus_notify.o_CWARNFLAGS_ADD += -Wno-sign-conversion
425kern_mib.o_CWARNFLAGS_ADD += -Wno-sign-conversion
426kern_mman.o_CWARNFLAGS_ADD += -Wno-sign-conversion
427kern_ntptime.o_CWARNFLAGS_ADD += -Wno-sign-conversion
428kern_overrides.o_CWARNFLAGS_ADD += -Wno-sign-conversion
429kern_persona.o_CWARNFLAGS_ADD += -Wno-sign-conversion
430kern_physio.o_CWARNFLAGS_ADD += -Wno-sign-conversion
431kern_proc.o_CWARNFLAGS_ADD += -Wno-sign-conversion
432kern_prot.o_CWARNFLAGS_ADD += -Wno-sign-conversion
433kern_resource.o_CWARNFLAGS_ADD += -Wno-sign-conversion
434kern_shutdown.o_CWARNFLAGS_ADD += -Wno-sign-conversion
435kern_sig.o_CWARNFLAGS_ADD += -Wno-sign-conversion
436kern_subr.o_CWARNFLAGS_ADD += -Wno-sign-conversion
437kern_symfile.o_CWARNFLAGS_ADD += -Wno-sign-conversion
438kern_synch.o_CWARNFLAGS_ADD += -Wno-sign-conversion
439kern_time.o_CWARNFLAGS_ADD += -Wno-sign-conversion
440km.o_CWARNFLAGS_ADD += -Wno-sign-conversion
441kpi_mbuf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
442kpi_protocol.o_CWARNFLAGS_ADD += -Wno-sign-conversion
443kpi_socketfilter.o_CWARNFLAGS_ADD += -Wno-sign-conversion
444kpi_vfs.o_CWARNFLAGS_ADD += -Wno-sign-conversion
445lockprof.o_CWARNFLAGS_ADD += -Wno-sign-conversion
446mach_loader.o_CWARNFLAGS_ADD += -Wno-sign-conversion
447mach_process.o_CWARNFLAGS_ADD += -Wno-sign-conversion
448mem.o_CWARNFLAGS_ADD += -Wno-sign-conversion
449memdev.o_CWARNFLAGS_ADD += -Wno-sign-conversion
450monotonic.o_CWARNFLAGS_ADD += -Wno-sign-conversion
451munge.o_CWARNFLAGS_ADD += -Wno-sign-conversion
452nd6_prproxy.o_CWARNFLAGS_ADD += -Wno-sign-conversion
453nd6_send.o_CWARNFLAGS_ADD += -Wno-sign-conversion
454necp.o_CWARNFLAGS_ADD += -Wno-sign-conversion
455necp_client.o_CWARNFLAGS_ADD += -Wno-sign-conversion
456netboot.o_CWARNFLAGS_ADD += -Wno-sign-conversion
457network_agent.o_CWARNFLAGS_ADD += -Wno-sign-conversion
458ntstat.o_CWARNFLAGS_ADD += -Wno-sign-conversion
459null_vfsops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
460null_vnops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
461packet_mangler.o_CWARNFLAGS_ADD += -Wno-sign-conversion
462pf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
463pf_norm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
464pf_pbuf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
465pf_table.o_CWARNFLAGS_ADD += -Wno-sign-conversion
466posix_sem.o_CWARNFLAGS_ADD += -Wno-sign-conversion
467posix_shm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
468process_policy.o_CWARNFLAGS_ADD += -Wno-sign-conversion
469profile_prvd.o_CWARNFLAGS_ADD += -Wno-sign-conversion
470profile_runtime.o_CWARNFLAGS_ADD += -Wno-sign-conversion
471radix.o_CWARNFLAGS_ADD += -Wno-sign-conversion
472randomdev.o_CWARNFLAGS_ADD += -Wno-sign-conversion
473route6.o_CWARNFLAGS_ADD += -Wno-sign-conversion
474routefs_ops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
475scope6.o_CWARNFLAGS_ADD += -Wno-sign-conversion
476sdt.o_CWARNFLAGS_ADD += -Wno-sign-conversion
477sdt_arm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
478sdt_x86.o_CWARNFLAGS_ADD += -Wno-sign-conversion
479shadow.o_CWARNFLAGS_ADD += -Wno-sign-conversion
480spec_vnops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
481subr_log.o_CWARNFLAGS_ADD += -Wno-sign-conversion
482subr_prf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
483sys_coalition.o_CWARNFLAGS_ADD += -Wno-sign-conversion
484sys_generic.o_CWARNFLAGS_ADD += -Wno-sign-conversion
485sys_pipe.o_CWARNFLAGS_ADD += -Wno-sign-conversion
486sys_reason.o_CWARNFLAGS_ADD += -Wno-sign-conversion
487sys_ulock.o_CWARNFLAGS_ADD += -Wno-sign-conversion
488systemcalls.o_CWARNFLAGS_ADD += -Wno-sign-conversion
489systrace.o_CWARNFLAGS_ADD += -Wno-sign-conversion
490sysv_msg.o_CWARNFLAGS_ADD += -Wno-sign-conversion
491sysv_sem.o_CWARNFLAGS_ADD += -Wno-sign-conversion
492sysv_shm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
493tcp_cc.o_CWARNFLAGS_ADD += -Wno-sign-conversion
494tcp_cubic.o_CWARNFLAGS_ADD += -Wno-sign-conversion
495ubc_subr.o_CWARNFLAGS_ADD += -Wno-sign-conversion
496uipc_mbuf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
497unix_signal.o_CWARNFLAGS_ADD += -Wno-sign-conversion
498unix_startup.o_CWARNFLAGS_ADD += -Wno-sign-conversion
499ux_exception.o_CWARNFLAGS_ADD += -Wno-sign-conversion
500vfs_attrlist.o_CWARNFLAGS_ADD += -Wno-sign-conversion
501vfs_bio.o_CWARNFLAGS_ADD += -Wno-sign-conversion
502vfs_cache.o_CWARNFLAGS_ADD += -Wno-sign-conversion
503vfs_cluster.o_CWARNFLAGS_ADD += -Wno-sign-conversion
504vfs_cprotect.o_CWARNFLAGS_ADD += -Wno-sign-conversion
505vfs_disk_conditioner.o_CWARNFLAGS_ADD += -Wno-sign-conversion
506vfs_fsevents.o_CWARNFLAGS_ADD += -Wno-sign-conversion
507vfs_fslog.o_CWARNFLAGS_ADD += -Wno-sign-conversion
508vfs_init.o_CWARNFLAGS_ADD += -Wno-sign-conversion
509vfs_lookup.o_CWARNFLAGS_ADD += -Wno-sign-conversion
510vfs_quota.o_CWARNFLAGS_ADD += -Wno-sign-conversion
511vfs_subr.o_CWARNFLAGS_ADD += -Wno-sign-conversion
512vfs_syscalls.o_CWARNFLAGS_ADD += -Wno-sign-conversion
513vfs_utfconv.o_CWARNFLAGS_ADD += -Wno-sign-conversion
514vfs_vnops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
515vfs_xattr.o_CWARNFLAGS_ADD += -Wno-sign-conversion
516vm_compressor_backing_file.o_CWARNFLAGS_ADD += -Wno-sign-conversion
517vm_unix.o_CWARNFLAGS_ADD += -Wno-sign-conversion
518vn.o_CWARNFLAGS_ADD += -Wno-sign-conversion
519vnode_pager.o_CWARNFLAGS_ADD += -Wno-sign-conversion
520# -Wconditional-uninitialized
521doc_tombstone.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
522kpi_vfs.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
523vfs_attrlist.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
524vfs_bio.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
525vfs_cache.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
526vfs_cluster.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
527vfs_conf.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
528vfs_cprotect.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
529vfs_disk_conditioner.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
530vfs_fsevents.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
531vfs_fslog.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
532vfs_init.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
533vfs_io_compression_stats.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
534vfs_lookup.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
535vfs_quota.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
536vfs_subr.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
537vfs_support.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
538vfs_syscalls.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
539vfs_unicode.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
540vfs_utfconf.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
541vfs_vnops.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
542vfs_xattr.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
543vnode_if.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
544# -Wxnu-typed-allocators
545kern_malloc.o_CWARNFLAGS_ADD += -Wno-xnu-typed-allocators
546# -Wno-vla
547ah_core.o_CWARNFLAGS_ADD += -Wno-vla
548bpf.o_CWARNFLAGS_ADD += -Wno-vla
549dtrace.o_CWARNFLAGS_ADD += -Wno-vla
550esp_rijndael.o_CWARNFLAGS_ADD += -Wno-vla
551kern_debug.o_CWARNFLAGS_ADD += -Wno-vla
552kern_exec.o_CWARNFLAGS_ADD += -Wno-vla
553kpi_socket.o_CWARNFLAGS_ADD += -Wno-vla
554monotonic.o_CWARNFLAGS_ADD += -Wno-vla
555necp.o_CWARNFLAGS_ADD += -Wno-vla
556ntstat.o_CWARNFLAGS_ADD += -Wno-vla
557sysv_sem.o_CWARNFLAGS_ADD += -Wno-vla
558# -Wno-enum-compare
559dlil_input.o_CWARNFLAGS_ADD += -Wno-enum-compare
560pktsched_netem.o_CWARNFLAGS_ADD += -Wno-enum-compare
561skmem_arena.o_CWARNFLAGS_ADD += -Wno-enum-compare
562skmem_region.o_CWARNFLAGS_ADD += -Wno-enum-compare
563flow_entry.o_CWARNFLAGS_ADD += -Wno-enum-compare
564flow_track.o_CWARNFLAGS_ADD += -Wno-enum-compare
565pbufpool.o_CWARNFLAGS_ADD += -Wno-enum-compare
566
567# In the case of PGO/coverage build, disable LTO for profile_runtime_data.
568# This is to prevent a global compiler_rt variable from being optimized out.
569ifneq (,$(filter 1,$(BUILD_PROFILE) $(BUILD_CODE_COVERAGE)))
570profile_runtime_data.o_CFLAGS_ADD += $(CFLAGS_NOLTO_FLAG)
571endif
572
573#
574# Machine-independent per-file flags
575#
576
577#
578# This rule insures that the subr_prof.c does NOT get compiled with
579# profiling. It implements mcount() and profiling it leads to recursion.
580#
581
582subr_prof.o_CFLAGS_RM = -pg
583
584# Rebuild if per-file overrides change
585${OBJS}: $(firstword $(MAKEFILE_LIST))
586
587# Rebuild if global compile flags change
588$(COBJS): .CFLAGS
589.CFLAGS: ALWAYS
590	$(_v)$(REPLACECONTENTS) $@ $(KCC) $(CFLAGS) $(INCFLAGS)
591$(CXXOBJS): .CXXFLAGS
592.CXXFLAGS: ALWAYS
593	$(_v)$(REPLACECONTENTS) $@ $(KC++) $(CXXFLAGS) $(INCFLAGS)
594$(SOBJS): .SFLAGS
595.SFLAGS: ALWAYS
596	$(_v)$(REPLACECONTENTS) $@ $(S_KCC) $(SFLAGS) $(INCFLAGS)
597
598$(COMPONENT).filelist: $(OBJS)
599	@$(LOG_LDFILELIST) $(COMPONENT)
600	$(_v)for obj in ${OBJS}; do	\
601		 $(ECHO) $(TARGET)/$(CURRENT_KERNEL_CONFIG)/$${obj}; \
602	done > $(COMPONENT).filelist
603
604$(COMPONENT).libfilelist: $(LIBOBJS)
605	@$(LOG_LDFILELIST) "lib$(COMPONENT)"
606	$(_v)for obj in ${LIBOBJS}; do	\
607		 $(ECHO) $(TARGET)/$(CURRENT_KERNEL_CONFIG)/$${obj}; \
608	done > $(COMPONENT).libfilelist
609
610MAKESYSCALLS = $(SRCROOT)/bsd/kern/makesyscalls.sh
611
612init_sysent.c: $(TARGET)/bsd.syscalls.master
613	@$(LOG_GENERATE) "$@$(Color0) from $(ColorF)$(<F)$(Color0)"
614	$(_v)$(MAKESYSCALLS) $< table > /dev/null
615
616syscalls.c: $(TARGET)/bsd.syscalls.master
617	@$(LOG_GENERATE) "$@$(Color0) from $(ColorF)$(<F)$(Color0)"
618	$(_v)$(MAKESYSCALLS) $< names > /dev/null
619
620audit_kevents.c: $(TARGET)/bsd.syscalls.master
621	@$(LOG_GENERATE) "$@$(Color0) from $(ColorF)$(<F)$(Color0)"
622	$(_v)$(MAKESYSCALLS) $< audit > /dev/null
623
624systrace_args.c: $(TARGET)/bsd.syscalls.master
625	@$(LOG_GENERATE) "$@$(Color0) from $(ColorF)$(<F)$(Color0)"
626	$(_v)$(MAKESYSCALLS) $< systrace > /dev/null
627
628ifeq ($(RC_ProjectName),xnu_libraries)
629do_all: $(COMPONENT).libfilelist
630else
631do_all: $(COMPONENT).filelist
632endif
633
634do_build_all:: do_all
635
636%RULES
637
638include $(MakeInc_rule)
639include $(MakeInc_dir)
640