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
6IOKIT_INCVERS = A
7IOKIT_INCFRAME = $(FRAMEDIR)/IOKit.framework
8IOKIT_INCDIR = $(IOKIT_INCFRAME)/Versions/$(IOKIT_INCVERS)/Headers
9IOKIT_PINCDIR = $(IOKIT_INCFRAME)/Versions/$(IOKIT_INCVERS)/PrivateHeaders
10
11INCDIR = $(IOKIT_INCDIR)
12LCLDIR = $(IOKIT_PINCDIR)
13
14include $(MakeInc_cmd)
15include $(MakeInc_def)
16
17INSTINC_SUBDIRS = \
18	nvram \
19	platform \
20	power \
21	pwr_mgt \
22	rtc \
23	system_management
24
25EXPINC_SUBDIRS = ${INSTINC_SUBDIRS}
26
27# By default, everything in xnu/iokit/IOKit gets installed into 
28# Kernel.framework/Headers/IOKit AND Kernel.framework/PrivateHeaders/IOKit.
29# This is so the files with #ifdef ...PRIVATE portions can be processed.
30# xnu/README documents the INSTALL* and EXPORT_MI_DIR lists.
31ALL_HEADERS = $(shell (cd $(SOURCE); echo *.h))
32
33# Do not install these headers (anywhere).
34NOT_EXPORT_HEADERS = IOInterruptAccountingPrivate.h
35
36# Install these only in Kernel.framework's PrivateHeaders (not Headers).
37NOT_KF_MI_HEADERS  = $(NOT_EXPORT_HEADERS)			\
38		     IOKitKeysPrivate.h IOCPU.h			\
39		     IOHibernatePrivate.h IOPolledInterface.h	\
40		     IOCommandQueue.h IOLocksPrivate.h 		\
41		     IOSyncer.h AppleKeyStoreInterface.h	\
42		     IOStatistics.h IOStatisticsPrivate.h	\
43		     IOKernelReporters.h
44
45# These should be additionally installed in IOKit.framework's public Headers
46INSTALL_MI_LIST	= IOBSD.h IOKitKeys.h IOKitServer.h IOReturn.h\
47		  IOSharedLock.h IOTypes.h OSMessageNotification.h\
48		  IODataQueueShared.h IOMessage.h IOInterruptAccounting.h\
49
50# These should be additionally installed in IOKit.framework's PrivateHeaders
51INSTALL_MI_LCL_LIST = IOKitKeysPrivate.h IOHibernatePrivate.h \
52					  IOLocksPrivate.h IOStatistics.h \
53					  AppleKeyStoreInterface.h  \
54					  IOReportTypes.h IOKernelReportStructs.h \
55					  IOReportMacros.h
56
57INSTALL_MI_DIR = .
58
59EXPORT_MI_LIST	= $(filter-out $(NOT_EXPORT_HEADERS), $(ALL_HEADERS))
60
61EXPORT_MI_DIR = IOKit
62
63INSTALL_KF_MI_LIST = $(filter-out $(NOT_KF_MI_HEADERS), $(ALL_HEADERS))
64
65include $(MakeInc_rule)
66include $(MakeInc_dir)
67