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