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