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