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