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 sysreg.py \ 84 counter.py \ 85 btlog.py \ 86 refgrp.py \ 87 kext.py 88 89ifneq ($(PLATFORM),MacOSX) 90 LLDBMACROS_PYTHON_FILES+= \ 91 plugins/iosspeedtracer.py \ 92 plugins/iosspeedtracer.sh 93endif 94 95include $(MakeInc_rule) 96include $(MakeInc_dir) 97 98INSTALL_LLDBMACROS_PYTHON_FILES=$(addprefix $(LLDBMACROS_DEST), $(LLDBMACROS_PYTHON_FILES)) 99$(eval $(call INSTALLPYTHON_RULE_template,$(INSTALL_LLDBMACROS_PYTHON_FILES),$(LLDBMACROS_SOURCE)%,pydir,$(DATA_UNIFDEF),$(LLDBMACROS_DEST))) 100$(eval $(call INSTALLPYTHON_RULE_template,$(LLDBMACROS_BOOTSTRAP_DEST)/$(KERNEL_LLDBBOOTSTRAP_NAME),$(LLDBMACROS_SOURCE)/core/xnu_lldb_init.py,kbpydir,$(DATA_UNIFDEF),$(LLDBMACROS_BOOTSTRAP_DEST)/)) 101 102ifeq ($(BUILD_STATIC_LINK),1) 103ifneq ($(BUILD_XNU_LIBRARY),1) 104INSTALL_STATIC_DSYM_LLDBMACROS_PYTHON_FILES=$(addprefix $(KERNEL_STATIC_DSYM_LLDBMACROS), $(LLDBMACROS_PYTHON_FILES)) 105$(eval $(call INSTALLPYTHON_RULE_template,$(INSTALL_STATIC_DSYM_LLDBMACROS_PYTHON_FILES),$(LLDBMACROS_SOURCE)%,sdpydir,$(DATA_UNIFDEF),$(KERNEL_STATIC_DSYM_LLDBMACROS))) 106$(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)/../)) 107endif 108endif 109 110ifeq ($(BUILD_STATIC_LINK),1) 111ifneq ($(BUILD_XNU_LIBRARY),1) 112STATIC_DSYM_LLDBMACROS_INSTALL_TARGETS := \ 113 $(INSTALL_STATIC_DSYM_LLDBMACROS_PYTHON_FILES) \ 114 $(KERNEL_STATIC_DSYM_LLDBMACROS)/../$(KERNEL_LLDBBOOTSTRAP_NAME) 115endif 116endif 117 118lldbmacros_install: $(INSTALL_LLDBMACROS_PYTHON_FILES) $(LLDBMACROS_BOOTSTRAP_DEST)/$(KERNEL_LLDBBOOTSTRAP_NAME) $(STATIC_DSYM_LLDBMACROS_INSTALL_TARGETS) 119 $(_v)$(MKDIR) $(LLDBMACROS_DEST)/builtinkexts 120ifeq ($(BUILD_STATIC_LINK),1) 121ifneq ($(BUILD_XNU_LIBRARY),1) 122 $(_v)$(MKDIR) $(KERNEL_STATIC_DSYM_LLDBMACROS)/builtinkexts 123endif 124endif 125