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