include $(MakeInc_cmd)
include $(MakeInc_def)
+ifeq ($(PLATFORM),MacOSX)
+
+ARM_HEADER_FILES = \
+ arch.h \
+ atomic.h \
+ cpu_number.h \
+ cpu_capabilities.h \
+ cpu_x86_64_capabilities.h \
+ cpuid.h \
+ cpuid_internal.h \
+ io_map_entries.h \
+ lock.h \
+ locks.h \
+ machine_cpuid.h \
+ machine_routines.h \
+ memory_types.h \
+ pal_routines.h \
+ simple_lock.h \
+ thread.h \
+ trap.h
+
+INSTALL_MD_DIR = arm
+
+# Headers installed into System.framework/PrivateHeaders (internal SDK only).
+INSTALL_MD_LCL_LIST = arch.h cpu_capabilities.h
+
+# Headers installed into /usr/include (public and internal SDKs).
+INSTALL_MD_LIST = arch.h
+
+# Headers installed in the public/internal SDKs for userspace DriverKit drivers.
+INSTALL_DRIVERKIT_MD_LIST = arch.h
+
+# Headers installed into Kernel.framework/Headers (public and internal SDKs).
+INSTALL_KF_MD_LIST = $(ARM_HEADER_FILES)
+
+# Headers installed into Kernel.framework/PrivateHeaders (internal SDK only).
+INSTALL_KF_MD_LCL_LIST = \
+ dbgwrap.h \
+ machine_kpc.h \
+ monotonic.h \
+ pmap_public.h \
+ proc_reg.h \
+ smp.h \
+ $(ARM_HEADER_FILES)
+
+# TODO: consolidate INSTALL_KF_MD_LCL_LIST and EXPORT_MD_LIST? Only difference is caches_internal.h/machine_cpu.h
+# Headers used to compile xnu
+EXPORT_MD_LIST = \
+ caches_internal.h \
+ dbgwrap.h \
+ machine_cpu.h \
+ machine_kpc.h \
+ monotonic.h \
+ pmap_public.h \
+ proc_reg.h \
+ smp.h \
+ ${ARM_HEADER_FILES}
+
+# These headers will be available with #include <arm/header_file.h>
+EXPORT_MD_DIR = arm
+
+else # $(PLATFORM),MacOSX
+
ARM_HEADER_FILES = \
arch.h \
atomic.h \
cpu_number.h \
cpu_capabilities.h \
+ cpu_x86_64_capabilities.h \
cpuid.h \
cpuid_internal.h \
dbgwrap.h \
proc_reg.h \
simple_lock.h \
smp.h \
- thread.h
+ thread.h \
+ trap.h
INSTALL_MD_DIR = arm
INSTALL_MD_LIST = arch.h
+INSTALL_DRIVERKIT_MD_LIST = arch.h
+
INSTALL_KF_MD_LIST = $(ARM_HEADER_FILES)
INSTALL_KF_MD_LCL_LIST = machine_kpc.h monotonic.h $(ARM_HEADER_FILES)
EXPORT_MD_DIR = arm
+endif # $(PLATFORM),MacOSX
+
include $(MakeInc_rule)
include $(MakeInc_dir)