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