xref: /xnu-8792.61.2/iokit/DriverKit/Makefile (revision 42e220869062b56f8d7d0726fd4c88954f87902c)
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++1z -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
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
58$(GENERATED_HEADERS) : \
59	%.h : %.iig
60	@$(LOG_IIG) "$@"
61	$(_v)$(IIG) --def $< --header $@ --impl $(patsubst %.h,%.iig.cpp,$@) --framework-name DriverKit ${OTHER_IIG_FLAGS} -- ${OTHER_IIG_CFLAGS} $(_vstdout)
62
63$(GENERATED_IMPL) : $(GENERATED_HEADERS)
64
65do_build_all:: $(COMP_FILES)
66
67include $(MakeInc_rule)
68include $(MakeInc_dir)
69