xref: /xnu-12377.81.4/bsd/conf/Makefile.template (revision 043036a2b3718f7f0be807e2870f8f47d3fa0796)
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-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_mbuf_mcache.o_CWARNFLAGS_ADD += -Wno-cast-align
184uipc_usrreq.o_CWARNFLAGS_ADD += -Wno-cast-align
185vfs_attrlist.o_CWARNFLAGS_ADD += -Wno-cast-align
186vfs_fsevents.o_CWARNFLAGS_ADD += -Wno-cast-align
187vfs_syscalls.o_CWARNFLAGS_ADD += -Wno-cast-align
188vfs_utfconv.o_CWARNFLAGS_ADD += -Wno-cast-align
189vfs_vnops.o_CWARNFLAGS_ADD += -Wno-cast-align
190vfs_xattr.o_CWARNFLAGS_ADD += -Wno-cast-align
191vn.o_CWARNFLAGS_ADD += -Wno-cast-align
192# -Wno-cast-qual
193dis_tables.o_CWARNFLAGS_ADD += -Wno-cast-qual
194# -Wno-format
195dlil.o_CWARNFLAGS_ADD += -Wno-format
196in_rmx.o_CWARNFLAGS_ADD += -Wno-format
197in6_rmx.o_CWARNFLAGS_ADD += -Wno-format
198route.o_CWARNFLAGS_ADD += -Wno-format
199# -Wno-format-extra-args
200dlil.o_CWARNFLAGS_ADD += -Wno-format-extra-args
201kpi_interface.o_CWARNFLAGS_ADD += -Wno-format-extra-args
202in_rmx.o_CWARNFLAGS_ADD += -Wno-format-extra-args
203in6_rmx.o_CWARNFLAGS_ADD += -Wno-format-extra-args
204route.o_CWARNFLAGS_ADD += -Wno-format-extra-args
205# -Wno-format-invalid-specifier
206dlil.o_CWARNFLAGS_ADD += -Wno-format-invalid-specifier
207in_rmx.o_CWARNFLAGS_ADD += -Wno-format-invalid-specifier
208in6_rmx.o_CWARNFLAGS_ADD += -Wno-format-invalid-specifier
209kpi_interface.o_CWARNFLAGS_ADD += -Wno-format-invalid-specifier
210route.o_CWARNFLAGS_ADD += -Wno-format-invalid-specifier
211# -Wno-implicit-int-conversion
212audit.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
213audit_bsm.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
214audit_bsm_errno.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
215audit_bsm_token.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
216audit_worker.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
217content_filter.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
218devfs_fdesc_support.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
219devfs_vnops.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
220dis_tables.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
221dtrace.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
222fasttrap.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
223fasttrap_isa.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
224fbt_arm.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
225flow_agg.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
226flowadv.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
227if_bond.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
228if_bridge.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
229if_fake.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
230if_stf.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
231if_utun.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
232if_vlan.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
233in6_gif.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
234in6_pcb.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
235in_gif.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
236km.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
237necp.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
238network_agent.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
239ntstat.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
240null_vnops.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
241pf.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
242pf_norm.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
243shadow.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
244skpc.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
245spec_vnops.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
246systemcalls.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
247systrace.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
248sysv_msg.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
249sysv_sem.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
250uipc_mbuf.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
251uipc_mbuf_mcache.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
252vfs_quota.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
253vsock_domain.o_CWARNFLAGS_ADD += -Wno-implicit-int-conversion
254# -Wno-shorten-64-to-32
255audit_bsm.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
256audit_bsm_token.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
257audit_pipe.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
258audit_session.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
259audit_syscalls.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
260audit_worker.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
261bind_vnops.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
262devfs_fdesc_support.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
263devfs_tree.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
264devfs_vnops.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
265devtimer.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
266dis_tables.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
267doc_tombstone.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
268dtrace.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
269dtrace_ptss.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
270esp_chachapoly.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
271fasttrap.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
272fasttrap_isa.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
273if_bond.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
274if_bridge.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
275if_fake.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
276if_gif.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
277if_stf.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
278if_utun.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
279if_vlan.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
280in6_rmx.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
281in_rmx.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
282iptap.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
283kern_fork.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
284kern_malloc.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
285kern_overrides.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
286
287lockprof.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
288mem.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
289memdev.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
290nd6_rtr.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
291necp.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
292necp_client.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
293network_agent.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
294ntstat.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
295null_vnops.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
296pf.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
297pf_norm.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
298pf_pbuf.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
299profile_prvd.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
300profile_runtime.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
301sdt.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
302shadow.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
303skpc.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
304spec_vnops.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
305stubs.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
306systemcalls.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
307sysv_msg.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
308sysv_sem.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
309sysv_shm.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
310uipc_mbuf.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
311uipc_mbuf_mcache.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
312unix_signal.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
313ux_exception.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
314vfs_cluster.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
315vfs_quota.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
316vfs_subr.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
317vfs_support.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
318vn.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
319xcpm.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32
320# -Wno-sign-compare
321dest6.o_CWARNFLAGS_ADD += -Wno-sign-compare
322dhcp_options.o_CWARNFLAGS_ADD += -Wno-sign-compare
323esp_chachapoly.o_CWARNFLAGS_ADD += -Wno-sign-compare
324frag6.o_CWARNFLAGS_ADD += -Wno-sign-compare
325in6.o_CWARNFLAGS_ADD += -Wno-sign-compare
326in6_cksum.o_CWARNFLAGS_ADD += -Wno-sign-compare
327in6_proto.o_CWARNFLAGS_ADD += -Wno-sign-compare
328radix.o_CWARNFLAGS_ADD += -Wno-sign-compare
329route6.o_CWARNFLAGS_ADD += -Wno-sign-compare
330scope6.o_CWARNFLAGS_ADD += -Wno-sign-compare
331uipc_mbuf.o_CWARNFLAGS_ADD += -Wno-sign-compare
332uipc_mbuf_mcache.o_CWARNFLAGS_ADD += -Wno-sign-compare
333# -Wno-sign-conversion
334audit.o_CWARNFLAGS_ADD += -Wno-sign-conversion
335audit_arg.o_CWARNFLAGS_ADD += -Wno-sign-conversion
336audit_bsd.o_CWARNFLAGS_ADD += -Wno-sign-conversion
337audit_bsm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
338audit_bsm_klib.o_CWARNFLAGS_ADD += -Wno-sign-conversion
339audit_bsm_token.o_CWARNFLAGS_ADD += -Wno-sign-conversion
340audit_mac.o_CWARNFLAGS_ADD += -Wno-sign-conversion
341audit_pipe.o_CWARNFLAGS_ADD += -Wno-sign-conversion
342audit_session.o_CWARNFLAGS_ADD += -Wno-sign-conversion
343audit_syscalls.o_CWARNFLAGS_ADD += -Wno-sign-conversion
344audit_worker.o_CWARNFLAGS_ADD += -Wno-sign-conversion
345bind_vfsops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
346bind_vnops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
347blist.o_CWARNFLAGS_ADD += -Wno-sign-conversion
348bpf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
349bsd_init.o_CWARNFLAGS_ADD += -Wno-sign-conversion
350bsd_stubs.o_CWARNFLAGS_ADD += -Wno-sign-conversion
351cbrtf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
352chunklist.o_CWARNFLAGS_ADD += -Wno-sign-conversion
353content_filter.o_CWARNFLAGS_ADD += -Wno-sign-conversion
354cpu_in_cksum_gen.o_CWARNFLAGS_ADD += -Wno-sign-conversion
355cuckoo_hashtable_test.o_CWARNFLAGS_ADD += -Wno-sign-conversion
356decmpfs.o_CWARNFLAGS_ADD += -Wno-sign-conversion
357dest6.o_CWARNFLAGS_ADD += -Wno-sign-conversion
358devfs_fdesc_support.o_CWARNFLAGS_ADD += -Wno-sign-conversion
359devfs_tree.o_CWARNFLAGS_ADD += -Wno-sign-conversion
360devfs_vfsops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
361devfs_vnops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
362devtimer.o_CWARNFLAGS_ADD += -Wno-sign-conversion
363dhcp_options.o_CWARNFLAGS_ADD += -Wno-sign-conversion
364dis_tables.o_CWARNFLAGS_ADD += -Wno-sign-conversion
365disassembler.o_CWARNFLAGS_ADD += -Wno-sign-conversion
366doc_tombstone.o_CWARNFLAGS_ADD += -Wno-sign-conversion
367dtrace.o_CWARNFLAGS_ADD += -Wno-sign-conversion
368dtrace_glue.o_CWARNFLAGS_ADD += -Wno-sign-conversion
369dtrace_isa.o_CWARNFLAGS_ADD += -Wno-sign-conversion
370dtrace_ptss.o_CWARNFLAGS_ADD += -Wno-sign-conversion
371dtrace_subr.o_CWARNFLAGS_ADD += -Wno-sign-conversion
372dtrace_subr_arm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
373ether_if_module.o_CWARNFLAGS_ADD += -Wno-sign-conversion
374ether_inet6_pr_module.o_CWARNFLAGS_ADD += -Wno-sign-conversion
375ether_inet_pr_module.o_CWARNFLAGS_ADD += -Wno-sign-conversion
376fasttrap.o_CWARNFLAGS_ADD += -Wno-sign-conversion
377fasttrap_isa.o_CWARNFLAGS_ADD += -Wno-sign-conversion
378fbt.o_CWARNFLAGS_ADD += -Wno-sign-conversion
379fbt_arm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
380fbt_x86.o_CWARNFLAGS_ADD += -Wno-sign-conversion
381fifo_vnops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
382flowhash.o_CWARNFLAGS_ADD += -Wno-sign-conversion
383frag6.o_CWARNFLAGS_ADD += -Wno-sign-conversion
384if.o_CWARNFLAGS_ADD += -Wno-sign-conversion
385if_bond.o_CWARNFLAGS_ADD += -Wno-sign-conversion
386if_bridge.o_CWARNFLAGS_ADD += -Wno-sign-conversion
387if_fake.o_CWARNFLAGS_ADD += -Wno-sign-conversion
388if_gif.o_CWARNFLAGS_ADD += -Wno-sign-conversion
389if_ipsec.o_CWARNFLAGS_ADD += -Wno-sign-conversion
390if_llatbl.o_CWARNFLAGS_ADD += -Wno-sign-conversion
391if_loop.o_CWARNFLAGS_ADD += -Wno-sign-conversion
392if_low_power_mode.o_CWARNFLAGS_ADD += -Wno-sign-conversion
393if_pflog.o_CWARNFLAGS_ADD += -Wno-sign-conversion
394if_stf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
395if_utun.o_CWARNFLAGS_ADD += -Wno-sign-conversion
396if_vlan.o_CWARNFLAGS_ADD += -Wno-sign-conversion
397imageboot.o_CWARNFLAGS_ADD += -Wno-sign-conversion
398in6.o_CWARNFLAGS_ADD += -Wno-sign-conversion
399in6_cga.o_CWARNFLAGS_ADD += -Wno-sign-conversion
400in6_cksum.o_CWARNFLAGS_ADD += -Wno-sign-conversion
401in6_gif.o_CWARNFLAGS_ADD += -Wno-sign-conversion
402in6_pcb.o_CWARNFLAGS_ADD += -Wno-sign-conversion
403in6_proto.o_CWARNFLAGS_ADD += -Wno-sign-conversion
404in6_rmx.o_CWARNFLAGS_ADD += -Wno-sign-conversion
405in_gif.o_CWARNFLAGS_ADD += -Wno-sign-conversion
406in_rmx.o_CWARNFLAGS_ADD += -Wno-sign-conversion
407instr_size.o_CWARNFLAGS_ADD += -Wno-sign-conversion
408ip6_forward.o_CWARNFLAGS_ADD += -Wno-sign-conversion
409ip6_id.o_CWARNFLAGS_ADD += -Wno-sign-conversion
410iptap.o_CWARNFLAGS_ADD += -Wno-sign-conversion
411kern_acct.o_CWARNFLAGS_ADD += -Wno-sign-conversion
412kern_authorization.o_CWARNFLAGS_ADD += -Wno-sign-conversion
413kern_clock.o_CWARNFLAGS_ADD += -Wno-sign-conversion
414kern_control.o_CWARNFLAGS_ADD += -Wno-sign-conversion
415kern_core.o_CWARNFLAGS_ADD += -Wno-sign-conversion
416kern_credential.o_CWARNFLAGS_ADD += -Wno-sign-conversion
417kern_cs.o_CWARNFLAGS_ADD += -Wno-sign-conversion
418kern_descrip.o_CWARNFLAGS_ADD += -Wno-sign-conversion
419kern_event.o_CWARNFLAGS_ADD += -Wno-sign-conversion
420kern_exit.o_CWARNFLAGS_ADD += -Wno-sign-conversion
421kern_fork.o_CWARNFLAGS_ADD += -Wno-sign-conversion
422kern_guarded.o_CWARNFLAGS_ADD += -Wno-sign-conversion
423kern_kpc.o_CWARNFLAGS_ADD += -Wno-sign-conversion
424kern_lockf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
425kern_malloc.o_CWARNFLAGS_ADD += -Wno-sign-conversion
426kern_memorystatus.o_CWARNFLAGS_ADD += -Wno-sign-conversion
427kern_memorystatus_freeze.o_CWARNFLAGS_ADD += -Wno-sign-conversion
428kern_memorystatus_notify.o_CWARNFLAGS_ADD += -Wno-sign-conversion
429kern_mib.o_CWARNFLAGS_ADD += -Wno-sign-conversion
430kern_mman.o_CWARNFLAGS_ADD += -Wno-sign-conversion
431kern_ntptime.o_CWARNFLAGS_ADD += -Wno-sign-conversion
432kern_overrides.o_CWARNFLAGS_ADD += -Wno-sign-conversion
433kern_persona.o_CWARNFLAGS_ADD += -Wno-sign-conversion
434kern_physio.o_CWARNFLAGS_ADD += -Wno-sign-conversion
435kern_proc.o_CWARNFLAGS_ADD += -Wno-sign-conversion
436kern_prot.o_CWARNFLAGS_ADD += -Wno-sign-conversion
437kern_resource.o_CWARNFLAGS_ADD += -Wno-sign-conversion
438kern_shutdown.o_CWARNFLAGS_ADD += -Wno-sign-conversion
439kern_sig.o_CWARNFLAGS_ADD += -Wno-sign-conversion
440kern_subr.o_CWARNFLAGS_ADD += -Wno-sign-conversion
441kern_symfile.o_CWARNFLAGS_ADD += -Wno-sign-conversion
442kern_synch.o_CWARNFLAGS_ADD += -Wno-sign-conversion
443kern_time.o_CWARNFLAGS_ADD += -Wno-sign-conversion
444km.o_CWARNFLAGS_ADD += -Wno-sign-conversion
445kpi_mbuf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
446kpi_protocol.o_CWARNFLAGS_ADD += -Wno-sign-conversion
447kpi_socketfilter.o_CWARNFLAGS_ADD += -Wno-sign-conversion
448kpi_vfs.o_CWARNFLAGS_ADD += -Wno-sign-conversion
449lockprof.o_CWARNFLAGS_ADD += -Wno-sign-conversion
450mach_loader.o_CWARNFLAGS_ADD += -Wno-sign-conversion
451mach_process.o_CWARNFLAGS_ADD += -Wno-sign-conversion
452mem.o_CWARNFLAGS_ADD += -Wno-sign-conversion
453memdev.o_CWARNFLAGS_ADD += -Wno-sign-conversion
454monotonic.o_CWARNFLAGS_ADD += -Wno-sign-conversion
455munge.o_CWARNFLAGS_ADD += -Wno-sign-conversion
456nd6_prproxy.o_CWARNFLAGS_ADD += -Wno-sign-conversion
457nd6_send.o_CWARNFLAGS_ADD += -Wno-sign-conversion
458necp.o_CWARNFLAGS_ADD += -Wno-sign-conversion
459necp_client.o_CWARNFLAGS_ADD += -Wno-sign-conversion
460netboot.o_CWARNFLAGS_ADD += -Wno-sign-conversion
461network_agent.o_CWARNFLAGS_ADD += -Wno-sign-conversion
462ntstat.o_CWARNFLAGS_ADD += -Wno-sign-conversion
463null_vfsops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
464null_vnops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
465packet_mangler.o_CWARNFLAGS_ADD += -Wno-sign-conversion
466pf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
467pf_norm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
468pf_pbuf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
469pf_table.o_CWARNFLAGS_ADD += -Wno-sign-conversion
470posix_sem.o_CWARNFLAGS_ADD += -Wno-sign-conversion
471posix_shm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
472process_policy.o_CWARNFLAGS_ADD += -Wno-sign-conversion
473profile_prvd.o_CWARNFLAGS_ADD += -Wno-sign-conversion
474profile_runtime.o_CWARNFLAGS_ADD += -Wno-sign-conversion
475radix.o_CWARNFLAGS_ADD += -Wno-sign-conversion
476randomdev.o_CWARNFLAGS_ADD += -Wno-sign-conversion
477route6.o_CWARNFLAGS_ADD += -Wno-sign-conversion
478routefs_ops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
479scope6.o_CWARNFLAGS_ADD += -Wno-sign-conversion
480sdt.o_CWARNFLAGS_ADD += -Wno-sign-conversion
481sdt_arm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
482sdt_x86.o_CWARNFLAGS_ADD += -Wno-sign-conversion
483shadow.o_CWARNFLAGS_ADD += -Wno-sign-conversion
484spec_vnops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
485subr_log.o_CWARNFLAGS_ADD += -Wno-sign-conversion
486subr_prf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
487sys_coalition.o_CWARNFLAGS_ADD += -Wno-sign-conversion
488sys_generic.o_CWARNFLAGS_ADD += -Wno-sign-conversion
489sys_pipe.o_CWARNFLAGS_ADD += -Wno-sign-conversion
490sys_reason.o_CWARNFLAGS_ADD += -Wno-sign-conversion
491sys_ulock.o_CWARNFLAGS_ADD += -Wno-sign-conversion
492systemcalls.o_CWARNFLAGS_ADD += -Wno-sign-conversion
493systrace.o_CWARNFLAGS_ADD += -Wno-sign-conversion
494sysv_msg.o_CWARNFLAGS_ADD += -Wno-sign-conversion
495sysv_sem.o_CWARNFLAGS_ADD += -Wno-sign-conversion
496sysv_shm.o_CWARNFLAGS_ADD += -Wno-sign-conversion
497tcp_cc.o_CWARNFLAGS_ADD += -Wno-sign-conversion
498tcp_cubic.o_CWARNFLAGS_ADD += -Wno-sign-conversion
499ubc_subr.o_CWARNFLAGS_ADD += -Wno-sign-conversion
500uipc_mbuf.o_CWARNFLAGS_ADD += -Wno-sign-conversion
501uipc_mbuf_mcache.o_CWARNFLAGS_ADD += -Wno-sign-conversion
502unix_signal.o_CWARNFLAGS_ADD += -Wno-sign-conversion
503unix_startup.o_CWARNFLAGS_ADD += -Wno-sign-conversion
504ux_exception.o_CWARNFLAGS_ADD += -Wno-sign-conversion
505vfs_attrlist.o_CWARNFLAGS_ADD += -Wno-sign-conversion
506vfs_bio.o_CWARNFLAGS_ADD += -Wno-sign-conversion
507vfs_cache.o_CWARNFLAGS_ADD += -Wno-sign-conversion
508vfs_cluster.o_CWARNFLAGS_ADD += -Wno-sign-conversion
509vfs_cprotect.o_CWARNFLAGS_ADD += -Wno-sign-conversion
510vfs_disk_conditioner.o_CWARNFLAGS_ADD += -Wno-sign-conversion
511vfs_fsevents.o_CWARNFLAGS_ADD += -Wno-sign-conversion
512vfs_fslog.o_CWARNFLAGS_ADD += -Wno-sign-conversion
513vfs_init.o_CWARNFLAGS_ADD += -Wno-sign-conversion
514vfs_lookup.o_CWARNFLAGS_ADD += -Wno-sign-conversion
515vfs_quota.o_CWARNFLAGS_ADD += -Wno-sign-conversion
516vfs_subr.o_CWARNFLAGS_ADD += -Wno-sign-conversion
517vfs_syscalls.o_CWARNFLAGS_ADD += -Wno-sign-conversion
518vfs_utfconv.o_CWARNFLAGS_ADD += -Wno-sign-conversion
519vfs_vnops.o_CWARNFLAGS_ADD += -Wno-sign-conversion
520vfs_xattr.o_CWARNFLAGS_ADD += -Wno-sign-conversion
521vm_compressor_backing_file.o_CWARNFLAGS_ADD += -Wno-sign-conversion
522vm_unix.o_CWARNFLAGS_ADD += -Wno-sign-conversion
523vn.o_CWARNFLAGS_ADD += -Wno-sign-conversion
524vnode_pager.o_CWARNFLAGS_ADD += -Wno-sign-conversion
525# -Wconditional-uninitialized
526doc_tombstone.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
527kpi_vfs.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
528vfs_attrlist.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
529vfs_bio.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
530vfs_cache.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
531vfs_cluster.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
532vfs_conf.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
533vfs_cprotect.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
534vfs_disk_conditioner.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
535vfs_fsevents.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
536vfs_fslog.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
537vfs_init.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
538vfs_io_compression_stats.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
539vfs_lookup.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
540vfs_quota.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
541vfs_subr.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
542vfs_support.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
543vfs_syscalls.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
544vfs_unicode.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
545vfs_utfconf.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
546vfs_vnops.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
547vfs_xattr.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
548vnode_if.o_CWARNFLAGS_ADD += -Wconditional-uninitialized
549# -Wxnu-typed-allocators
550kern_malloc.o_CWARNFLAGS_ADD += -Wno-xnu-typed-allocators
551# -Wno-vla
552ah_core.o_CWARNFLAGS_ADD += -Wno-vla
553bpf.o_CWARNFLAGS_ADD += -Wno-vla
554dtrace.o_CWARNFLAGS_ADD += -Wno-vla
555esp_rijndael.o_CWARNFLAGS_ADD += -Wno-vla
556kern_debug.o_CWARNFLAGS_ADD += -Wno-vla
557kern_exec.o_CWARNFLAGS_ADD += -Wno-vla
558kpi_socket.o_CWARNFLAGS_ADD += -Wno-vla
559monotonic.o_CWARNFLAGS_ADD += -Wno-vla
560necp.o_CWARNFLAGS_ADD += -Wno-vla
561ntstat.o_CWARNFLAGS_ADD += -Wno-vla
562sysv_sem.o_CWARNFLAGS_ADD += -Wno-vla
563# -Wno-enum-compare
564dlil_input.o_CWARNFLAGS_ADD += -Wno-enum-compare
565pktsched_netem.o_CWARNFLAGS_ADD += -Wno-enum-compare
566skmem_arena.o_CWARNFLAGS_ADD += -Wno-enum-compare
567skmem_region.o_CWARNFLAGS_ADD += -Wno-enum-compare
568flow_entry.o_CWARNFLAGS_ADD += -Wno-enum-compare
569flow_track.o_CWARNFLAGS_ADD += -Wno-enum-compare
570pbufpool.o_CWARNFLAGS_ADD += -Wno-enum-compare
571
572# In the case of PGO/coverage build, disable LTO for profile_runtime_data.
573# This is to prevent a global compiler_rt variable from being optimized out.
574ifneq (,$(filter 1,$(BUILD_PROFILE) $(BUILD_CODE_COVERAGE)))
575profile_runtime_data.o_CFLAGS_ADD += $(CFLAGS_NOLTO_FLAG)
576endif
577
578#
579# Machine-independent per-file flags
580#
581
582#
583# This rule insures that the subr_prof.c does NOT get compiled with
584# profiling. It implements mcount() and profiling it leads to recursion.
585#
586
587subr_prof.o_CFLAGS_RM = -pg
588
589# Rebuild if per-file overrides change
590${OBJS}: $(firstword $(MAKEFILE_LIST))
591
592# Rebuild if global compile flags change
593$(COBJS): .CFLAGS
594.CFLAGS: ALWAYS
595	$(_v)$(REPLACECONTENTS) $@ $(KCC) $(CFLAGS) $(INCFLAGS)
596$(CXXOBJS): .CXXFLAGS
597.CXXFLAGS: ALWAYS
598	$(_v)$(REPLACECONTENTS) $@ $(KC++) $(CXXFLAGS) $(INCFLAGS)
599$(SOBJS): .SFLAGS
600.SFLAGS: ALWAYS
601	$(_v)$(REPLACECONTENTS) $@ $(S_KCC) $(SFLAGS) $(INCFLAGS)
602
603$(COMPONENT).filelist: $(OBJS)
604	@$(LOG_LDFILELIST) $(COMPONENT)
605	$(_v)for obj in ${OBJS}; do	\
606		 $(ECHO) $(TARGET)/$(CURRENT_KERNEL_CONFIG)/$${obj}; \
607	done > $(COMPONENT).filelist
608
609ifeq ($(XNU_LibAllFiles),1)
610LIBOBJS := $(OBJS)
611endif
612
613$(COMPONENT).libfilelist: $(LIBOBJS)
614	@$(LOG_LDFILELIST) "lib$(COMPONENT)"
615	$(_v)for obj in ${LIBOBJS}; do	\
616		 $(ECHO) $(TARGET)/$(CURRENT_KERNEL_CONFIG)/$${obj}; \
617	done > $(COMPONENT).libfilelist
618
619MAKESYSCALLS = $(SRCROOT)/bsd/kern/makesyscalls.sh
620
621init_sysent.c: $(TARGET)/bsd.syscalls.master
622	@$(LOG_GENERATE) "$@$(Color0) from $(ColorF)$(<F)$(Color0)"
623	$(_v)$(MAKESYSCALLS) $< table > /dev/null
624
625syscalls.c: $(TARGET)/bsd.syscalls.master
626	@$(LOG_GENERATE) "$@$(Color0) from $(ColorF)$(<F)$(Color0)"
627	$(_v)$(MAKESYSCALLS) $< names > /dev/null
628
629audit_kevents.c: $(TARGET)/bsd.syscalls.master
630	@$(LOG_GENERATE) "$@$(Color0) from $(ColorF)$(<F)$(Color0)"
631	$(_v)$(MAKESYSCALLS) $< audit > /dev/null
632
633systrace_args.c: $(TARGET)/bsd.syscalls.master
634	@$(LOG_GENERATE) "$@$(Color0) from $(ColorF)$(<F)$(Color0)"
635	$(_v)$(MAKESYSCALLS) $< systrace > /dev/null
636
637ifeq ($(RC_ProjectName),xnu_libraries)
638do_all: $(COMPONENT).libfilelist
639else
640do_all: $(COMPONENT).filelist
641endif
642
643do_build_all:: do_all
644
645%RULES
646
647include $(MakeInc_rule)
648include $(MakeInc_dir)
649