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