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