xref: /xnu-11215/osfmk/vm/Makefile (revision 4f1223e8)
1export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd
2export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def
3export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule
4export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir
5
6include $(MakeInc_cmd)
7include $(MakeInc_def)
8
9DATAFILES =
10
11PRIVATE_DATAFILES = \
12	vm_compressor_info.h
13
14KERNELFILES = \
15	memory_types.h \
16	pmap.h \
17	lz4.h \
18	lz4_constants.h \
19	lz4_assembly_select.h \
20	vm_fault.h \
21	vm_kern.h \
22	vm_map.h \
23	vm_memtag.h \
24	vm_options.h \
25	vm_pageout.h \
26	vm_protos.h \
27	vm_shared_region.h \
28	vm_dyld_pager.h \
29	vm_compressor_algorithms.h \
30	WKdm_new.h
31
32PRIVATE_KERNELFILES = \
33	pmap_cs.h
34
35XNU_ONLY_EXPORTS = \
36	memory_object_xnu.h \
37	vm_compressor_algorithms_xnu.h \
38	vm_compressor_backing_store_xnu.h \
39	vm_compressor_xnu.h \
40	vm_fault_xnu.h \
41	vm_kern_xnu.h \
42	vm_map_xnu.h \
43	vm_memory_entry.h \
44	vm_memory_entry_xnu.h \
45	vm_object_xnu.h \
46	vm_page.h \
47	vm_pageout_xnu.h \
48	vm_purgeable_xnu.h \
49	vm_reclaim_xnu.h \
50	vm_shared_region_xnu.h
51
52# Internal headers for the sake of bsd/vm/* and bsd/kern/kern_mman.c files only
53XNU_ONLY_EXPORTS += \
54	vm_compressor_backing_store_internal.h \
55	vm_dyld_pager_internal.h \
56	vm_map_internal.h \
57	vm_protos_internal.h \
58	vm_sanitize_internal.h \
59	vm_sanitize_telemetry.h \
60	vm_shared_region_internal.h
61
62# Internal files exported with specific subsystems
63# who needs access to some VM internals.
64#
65# These headers must be included from C/C++ translation units,
66# never from other headers, and only by the named subsystems.
67XNU_ONLY_EXPORTS += \
68	vm_iokit.h \
69	vm_ubc.h \
70	vm_upl.h
71
72# /usr/include
73INSTALL_MI_LIST = ${DATAFILES}
74
75# /System/Library/Frameworks/System.framework/PrivateHeaders
76INSTALL_SF_MI_LCL_LIST = ${DATAFILES} ${PRIVATE_DATAFILES}
77
78# /System/Library/Frameworks/Kernel.framework/Headers
79INSTALL_KF_MI_LIST = ${KERNELFILES}
80
81# /System/Library/Frameworks/Kernel.framework/PrivateHeaders
82INSTALL_KF_MI_LCL_LIST = ${KERNELFILES} ${PRIVATE_KERNELFILES}
83
84INSTALL_MI_DIR = vm
85
86# Exported to rest of XNU for compilation
87EXPORT_MI_LIST = ${KERNELFILES} ${PRIVATE_KERNELFILES} ${XNU_ONLY_EXPORTS} ${PRIVATE_DATAFILES}
88
89EXPORT_MI_DIR = vm
90
91include $(MakeInc_rule)
92include $(MakeInc_dir)
93