xref: /haiku/src/apps/debugger/Jamfile (revision f8da8f3477d3c18142e59d17d05a545982faa5a8)
1SubDir HAIKU_TOP src apps debugger ;
2
3UseHeaders [ FDirName $(HAIKU_TOP) headers compatibility bsd ] : true ;
4
5# for syscall_numbers.h
6UseHeaders [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH))
7	system kernel ] ;
8
9UsePrivateHeaders app debug interface kernel shared libroot ;
10UsePrivateSystemHeaders ;
11
12SEARCH_SOURCE += [ FDirName $(SUBDIR) arch ] ;
13SEARCH_SOURCE += [ FDirName $(SUBDIR) arch x86 ] ;
14SEARCH_SOURCE += [ FDirName $(SUBDIR) arch x86_64 ] ;
15SEARCH_SOURCE += [ FDirName $(SUBDIR) controllers ] ;
16SEARCH_SOURCE += [ FDirName $(SUBDIR) debug_info ] ;
17SEARCH_SOURCE += [ FDirName $(SUBDIR) debug_managers ] ;
18SEARCH_SOURCE += [ FDirName $(SUBDIR) debugger_interface ] ;
19SEARCH_SOURCE += [ FDirName $(SUBDIR) elf ] ;
20SEARCH_SOURCE += [ FDirName $(SUBDIR) files ] ;
21SEARCH_SOURCE += [ FDirName $(SUBDIR) ids ] ;
22SEARCH_SOURCE += [ FDirName $(SUBDIR) jobs ] ;
23SEARCH_SOURCE += [ FDirName $(SUBDIR) model ] ;
24SEARCH_SOURCE += [ FDirName $(SUBDIR) settings ] ;
25SEARCH_SOURCE += [ FDirName $(SUBDIR) settings generic ] ;
26SEARCH_SOURCE += [ FDirName $(SUBDIR) source_language ] ;
27SEARCH_SOURCE += [ FDirName $(SUBDIR) types ] ;
28SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface ] ;
29SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface cli ] ;
30SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface cli commands ] ;
31SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui ] ;
32SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui inspector_window ] ;
33SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui model ] ;
34SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui team_window ] ;
35SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui teams_window ] ;
36SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui util ] ;
37SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui value ] ;
38SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface util ] ;
39SEARCH_SOURCE += [ FDirName $(SUBDIR) util ] ;
40SEARCH_SOURCE += [ FDirName $(SUBDIR) value ] ;
41SEARCH_SOURCE += [ FDirName $(SUBDIR) value type_handlers ] ;
42SEARCH_SOURCE += [ FDirName $(SUBDIR) value value_handlers ] ;
43SEARCH_SOURCE += [ FDirName $(SUBDIR) value value_nodes ] ;
44SEARCH_SOURCE += [ FDirName $(SUBDIR) value values ] ;
45
46local debugAnalyzerSources
47	= [ FDirName $(HAIKU_TOP) src apps debuganalyzer ] ;
48
49SubDirHdrs [ FDirName $(SUBDIR) demangler ] ;
50SubDirHdrs [ FDirName $(SUBDIR) dwarf ] ;
51SubDirHdrs [ FDirName $(HAIKU_TOP) src bin debug ] ;
52SubDirHdrs [ FDirName $(debugAnalyzerSources) gui ] ;
53
54SourceHdrs
55	DwarfFunctionDebugInfo.cpp
56	DwarfImageDebugInfo.cpp
57	DwarfStackFrameDebugInfo.cpp
58	DwarfTeamDebugInfo.cpp
59	DwarfTypeFactory.cpp
60	DwarfTypes.cpp
61	: [ FDirName $(SUBDIR) dwarf ]
62;
63
64# since syscall_numbers.h is generated on the fly, we need to explicitly
65# let Jam know about the dependency.
66Includes [ FGristFiles TeamDebugger.cpp ]
67	: <syscalls!$(TARGET_PACKAGING_ARCH)>syscall_numbers.h ;
68
69Application Debugger :
70	Debugger.cpp
71
72	# arch
73	Architecture.cpp
74	CpuState.cpp
75	InstructionInfo.cpp
76	Register.cpp
77	RegisterMap.cpp
78
79	# arch/x86
80	ArchitectureX86.cpp
81	CpuStateX86.cpp
82
83	# arch/x86_64
84	ArchitectureX8664.cpp
85	CpuStateX8664.cpp
86
87	# controllers
88	DebugReportGenerator.cpp
89	TeamDebugger.cpp
90	ThreadHandler.cpp
91
92	# debug_managers
93	BreakpointManager.cpp
94	TeamMemoryBlockManager.cpp
95	WatchpointManager.cpp
96
97	# debug_info
98	BasicFunctionDebugInfo.cpp
99	DebuggerImageDebugInfo.cpp
100	DebuggerTeamDebugInfo.cpp
101	DwarfFunctionDebugInfo.cpp
102	DwarfImageDebugInfo.cpp
103	DwarfStackFrameDebugInfo.cpp
104	DwarfTeamDebugInfo.cpp
105	DwarfTypeFactory.cpp
106	DwarfTypes.cpp
107	Function.cpp
108	FunctionDebugInfo.cpp
109	FunctionInstance.cpp
110	GlobalTypeLookup.cpp
111	ImageDebugInfo.cpp
112	ImageDebugInfoProvider.cpp
113	NoOpStackFrameDebugInfo.cpp
114	SpecificImageDebugInfo.cpp
115	SpecificTeamDebugInfo.cpp
116	StackFrameDebugInfo.cpp
117	TeamDebugInfo.cpp
118
119	# debugger_interface
120	DebugEvent.cpp
121	DebuggerInterface.cpp
122
123	# elf
124	ElfFile.cpp
125
126	# files
127	FileManager.cpp
128	LocatableDirectory.cpp
129	LocatableEntry.cpp
130	LocatableFile.cpp
131	SourceFile.cpp
132
133	# ids
134	FunctionID.cpp
135	FunctionParameterID.cpp
136	LocalVariableID.cpp
137	ObjectID.cpp
138	ReturnValueID.cpp
139
140	# jobs
141	GetCPUStateJob.cpp
142	GetStackTraceJob.cpp
143	GetThreadStateJob.cpp
144	LoadImageDebugInfoJob.cpp
145	LoadSourceCodeJob.cpp
146	ResolveValueNodeJob.cpp
147	RetrieveMemoryBlockJob.cpp
148
149	# model
150	AreaInfo.cpp
151	Breakpoint.cpp
152	DisassembledCode.cpp
153	FileSourceCode.cpp
154	Image.cpp
155	ImageInfo.cpp
156	ReturnValueInfo.cpp
157	SemaphoreInfo.cpp
158	SourceCode.cpp
159	StackFrame.cpp
160	StackFrameValues.cpp
161	StackFrameValueInfos.cpp
162	StackTrace.cpp
163	Statement.cpp
164	SymbolInfo.cpp
165	SyscallInfo.cpp
166	SystemInfo.cpp
167	Team.cpp
168	TeamInfo.cpp
169	TeamMemory.cpp
170	TeamMemoryBlock.cpp
171	TeamTypeInformation.cpp
172	Thread.cpp
173	ThreadInfo.cpp
174	Type.cpp
175	TypeComponentPath.cpp
176	TypeLookupConstraints.cpp
177	UserBreakpoint.cpp
178	Variable.cpp
179	Watchpoint.cpp
180
181	# settings
182	BreakpointSetting.cpp
183	GuiTeamUiSettings.cpp
184	SettingsManager.cpp
185	TeamFileManagerSettings.cpp
186	TeamSettings.cpp
187	TeamUiSettings.cpp
188	TeamUiSettingsFactory.cpp
189
190	# settings/generic
191	Setting.cpp
192	Settings.cpp
193	SettingsDescription.cpp
194
195	# source_language
196	CLanguage.cpp
197	CLanguageFamily.cpp
198	CppLanguage.cpp
199	SourceLanguage.cpp
200	SyntaxHighlighter.cpp
201	UnsupportedLanguage.cpp
202	X86AssemblyLanguage.cpp
203
204	# types
205	ArrayIndexPath.cpp
206	TargetAddressRangeList.cpp
207	ValueLocation.cpp
208
209	# user_interface
210	UserInterface.cpp
211
212	# user_interface/cli
213	CliContext.cpp
214	CommandLineUserInterface.cpp
215
216	# user_interface/cli/commands
217	CliCommand.cpp
218	CliContinueCommand.cpp
219	CliDebugReportCommand.cpp
220	CliDumpMemoryCommand.cpp
221	CliPrintVariableCommand.cpp
222	CliQuitCommand.cpp
223	CliStackFrameCommand.cpp
224	CliStackTraceCommand.cpp
225	CliStopCommand.cpp
226	CliThreadCommand.cpp
227	CliThreadsCommand.cpp
228	CliVariablesCommand.cpp
229
230	# user_interface/gui
231	GraphicalUserInterface.cpp
232
233	# user_interface/gui/model
234	VariablesViewState.cpp
235	VariablesViewStateHistory.cpp
236
237	# user_interface/gui/inspector_window
238	InspectorWindow.cpp
239	MemoryView.cpp
240
241	# user_interface/gui/teams_window
242	StartTeamWindow.cpp
243	TeamsWindow.cpp
244	TeamsListView.cpp
245
246	# user_interface/gui/team_window
247	BreakConditionConfigWindow.cpp
248	BreakpointListView.cpp
249	BreakpointsView.cpp
250	ConsoleOutputView.cpp
251	ImageFunctionsView.cpp
252	ImageListView.cpp
253	RegistersView.cpp
254	SourceView.cpp
255	StackTraceView.cpp
256	TeamWindow.cpp
257	ThreadListView.cpp
258	VariablesView.cpp
259	WatchPromptWindow.cpp
260
261	# user_interface/gui/util
262	ActionMenuItem.cpp
263	GuiSettingsUtils.cpp
264	SettingsMenu.cpp
265	TargetAddressTableColumn.cpp
266
267
268	# user_interface/gui/value
269	TableCellBoolRenderer.cpp
270	TableCellEnumerationRenderer.cpp
271	TableCellFloatRenderer.cpp
272	TableCellIntegerRenderer.cpp
273	TableCellStringRenderer.cpp
274	TableCellValueRenderer.cpp
275	TableCellValueRendererUtils.cpp
276
277	# user_interface/util
278	UiUtils.cpp
279
280	# util
281	ArchivingUtils.cpp
282	BitBuffer.cpp
283	IntegerFormatter.cpp
284	RangeList.cpp
285	StringUtils.cpp
286	Worker.cpp
287
288	# value
289	TypeHandler.cpp
290	TypeHandlerRoster.cpp
291	Value.cpp
292	ValueHandler.cpp
293	ValueHandlerRoster.cpp
294	ValueLoader.cpp
295	ValueNode.cpp
296	ValueNodeContainer.cpp
297	ValueNodeManager.cpp
298
299	# value/type_handlers
300	BListTypeHandler.cpp
301	BMessageTypeHandler.cpp
302	CStringTypeHandler.cpp
303
304	# value/value_handlers
305	AddressValueHandler.cpp
306	BoolValueHandler.cpp
307	EnumerationValueHandler.cpp
308	FloatValueHandler.cpp
309	IntegerValueHandler.cpp
310	StringValueHandler.cpp
311
312	# value/value_nodes
313	AddressValueNode.cpp
314	ArrayValueNode.cpp
315	BListValueNode.cpp
316	BMessageValueNode.cpp
317	CompoundValueNode.cpp
318	CStringValueNode.cpp
319	EnumerationValueNode.cpp
320	PointerToMemberValueNode.cpp
321	PrimitiveValueNode.cpp
322	VariableValueNodeChild.cpp
323
324	# value/values
325	AddressValue.cpp
326	BoolValue.cpp
327	EnumerationValue.cpp
328	FloatValue.cpp
329	IntegerValue.cpp
330	StringValue.cpp
331
332	:
333	<nogrist>Debugger_demangler.o
334	<nogrist>Debugger_disasm_x86.o
335	<nogrist>Debugger_disasm_x86_64.o
336	<nogrist>Debugger_dwarf.o
337	<nogrist>DebugAnalyzer_gui_table.o
338
339	libudis86.a
340	<bin>debug_utils.a
341	libcolumnlistview.a
342	libshared.a
343	libshared.a
344	libexpression_parser.a
345	libmapm.a
346	libedit.a
347	libncurses.a
348
349	$(TARGET_LIBSTDC++)
350	be tracker libbsd.so libdebug.so
351
352	: Debugger.rdef
353;
354
355HaikuSubInclude arch x86 disasm ;
356HaikuSubInclude arch x86_64 disasm ;
357HaikuSubInclude demangler ;
358HaikuSubInclude dwarf ;
359