xref: /xnu-11215.1.10/osfmk/vm/Makefile (revision 8d741a5de7ff4191bf97d57b9f54c2f6d4a15585)
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_shared_region_internal.h
60
61# Internal files exported with specific subsystems
62# who needs access to some VM internals.
63#
64# These headers must be included from C/C++ translation units,
65# never from other headers, and only by the named subsystems.
66XNU_ONLY_EXPORTS += \
67	vm_iokit.h \
68	vm_ubc.h \
69	vm_upl.h
70
71# /usr/include
72INSTALL_MI_LIST = ${DATAFILES}
73
74# /System/Library/Frameworks/System.framework/PrivateHeaders
75INSTALL_SF_MI_LCL_LIST = ${DATAFILES} ${PRIVATE_DATAFILES}
76
77# /System/Library/Frameworks/Kernel.framework/Headers
78INSTALL_KF_MI_LIST = ${KERNELFILES}
79
80# /System/Library/Frameworks/Kernel.framework/PrivateHeaders
81INSTALL_KF_MI_LCL_LIST = ${KERNELFILES} ${PRIVATE_KERNELFILES}
82
83INSTALL_MI_DIR = vm
84
85# Exported to rest of XNU for compilation
86EXPORT_MI_LIST = ${KERNELFILES} ${PRIVATE_KERNELFILES} ${XNU_ONLY_EXPORTS} ${PRIVATE_DATAFILES}
87
88EXPORT_MI_DIR = vm
89
90include $(MakeInc_rule)
91include $(MakeInc_dir)
92