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