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 skywalk 25 26 27EXPINC_SUBDIRS = ${INSTINC_SUBDIRS} 28 29# By default, everything in xnu/iokit/IOKit gets installed into 30# Kernel.framework/Headers/IOKit AND Kernel.framework/PrivateHeaders/IOKit. 31# This is so the files with #ifdef ...PRIVATE portions can be processed. 32# xnu/README documents the INSTALL* and EXPORT_MI_DIR lists. 33ALL_HEADERS = $(notdir $(wildcard $(SOURCE)*.h)) 34 35# Do not install these headers (anywhere). 36NOT_EXPORT_HEADERS = IOInterruptAccountingPrivate.h 37 38# Install these only in Kernel.framework's PrivateHeaders (not Headers). 39NOT_KF_MI_HEADERS = $(NOT_EXPORT_HEADERS) \ 40 IOKitKeysPrivate.h IOCPU.h \ 41 IOHibernatePrivate.h IOPolledInterface.h \ 42 IOCommandQueue.h IOLocksPrivate.h \ 43 IOSyncer.h AppleKeyStoreInterface.h \ 44 IOStatistics.h IOStatisticsPrivate.h \ 45 IOKernelReporters.h \ 46 IOInterruptAccounting.h \ 47 IOPlatformIO.h \ 48 IOPMGR.h IOPlatformActions.h 49 50 51# These should be additionally installed in IOKit.framework's public Headers 52INSTALL_MI_LIST = IOBSD.h IOKitKeys.h IOKitServer.h IOReturn.h \ 53 IOSharedLock.h IOTypes.h IOMapTypes.h OSMessageNotification.h \ 54 IODataQueueShared.h IOMessage.h IORPC.h IOUserServer.h 55 56# These should be additionally installed in IOKit.framework's PrivateHeaders 57INSTALL_MI_LCL_LIST = $(INSTALL_MI_LIST) 58INSTALL_MI_LCL_LIST += \ 59 IOKitKeysPrivate.h IOHibernatePrivate.h \ 60 IOLocksPrivate.h IOStatistics.h \ 61 AppleKeyStoreInterface.h \ 62 IOReportTypes.h IOKernelReportStructs.h \ 63 IOReportMacros.h IOInterruptAccounting.h 64 65INSTALL_MI_DIR = . 66 67EXPORT_MI_LIST = $(filter-out $(NOT_EXPORT_HEADERS), $(ALL_HEADERS)) 68 69EXPORT_MI_DIR = IOKit 70 71INSTALL_KF_MI_LIST = $(filter-out $(NOT_KF_MI_HEADERS), $(ALL_HEADERS)) 72 73include $(MakeInc_rule) 74include $(MakeInc_dir) 75