xref: /xnu-11417.140.69/tools/lldbmacros/Makefile (revision 43a90889846e00bfb5cf1d255cdc0a701a1e05a4)
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