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/standard.py \ 33 core/compat.py \ 34 core/cvalue.py \ 35 core/__init__.py \ 36 core/configuration.py \ 37 core/caching.py \ 38 core/io.py \ 39 core/lazytarget.py \ 40 core/kernelcore.py \ 41 core/operating_system.py \ 42 core/xnu_lldb_init.py \ 43 plugins/__init__.py \ 44 plugins/zprint_perf_log.py \ 45 sysregdoc/AArch64-esr_el1.xml \ 46 bank.py \ 47 turnstile.py \ 48 kevent.py \ 49 workqueue.py \ 50 ulock.py \ 51 xnu.py \ 52 xnudefines.py \ 53 ktrace.py \ 54 macho.py \ 55 mbufdefines.py \ 56 netdefines.py \ 57 ntstat.py \ 58 routedefines.py \ 59 ipc.py \ 60 ipcimportancedetail.py \ 61 kcdata.py \ 62 scheduler.py \ 63 structanalyze.py \ 64 pmap.py \ 65 memory.py \ 66 mbufs.py \ 67 net.py \ 68 skywalk.py \ 69 ioreg.py \ 70 utils.py \ 71 kdp.py \ 72 process.py \ 73 userspace.py \ 74 pci.py \ 75 misc.py \ 76 apic.py \ 77 kasan.py \ 78 kauth.py \ 79 usertaskgdbserver.py \ 80 waitq.py \ 81 xnutriage.py \ 82 zonetriage.py \ 83 recount.py \ 84 sysreg.py \ 85 counter.py \ 86 btlog.py \ 87 refgrp.py \ 88 workload.py \ 89 log.py \ 90 kext.py 91 92ifneq ($(PLATFORM),MacOSX) 93 LLDBMACROS_PYTHON_FILES+= \ 94 plugins/iosspeedtracer.py \ 95 plugins/iosspeedtracer.sh 96endif 97 98include $(MakeInc_rule) 99include $(MakeInc_dir) 100 101INSTALL_LLDBMACROS_PYTHON_FILES=$(addprefix $(LLDBMACROS_DEST), $(LLDBMACROS_PYTHON_FILES)) 102$(eval $(call INSTALLPYTHON_RULE_template,$(INSTALL_LLDBMACROS_PYTHON_FILES),$(LLDBMACROS_SOURCE)%,pydir,$(DATA_UNIFDEF),$(LLDBMACROS_DEST))) 103$(eval $(call INSTALLPYTHON_RULE_template,$(LLDBMACROS_BOOTSTRAP_DEST)/$(KERNEL_LLDBBOOTSTRAP_NAME),$(LLDBMACROS_SOURCE)/core/xnu_lldb_init.py,kbpydir,$(DATA_UNIFDEF),$(LLDBMACROS_BOOTSTRAP_DEST)/)) 104 105ifeq ($(BUILD_STATIC_LINK),1) 106ifneq ($(BUILD_XNU_LIBRARY),1) 107INSTALL_STATIC_DSYM_LLDBMACROS_PYTHON_FILES=$(addprefix $(KERNEL_STATIC_DSYM_LLDBMACROS), $(LLDBMACROS_PYTHON_FILES)) 108$(eval $(call INSTALLPYTHON_RULE_template,$(INSTALL_STATIC_DSYM_LLDBMACROS_PYTHON_FILES),$(LLDBMACROS_SOURCE)%,sdpydir,$(DATA_UNIFDEF),$(KERNEL_STATIC_DSYM_LLDBMACROS))) 109$(eval $(call INSTALLPYTHON_RULE_template,$(KERNEL_STATIC_DSYM_LLDBMACROS)/../$(KERNEL_LLDBBOOTSTRAP_NAME),$(LLDBMACROS_SOURCE)/core/xnu_lldb_init.py,kbsdpydir,$(DATA_UNIFDEF),$(KERNEL_STATIC_DSYM_LLDBMACROS)/../)) 110endif 111endif 112 113ifeq ($(BUILD_STATIC_LINK),1) 114ifneq ($(BUILD_XNU_LIBRARY),1) 115STATIC_DSYM_LLDBMACROS_INSTALL_TARGETS := \ 116 $(INSTALL_STATIC_DSYM_LLDBMACROS_PYTHON_FILES) \ 117 $(KERNEL_STATIC_DSYM_LLDBMACROS)/../$(KERNEL_LLDBBOOTSTRAP_NAME) 118endif 119endif 120 121lldbmacros_install: $(INSTALL_LLDBMACROS_PYTHON_FILES) $(LLDBMACROS_BOOTSTRAP_DEST)/$(KERNEL_LLDBBOOTSTRAP_NAME) $(STATIC_DSYM_LLDBMACROS_INSTALL_TARGETS) 122 $(_v)$(MKDIR) $(LLDBMACROS_DEST)/builtinkexts 123ifeq ($(BUILD_STATIC_LINK),1) 124ifneq ($(BUILD_XNU_LIBRARY),1) 125 $(_v)$(MKDIR) $(KERNEL_STATIC_DSYM_LLDBMACROS)/builtinkexts 126endif 127endif 128