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 6include $(MakeInc_cmd) 7include $(MakeInc_def) 8 9.PHONY: lldbmacros_install 10 11do_config_all:: lldbmacros_install 12 13LLDBMACROS_SOURCE:=$(SRCROOT)/tools/lldbmacros/ 14LLDBMACROS_BOOTSTRAP_DEST:=$(OBJPATH)/$(KERNEL_FILE_NAME).dSYM/$(DSYMLLDBMACROSDIR) 15LLDBMACROS_DEST:=$(LLDBMACROS_BOOTSTRAP_DEST)/lldbmacros/ 16LLDBMACROS_USERDEBUG_FILES= 17ifeq ($(BUILD_STATIC_LINK),1) 18ifneq ($(BUILD_XNU_LIBRARY),1) 19KERNEL_STATIC_DSYM_LLDBMACROS := $(OBJPATH)/$(KERNEL_FILE_NAME).link/$(KERNEL_FILE_NAME).dSYM/$(DSYMLLDBMACROSDIR)/lldbmacros/ 20endif 21endif 22 23LLDBMACROS_USERDEBUG_FILES:= \ 24 usertaskdebugging/__init__.py \ 25 usertaskdebugging/gdbserver.py \ 26 usertaskdebugging/interface.py \ 27 usertaskdebugging/rsprotocol.py \ 28 usertaskdebugging/target.py \ 29 usertaskdebugging/userprocess.py 30 31LLDBMACROS_PYTHON_FILES = $(LLDBMACROS_USERDEBUG_FILES) \ 32 core/__init__.py \ 33 core/caching.py \ 34 core/collections.py \ 35 core/configuration.py \ 36 core/cvalue.py \ 37 core/io.py \ 38 core/kernelcore.py \ 39 core/lazytarget.py \ 40 core/lldbwrap.py \ 41 core/operating_system.py \ 42 core/pointer.py \ 43 core/standard.py \ 44 core/xnu_lldb_init.py \ 45 kmemory/__init__.py \ 46 kmemory/btlog.py \ 47 kmemory/kmem.py \ 48 kmemory/vm.py \ 49 kmemory/whatis.py \ 50 kmemory/zone.py \ 51 plugins/__init__.py \ 52 plugins/zprint_perf_log.py \ 53 sysregdoc/AArch64-esr_el1.xml \ 54 bank.py \ 55 turnstile.py \ 56 kevent.py \ 57 workqueue.py \ 58 ulock.py \ 59 xnu.py \ 60 xnudefines.py \ 61 ktrace.py \ 62 macho.py \ 63 mbufdefines.py \ 64 netdefines.py \ 65 ntstat.py \ 66 routedefines.py \ 67 ipc.py \ 68 ipcimportancedetail.py \ 69 kcdata.py \ 70 scheduler.py \ 71 structanalyze.py \ 72 pmap.py \ 73 memory.py \ 74 mbufs.py \ 75 net.py \ 76 skywalk.py \ 77 ioreg.py \ 78 utils.py \ 79 kdp.py \ 80 process.py \ 81 userspace.py \ 82 pci.py \ 83 misc.py \ 84 apic.py \ 85 kasan.py \ 86 kauth.py \ 87 usertaskgdbserver.py \ 88 waitq.py \ 89 xnutriage.py \ 90 kmtriage.py \ 91 zonetriage.py \ 92 recount.py \ 93 sysreg.py \ 94 counter.py \ 95 refgrp.py \ 96 workload.py \ 97 log.py \ 98 kext.py \ 99 nvram.py \ 100 taskinfo.py \ 101 exclaves.py 102 103ifneq ($(PLATFORM),MacOSX) 104 LLDBMACROS_PYTHON_FILES+= \ 105 plugins/iosspeedtracer.py \ 106 plugins/iosspeedtracer.sh 107endif 108 109 110include $(MakeInc_rule) 111include $(MakeInc_dir) 112 113# Strip macros during install (default) 114ifeq ($(SKIP_LLDBMACROS_UNIFDEF),1) 115 LLDBMACROS_UNIFDEF := 116else 117 LLDBMACROS_UNIFDEF := $(DATA_UNIFDEF) 118endif 119 120INSTALL_LLDBMACROS_PYTHON_FILES=$(addprefix $(LLDBMACROS_DEST), $(LLDBMACROS_PYTHON_FILES)) 121$(eval $(call INSTALLPYTHON_RULE_template,$(INSTALL_LLDBMACROS_PYTHON_FILES),$(LLDBMACROS_SOURCE)%,pydir,$(LLDBMACROS_UNIFDEF),$(LLDBMACROS_DEST))) 122$(eval $(call INSTALLPYTHON_RULE_template,$(LLDBMACROS_BOOTSTRAP_DEST)/$(KERNEL_LLDBBOOTSTRAP_NAME),$(LLDBMACROS_SOURCE)/core/xnu_lldb_init.py,kbpydir,$(LLDBMACROS_UNIFDEF),$(LLDBMACROS_BOOTSTRAP_DEST)/)) 123 124ifeq ($(BUILD_STATIC_LINK),1) 125ifneq ($(BUILD_XNU_LIBRARY),1) 126INSTALL_STATIC_DSYM_LLDBMACROS_PYTHON_FILES=$(addprefix $(KERNEL_STATIC_DSYM_LLDBMACROS), $(LLDBMACROS_PYTHON_FILES)) 127$(eval $(call INSTALLPYTHON_RULE_template,$(INSTALL_STATIC_DSYM_LLDBMACROS_PYTHON_FILES),$(LLDBMACROS_SOURCE)%,sdpydir,$(LLDBMACROS_UNIFDEF),$(KERNEL_STATIC_DSYM_LLDBMACROS))) 128$(eval $(call INSTALLPYTHON_RULE_template,$(KERNEL_STATIC_DSYM_LLDBMACROS)/../$(KERNEL_LLDBBOOTSTRAP_NAME),$(LLDBMACROS_SOURCE)/core/xnu_lldb_init.py,kbsdpydir,$(LLDBMACROS_UNIFDEF),$(KERNEL_STATIC_DSYM_LLDBMACROS)/../)) 129endif 130endif 131 132ifeq ($(BUILD_STATIC_LINK),1) 133ifneq ($(BUILD_XNU_LIBRARY),1) 134STATIC_DSYM_LLDBMACROS_INSTALL_TARGETS := \ 135 $(INSTALL_STATIC_DSYM_LLDBMACROS_PYTHON_FILES) \ 136 $(KERNEL_STATIC_DSYM_LLDBMACROS)/../$(KERNEL_LLDBBOOTSTRAP_NAME) 137endif 138endif 139 140lldbmacros_install: $(INSTALL_LLDBMACROS_PYTHON_FILES) $(LLDBMACROS_BOOTSTRAP_DEST)/$(KERNEL_LLDBBOOTSTRAP_NAME) $(STATIC_DSYM_LLDBMACROS_INSTALL_TARGETS) 141 $(_v)$(MKDIR) $(LLDBMACROS_DEST)/builtinkexts 142ifeq ($(BUILD_STATIC_LINK),1) 143ifneq ($(BUILD_XNU_LIBRARY),1) 144 $(_v)$(MKDIR) $(KERNEL_STATIC_DSYM_LLDBMACROS)/builtinkexts 145endif 146endif 147