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