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