xref: /xnu-11215/iokit/DriverKit/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
6IIG_INCFLAGS = -I$(SRCROOT)/iokit -I$(SRCROOT)/osfmk -I$(SRCROOT)/bsd -I$(OBJROOT)/bsd $(INCFLAGS_EXTERN)
7OTHER_IIG_CFLAGS = $(IIG_INCFLAGS) -isysroot $(SDKROOT) -x c++ -std=gnu++2b -D__IIG=1 -DDRIVERKIT_PRIVATE=1 -DPRIVATE_WIFI_ONLY=1 $(DEPLOYMENT_TARGET_DEFINES)
8
9INCDIR = $(FRAMEDIR)/$(DKIT_INCDIR)
10DRIVERKITINCDIR = $(DRIVERKITFRAMEDIR)/$(DRIVERKIT_DKIT_INCDIR)
11LCLDIR = $(FRAMEDIR)/$(DKIT_PINCDIR)
12DRIVERKITLCLDIR = $(DRIVERKITFRAMEDIR)/$(DRIVERKIT_DKIT_PINCDIR)
13
14include $(MakeInc_cmd)
15include $(MakeInc_def)
16
17INSTINC_SUBDIRS = crypto
18
19PRIVATE_DEFS = IOEventLink.iig IOWorkGroup.iig IOExtensiblePaniclog.iig
20
21ALL_DEFS = $(notdir $(wildcard $(SOURCE)*.iig))
22PUBLIC_DEFS = $(filter-out $(PRIVATE_DEFS), $(ALL_DEFS))
23ALL_HDRS = $(notdir $(wildcard $(SOURCE)*.h))
24
25EXPINC_SUBDIRS = ${INSTINC_SUBDIRS}
26
27INSTALL_MI_DIR = .
28
29EXPORT_MI_DIR = DriverKit
30
31GENERATED_HEADERS = $(patsubst %.iig,%.h,$(ALL_DEFS))
32PUBLIC_GENERATED_HEADERS = $(patsubst %.iig,%.h,$(PUBLIC_DEFS))
33PRIVATE_GENERATED_HEADERS = $(patsubst %.iig,%.h,$(PRIVATE_DEFS))
34
35GENERATED_IMPL = $(patsubst %.iig,%.iig.cpp,$(ALL_DEFS))
36
37INSTALL_MI_LIST = $(ALL_DEFS)
38INSTALL_MI_LCL_LIST = $(ALL_DEFS)
39INSTALL_DRIVERKIT_MI_LIST = $(PUBLIC_DEFS)
40INSTALL_DRIVERKIT_MI_LCL_LIST = $(PRIVATE_DEFS)
41
42OTHER_HEADERS = IOTypes.h IOReturn.h IORPC.h IOKitKeys.h \
43				IOKernelReportStructs.h IOReportTypes.h \
44				queue_implementation.h macro_help.h \
45				bounded_ptr.h bounded_array.h bounded_array_ref.h bounded_ptr_fwd.h \
46				OSBoundedArray.h OSBoundedArrayRef.h OSBoundedPtr.h OSBoundedPtrFwd.h \
47				safe_allocation.h
48
49EXPORT_MI_GEN_LIST = $(GENERATED_HEADERS)  $(OTHER_HEADERS)
50INSTALL_MI_GEN_LIST = $(GENERATED_HEADERS)  $(OTHER_HEADERS)
51INSTALL_MI_LCL_GEN_LIST = $(GENERATED_HEADERS)  $(OTHER_HEADERS)
52INSTALL_DRIVERKIT_MI_GEN_LIST = $(PUBLIC_GENERATED_HEADERS) $(OTHER_HEADERS)
53INSTALL_DRIVERKIT_MI_LCL_GEN_LIST = $(PRIVATE_GENERATED_HEADERS)
54INSTALL_KF_MI_GEN_LIST = $(GENERATED_HEADERS)  $(OTHER_HEADERS)
55
56COMP_FILES = ${GENERATED_HEADERS} $(GENERATED_IMPL)
57
58ifeq ($(filter 1,$(EXCLAVEKIT) $(EXCLAVECORE)),)
59$(GENERATED_HEADERS) : \
60	%.h : %.iig
61	@$(LOG_IIG) "$@"
62	$(_v)$(IIG) --def $< --header $@ --impl $(patsubst %.h,%.iig.cpp,$@) --framework-name DriverKit ${OTHER_IIG_FLAGS} -- ${OTHER_IIG_CFLAGS} $(_vstdout)
63
64$(GENERATED_IMPL) : $(GENERATED_HEADERS)
65
66do_build_all:: $(COMP_FILES)
67endif
68
69include $(MakeInc_rule)
70include $(MakeInc_dir)
71