xref: /xnu-11417.101.15/osfmk/vm/Makefile (revision e3723e1f17661b24996789d8afc084c0c3303b26)
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_far.h \
28	vm_shared_region.h \
29	vm_dyld_pager.h \
30	vm_compressor_algorithms.h \
31	WKdm_new.h
32
33PRIVATE_KERNELFILES = \
34	pmap_cs.h
35
36XNU_ONLY_EXPORTS = \
37	memory_object_xnu.h \
38	vm_compressor_algorithms_xnu.h \
39	vm_compressor_backing_store_xnu.h \
40	vm_compressor_xnu.h \
41	vm_fault_xnu.h \
42	vm_kern_xnu.h \
43	vm_map_xnu.h \
44	vm_memory_entry.h \
45	vm_memory_entry_xnu.h \
46	vm_object_xnu.h \
47	vm_page.h \
48	vm_pageout_xnu.h \
49	vm_purgeable_xnu.h \
50	vm_reclaim_xnu.h \
51	vm_shared_region_xnu.h
52
53
54# Internal headers for the sake of bsd/vm/* and bsd/kern/kern_mman.c files only
55XNU_ONLY_EXPORTS += \
56	vm_compressor_backing_store_internal.h \
57	vm_dyld_pager_internal.h \
58	vm_map_internal.h \
59	vm_protos_internal.h \
60	vm_sanitize_internal.h \
61	vm_sanitize_telemetry.h \
62	vm_shared_region_internal.h
63
64# Internal files exported with specific subsystems
65# who needs access to some VM internals.
66#
67# These headers must be included from C/C++ translation units,
68# never from other headers, and only by the named subsystems.
69XNU_ONLY_EXPORTS += \
70	vm_iokit.h \
71	vm_ubc.h \
72	vm_upl.h
73
74# /usr/include
75INSTALL_MI_LIST = ${DATAFILES}
76
77# /System/Library/Frameworks/System.framework/PrivateHeaders
78INSTALL_SF_MI_LCL_LIST = ${DATAFILES} ${PRIVATE_DATAFILES}
79
80# /System/Library/Frameworks/Kernel.framework/Headers
81INSTALL_KF_MI_LIST = ${KERNELFILES}
82
83# /System/Library/Frameworks/Kernel.framework/PrivateHeaders
84INSTALL_KF_MI_LCL_LIST = ${KERNELFILES} ${PRIVATE_KERNELFILES}
85
86INSTALL_MI_DIR = vm
87
88# Exported to rest of XNU for compilation
89EXPORT_MI_LIST = ${KERNELFILES} ${PRIVATE_KERNELFILES} ${XNU_ONLY_EXPORTS} ${PRIVATE_DATAFILES}
90
91EXPORT_MI_DIR = vm
92
93include $(MakeInc_rule)
94include $(MakeInc_dir)
95