1 2export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd 3export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def 4export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule 5export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir 6 7include $(MakeInc_cmd) 8include $(MakeInc_def) 9 10DATAFILES = \ 11 exc_guard.h \ 12 exc_resource.h \ 13 kern_cdata.h \ 14 kcdata.h 15 16MODULEMAPFILES = \ 17 kcdata.modulemap 18 19PRIVATE_DATAFILES = \ 20 arithmetic_128.h \ 21 block_hint.h \ 22 cambria_layout.h \ 23 cs_blobs.h \ 24 debug.h \ 25 ecc.h \ 26 lock_stat.h \ 27 monotonic.h \ 28 remote_time.h \ 29 restartable.h \ 30 trustcache.h \ 31 turnstile.h \ 32 socd_client.h 33 34PRIVATE_MODULEMAPFILES = \ 35 kern_debug.modulemap \ 36 kern_private.modulemap 37 38EXPORT_FILES = \ 39 affinity.h \ 40 assert.h \ 41 audit_sessionport.h \ 42 backtrace.h \ 43 bits.h \ 44 circle_queue.h \ 45 clock.h \ 46 coalition.h \ 47 counter.h \ 48 cpu_number.h \ 49 cpu_data.h \ 50 energy_perf.h \ 51 ext_paniclog.h \ 52 extmod_statistics.h \ 53 hv_io_notifier.h \ 54 hv_support.h \ 55 hv_support_kext.h \ 56 ipc_mig.h \ 57 ipc_misc.h \ 58 kalloc.h \ 59 kext_alloc.h \ 60 kern_types.h \ 61 kpc.h \ 62 ledger.h \ 63 lock.h \ 64 lock_attr.h \ 65 lock_group.h \ 66 lock_mtx.h \ 67 lock_rw.h \ 68 lock_sleep.h \ 69 lock_types.h \ 70 locks.h \ 71 host.h \ 72 hvg_hypercall.h \ 73 mach_param.h \ 74 macro_help.h \ 75 mpqueue.h \ 76 page_decrypt.h \ 77 pms.h \ 78 policy_internal.h \ 79 processor.h \ 80 queue.h \ 81 mpsc_queue.h \ 82 percpu.h \ 83 priority_queue.h \ 84 sched_prim.h \ 85 sfi.h \ 86 simple_lock.h \ 87 smr_types.h \ 88 startup.h \ 89 task.h \ 90 task_ref.h \ 91 telemetry.h \ 92 thread.h \ 93 thread_call.h \ 94 thread_group.h \ 95 timer_call.h \ 96 waitq.h \ 97 work_interval.h \ 98 zalloc.h 99 100 101# Installs header file for Apple internal use for kernel extensions - 102# $(DSTROOT)/System/Library/Frameworks/Kernel.framework/PrivateHeaders 103PRIVATE_EXPORT_FILES = \ 104 build_config.h \ 105 copyout_shim.h \ 106 kern_apfs_reflock.h \ 107 mach_filter.h \ 108 mach_node_link.h \ 109 sched_clutch.h \ 110 socd_client_kern.h \ 111 task_ident.h \ 112 ticket_lock.h \ 113 zalloc_ro_shim.h 114 115 116XNU_ONLY_EXPORTS = \ 117 arcade.h \ 118 btlog.h \ 119 cpc.h \ 120 iotrace.h \ 121 ipc_kobject.h \ 122 lock_ptr.h \ 123 perfmon.h \ 124 recount.h \ 125 sched_hygiene.h \ 126 smr.h \ 127 smr_hash.h \ 128 sync_sema.h \ 129 ux_handler.h \ 130 workload_config.h 131 132INSTALL_MI_LIST = ${DATAFILES} 133 134INSTALL_MODULEMAP_MI_LIST = ${MODULEMAPFILES} 135 136INSTALL_MI_LCL_LIST = cs_blobs.h debug.h ext_paniclog.h 137 138INSTALL_MODULEMAP_MI_LCL_LIST = ${PRIVATE_MODULEMAPFILES} 139 140INSTALL_SF_MI_LCL_LIST = ${DATAFILES} ${PRIVATE_DATAFILES} 141 142INSTALL_KF_MI_LIST = ${DATAFILES} ${PRIVATE_DATAFILES} ${EXPORT_FILES} 143 144INSTALL_KF_MI_LCL_LIST = $(sort ${DATAFILES} ${PRIVATE_DATAFILES} ${EXPORT_FILES} ${PRIVATE_EXPORT_FILES}) 145 146INSTALL_MI_DIR = kern 147 148EXPORT_MI_LIST = $(sort ${INSTALL_KF_MI_LIST} ${INSTALL_KF_MI_LCL_LIST} ${XNU_ONLY_EXPORTS}) 149 150EXPORT_MI_DIR = kern 151 152# build support for tightbeamc-generated files 153 154ifeq ($(XNU_CONFIG_TIGHTBEAM),1) 155TIGHTBEAM_FILES := exclaves_upcalls.tightbeam conclave_launcher.tightbeam 156endif 157 158GENERATED_HEADERS := $(patsubst %.tightbeam,%.tightbeam.h,$(TIGHTBEAM_FILES)) 159GENERATED_IMPL := $(patsubst %.tightbeam,%.tightbeam.c,$(TIGHTBEAM_FILES)) 160COMP_FILES := $(GENERATED_HEADERS) $(GENERATED_IMPL) 161 162$(GENERATED_HEADERS) : \ 163 %.tightbeam.h : %.tightbeam 164 @$(LOG_TIGHTBEAMC) "$@" 165 $(_v)$(TIGHTBEAMC) --pass c --output-base $*.tightbeam.c $< 166 167$(GENERATED_IMPL) : $(GENERATED_HEADERS) 168 169do_build_all:: $(COMP_FILES) 170 171include $(MakeInc_rule) 172include $(MakeInc_dir) 173