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