xref: /haiku/src/kits/debugger/Jamfile (revision 05fc1277c47440dc36134816d70e5723c99cfcd2)
1SubDir HAIKU_TOP src kits 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 debugger ;
10UsePrivateHeaders [ FDirName debugger arch ] ;
11UsePrivateHeaders [ FDirName debugger controllers ] ;
12UsePrivateHeaders [ FDirName debugger debug_info ] ;
13UsePrivateHeaders [ FDirName debugger debug_managers ] ;
14UsePrivateHeaders [ FDirName debugger elf ] ;
15UsePrivateHeaders [ FDirName debugger files ] ;
16UsePrivateHeaders [ FDirName debugger ids ] ;
17UsePrivateHeaders [ FDirName debugger model ] ;
18UsePrivateHeaders [ FDirName debugger settings ] ;
19UsePrivateHeaders [ FDirName debugger settings generic ] ;
20UsePrivateHeaders [ FDirName debugger source_language ] ;
21UsePrivateHeaders [ FDirName debugger source_language c_family ] ;
22UsePrivateHeaders [ FDirName debugger target_host_interface ] ;
23UsePrivateHeaders [ FDirName debugger types ] ;
24UsePrivateHeaders [ FDirName debugger user_interface ] ;
25UsePrivateHeaders [ FDirName debugger user_interface util ] ;
26UsePrivateHeaders [ FDirName debugger util ] ;
27UsePrivateHeaders [ FDirName debugger value ] ;
28UsePrivateHeaders [ FDirName debugger value value_formatters ] ;
29UsePrivateHeaders [ FDirName debugger value value_nodes ] ;
30UsePrivateHeaders [ FDirName debugger value values ] ;
31
32UsePrivateHeaders app debug interface kernel package shared libroot ;
33UsePrivateSystemHeaders ;
34
35LINKFLAGS += -Wl,--exclude-libs,ALL ;
36
37SubDirC++Flags [ FDefines _BSD_SOURCE=1 ] ;
38
39SEARCH_SOURCE += [ FDirName $(SUBDIR) arch ] ;
40SEARCH_SOURCE += [ FDirName $(SUBDIR) arch x86 ] ;
41SEARCH_SOURCE += [ FDirName $(SUBDIR) arch x86_64 ] ;
42SEARCH_SOURCE += [ FDirName $(SUBDIR) controllers ] ;
43SEARCH_SOURCE += [ FDirName $(SUBDIR) debug_info ] ;
44SEARCH_SOURCE += [ FDirName $(SUBDIR) debug_info loading_state_handlers ] ;
45SEARCH_SOURCE += [ FDirName $(SUBDIR) debug_managers ] ;
46SEARCH_SOURCE += [ FDirName $(SUBDIR) debugger_interface ] ;
47SEARCH_SOURCE += [ FDirName $(SUBDIR) debugger_interface interfaces ] ;
48SEARCH_SOURCE += [ FDirName $(SUBDIR) elf ] ;
49SEARCH_SOURCE += [ FDirName $(SUBDIR) files ] ;
50SEARCH_SOURCE += [ FDirName $(SUBDIR) ids ] ;
51SEARCH_SOURCE += [ FDirName $(SUBDIR) jobs ] ;
52SEARCH_SOURCE += [ FDirName $(SUBDIR) model ] ;
53SEARCH_SOURCE += [ FDirName $(SUBDIR) settings ] ;
54SEARCH_SOURCE += [ FDirName $(SUBDIR) settings generic ] ;
55SEARCH_SOURCE += [ FDirName $(SUBDIR) source_language ] ;
56SEARCH_SOURCE += [ FDirName $(SUBDIR) source_language c_family ] ;
57SEARCH_SOURCE += [ FDirName $(SUBDIR) source_language x86 ] ;
58SEARCH_SOURCE += [ FDirName $(SUBDIR) target_host_interface ] ;
59SEARCH_SOURCE += [ FDirName $(SUBDIR) target_host_interface local ] ;
60SEARCH_SOURCE += [ FDirName $(SUBDIR) types ] ;
61SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface ] ;
62SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface util ] ;
63SEARCH_SOURCE += [ FDirName $(SUBDIR) util ] ;
64SEARCH_SOURCE += [ FDirName $(SUBDIR) value ] ;
65SEARCH_SOURCE += [ FDirName $(SUBDIR) value type_handlers ] ;
66SEARCH_SOURCE += [ FDirName $(SUBDIR) value value_formatters ] ;
67SEARCH_SOURCE += [ FDirName $(SUBDIR) value value_nodes ] ;
68SEARCH_SOURCE += [ FDirName $(SUBDIR) value values ] ;
69
70SubDirHdrs [ FDirName $(SUBDIR) demangler ] ;
71SubDirHdrs [ FDirName $(SUBDIR) dwarf ] ;
72SubDirHdrs [ FDirName $(HAIKU_TOP) src bin debug ] ;
73
74SourceHdrs
75	DwarfFunctionDebugInfo.cpp
76	DwarfImageDebugInfo.cpp
77	DwarfStackFrameDebugInfo.cpp
78	DwarfTeamDebugInfo.cpp
79	DwarfTypeFactory.cpp
80	DwarfTypes.cpp
81	: [ FDirName $(SUBDIR) dwarf ]
82;
83
84local sources =
85	DebuggerGlobals.cpp
86
87	# arch
88	Architecture.cpp
89	CpuState.cpp
90	InstructionInfo.cpp
91	Register.cpp
92	RegisterMap.cpp
93
94	# arch/x86
95	ArchitectureX86.cpp
96	CpuStateX86.cpp
97
98	# arch/x86_64
99	ArchitectureX8664.cpp
100	CpuStateX8664.cpp
101
102	# controllers
103	DebugReportGenerator.cpp
104	TeamDebugger.cpp
105	ThreadHandler.cpp
106
107	# debug_managers
108	BreakpointManager.cpp
109	TeamMemoryBlockManager.cpp
110	WatchpointManager.cpp
111
112	# debug_info
113	BasicFunctionDebugInfo.cpp
114	DebuggerImageDebugInfo.cpp
115	DebuggerTeamDebugInfo.cpp
116	DwarfFunctionDebugInfo.cpp
117	DwarfImageDebugInfo.cpp
118	DwarfImageDebugInfoLoadingState.cpp
119	DwarfStackFrameDebugInfo.cpp
120	DwarfTeamDebugInfo.cpp
121	DwarfTypeFactory.cpp
122	DwarfTypes.cpp
123	Function.cpp
124	FunctionDebugInfo.cpp
125	FunctionInstance.cpp
126	GlobalTypeLookup.cpp
127	ImageDebugInfo.cpp
128	ImageDebugInfoLoadingState.cpp
129	ImageDebugInfoProvider.cpp
130	ImageDebugLoadingStateHandler.cpp
131	ImageDebugLoadingStateHandlerRoster.cpp
132	NoOpStackFrameDebugInfo.cpp
133	SpecificImageDebugInfo.cpp
134	SpecificImageDebugInfoLoadingState.cpp
135	SpecificTeamDebugInfo.cpp
136	StackFrameDebugInfo.cpp
137	TeamDebugInfo.cpp
138
139	# debug_info/loading_state_handlers
140	DwarfLoadingStateHandler.cpp
141
142	# debugger_interface
143	DebugEvent.cpp
144	DebuggerInterface.cpp
145
146	# debugger_interface/interfaces
147	CoreFileDebuggerInterface.cpp
148	LocalDebuggerInterface.cpp
149
150	# elf
151	CoreFile.cpp
152	ElfFile.cpp
153	ElfSymbolLookup.cpp
154
155	# files
156	FileManager.cpp
157	LocatableDirectory.cpp
158	LocatableEntry.cpp
159	LocatableFile.cpp
160	SourceFile.cpp
161
162	# ids
163	FunctionID.cpp
164	FunctionParameterID.cpp
165	LocalVariableID.cpp
166	ObjectID.cpp
167	ReturnValueID.cpp
168
169	# jobs
170	ExpressionEvaluationJob.cpp
171	GetCPUStateJob.cpp
172	GetStackTraceJob.cpp
173	GetThreadStateJob.cpp
174	LoadImageDebugInfoJob.cpp
175	LoadSourceCodeJob.cpp
176	ResolveValueNodeJob.cpp
177	RetrieveMemoryBlockJob.cpp
178	WriteCoreFileJob.cpp
179	WriteMemoryJob.cpp
180	WriteValueNodeJob.cpp
181
182	# model
183	AreaInfo.cpp
184	Breakpoint.cpp
185	DisassembledCode.cpp
186	ExpressionInfo.cpp
187	ExpressionValues.cpp
188	FileSourceCode.cpp
189	Image.cpp
190	ImageInfo.cpp
191	LineDataSource.cpp
192	ReturnValueInfo.cpp
193	SemaphoreInfo.cpp
194	SignalInfo.cpp
195	SourceCode.cpp
196	StackFrame.cpp
197	StackFrameValues.cpp
198	StackFrameValueInfos.cpp
199	StackTrace.cpp
200	Statement.cpp
201	SymbolInfo.cpp
202	SyntheticPrimitiveType.cpp
203	SyscallInfo.cpp
204	SystemInfo.cpp
205	TargetHost.cpp
206	Team.cpp
207	TeamInfo.cpp
208	TeamMemory.cpp
209	TeamMemoryBlock.cpp
210	TeamTypeInformation.cpp
211	Thread.cpp
212	ThreadInfo.cpp
213	Type.cpp
214	TypeComponentPath.cpp
215	TypeLookupConstraints.cpp
216	UserBreakpoint.cpp
217	Variable.cpp
218	Watchpoint.cpp
219
220	# settings
221	BreakpointSetting.cpp
222	NoOpSettingsManager.cpp
223	SettingsManager.cpp
224	TeamFileManagerSettings.cpp
225	TeamSettings.cpp
226	TeamSignalSettings.cpp
227	TeamUiSettings.cpp
228	TeamUiSettingsFactory.cpp
229
230	# settings/generic
231	Setting.cpp
232	Settings.cpp
233	SettingsDescription.cpp
234
235	# source_language
236	SourceLanguage.cpp
237	SyntaxHighlighter.cpp
238	UnsupportedLanguage.cpp
239
240	# source_language/c_family
241	CLanguage.cpp
242	CLanguageExpressionEvaluator.cpp
243	CLanguageFamily.cpp
244	CLanguageFamilySyntaxHighlighter.cpp
245	CLanguageFamilySyntaxHighlightInfo.cpp
246	CLanguageTokenizer.cpp
247	CppLanguage.cpp
248
249	# source_language/x86
250	X86AssemblyLanguage.cpp
251
252	# target_host_interface
253	TargetHostInterface.cpp
254	TargetHostInterfaceInfo.cpp
255	TargetHostInterfaceRoster.cpp
256
257	# target_host_interface/local
258	LocalTargetHostInterface.cpp
259	LocalTargetHostInterfaceInfo.cpp
260
261	# types
262	ArrayIndexPath.cpp
263	TargetAddressRangeList.cpp
264	ValueLocation.cpp
265
266	# user_interface
267	UserInterface.cpp
268
269	# user_interface/util
270	UiUtils.cpp
271
272	# util
273	ArchivingUtils.cpp
274	BitBuffer.cpp
275	IntegerFormatter.cpp
276	RangeList.cpp
277	StringUtils.cpp
278	Worker.cpp
279
280	# value
281	TypeHandler.cpp
282	TypeHandlerRoster.cpp
283	Value.cpp
284	ValueFormatter.cpp
285	ValueLoader.cpp
286	ValueNode.cpp
287	ValueNodeContainer.cpp
288	ValueNodeManager.cpp
289	ValueWriter.cpp
290
291	# value/type_handlers
292	BListTypeHandler.cpp
293	BMessageTypeHandler.cpp
294	CStringTypeHandler.cpp
295
296	# value/value_formatters
297	BoolValueFormatter.cpp
298	EnumerationValueFormatter.cpp
299	FloatValueFormatter.cpp
300	IntegerValueFormatter.cpp
301	StringValueFormatter.cpp
302
303	# value/value_nodes
304	AddressValueNode.cpp
305	ArrayValueNode.cpp
306	BListValueNode.cpp
307	BMessageValueNode.cpp
308	CompoundValueNode.cpp
309	CStringValueNode.cpp
310	EnumerationValueNode.cpp
311	ExpressionValueNode.cpp
312	PointerToMemberValueNode.cpp
313	PrimitiveValueNode.cpp
314	VariableValueNodeChild.cpp
315
316	# value/values
317	AddressValue.cpp
318	BoolValue.cpp
319	EnumerationValue.cpp
320	FloatValue.cpp
321	IntegerValue.cpp
322	StringValue.cpp
323;
324
325# since syscall_numbers.h is generated on the fly, we need to explicitly
326# let Jam know about the dependency.
327Includes [ FGristFiles $(sources) ] :
328	<syscalls!$(TARGET_PACKAGING_ARCH)>syscall_numbers.h
329;
330
331SharedLibrary libdebugger.so :
332	$(sources)
333	:
334	<nogrist>Debugger_demangler.o
335	<nogrist>Debugger_disasm_x86.o
336	<nogrist>Debugger_disasm_x86_64.o
337	<nogrist>Debugger_dwarf.o
338
339	libudis86.a
340	<bin>debug_utils.a
341	shared
342
343	[ TargetLibstdc++ ]
344	be package libbsd.so libdebug.so
345;
346
347HaikuSubInclude arch x86 disasm ;
348HaikuSubInclude arch x86_64 disasm ;
349HaikuSubInclude demangler ;
350HaikuSubInclude dwarf ;
351