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 25 26EXPINC_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. 32ALL_HEADERS = $(notdir $(wildcard $(SOURCE)*.h)) 33 34# Do not install these headers (anywhere). 35NOT_EXPORT_HEADERS = IOInterruptAccountingPrivate.h 36 37# Install these only in Kernel.framework's PrivateHeaders (not Headers). 38NOT_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 51INSTALL_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 56INSTALL_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 62INSTALL_MI_DIR = . 63 64EXPORT_MI_LIST = $(filter-out $(NOT_EXPORT_HEADERS), $(ALL_HEADERS)) 65 66EXPORT_MI_DIR = IOKit 67 68INSTALL_KF_MI_LIST = $(filter-out $(NOT_KF_MI_HEADERS), $(ALL_HEADERS)) 69 70include $(MakeInc_rule) 71include $(MakeInc_dir) 72