xref: /haiku/src/kits/debugger/Jamfile (revision 2cad94c1c30b6223ad8c08710b26e071d32e9979)
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	TeamInfo.cpp
215	TeamMemory.cpp
216	TeamMemoryBlock.cpp
217	TeamTypeInformation.cpp
218	Thread.cpp
219	ThreadInfo.cpp
220	Type.cpp
221	TypeComponentPath.cpp
222	TypeLookupConstraints.cpp
223	UserBreakpoint.cpp
224	Variable.cpp
225	Watchpoint.cpp
226
227	# settings
228	BreakpointSetting.cpp
229	NoOpSettingsManager.cpp
230	SettingsManager.cpp
231	TeamFileManagerSettings.cpp
232	TeamSettings.cpp
233	TeamSignalSettings.cpp
234	TeamUiSettings.cpp
235	TeamUiSettingsFactory.cpp
236
237	# settings/generic
238	Setting.cpp
239	Settings.cpp
240	SettingsDescription.cpp
241
242	# source_language
243	SourceLanguage.cpp
244	SyntaxHighlighter.cpp
245	UnsupportedLanguage.cpp
246
247	# source_language/c_family
248	CLanguage.cpp
249	CLanguageExpressionEvaluator.cpp
250	CLanguageFamily.cpp
251	CLanguageFamilySyntaxHighlighter.cpp
252	CLanguageFamilySyntaxHighlightInfo.cpp
253	CLanguageTokenizer.cpp
254	CppLanguage.cpp
255
256	# source_language/x86
257	X86AssemblyLanguage.cpp
258
259	# target_host_interface
260	TargetHostInterface.cpp
261	TargetHostInterfaceInfo.cpp
262	TargetHostInterfaceRoster.cpp
263
264	# target_host_interface/local
265	LocalTargetHostInterface.cpp
266	LocalTargetHostInterfaceInfo.cpp
267
268	# types
269	ArrayIndexPath.cpp
270	TargetAddressRangeList.cpp
271	ValueLocation.cpp
272
273	# user_interface
274	UserInterface.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	ValueFormatter.cpp
292	ValueLoader.cpp
293	ValueNode.cpp
294	ValueNodeContainer.cpp
295	ValueNodeManager.cpp
296	ValueWriter.cpp
297
298	# value/type_handlers
299	BListTypeHandler.cpp
300	BMessageTypeHandler.cpp
301	CStringTypeHandler.cpp
302
303	# value/value_formatters
304	BoolValueFormatter.cpp
305	EnumerationValueFormatter.cpp
306	FloatValueFormatter.cpp
307	IntegerValueFormatter.cpp
308	StringValueFormatter.cpp
309
310	# value/value_nodes
311	AddressValueNode.cpp
312	ArrayValueNode.cpp
313	BListValueNode.cpp
314	BMessageValueNode.cpp
315	CompoundValueNode.cpp
316	CStringValueNode.cpp
317	EnumerationValueNode.cpp
318	ExpressionValueNode.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# since syscall_numbers.h is generated on the fly, we need to explicitly
333# let Jam know about the dependency.
334Includes [ FGristFiles $(sources) ] :
335	<syscalls!$(TARGET_PACKAGING_ARCH)>syscall_numbers.h
336;
337
338SharedLibrary libdebugger.so :
339	$(sources)
340	:
341	<nogrist>Debugger_demangler.o
342	<nogrist>Debugger_disasm_x86.o
343	<nogrist>Debugger_disasm_x86_64.o
344	<nogrist>Debugger_dwarf.o
345
346	libudis86.a
347	<bin>debug_utils.a
348	shared
349
350	[ TargetLibstdc++ ]
351	be package libbsd.so libdebug.so
352;
353
354HaikuSubInclude arch x86 disasm ;
355HaikuSubInclude arch x86_64 disasm ;
356HaikuSubInclude demangler ;
357HaikuSubInclude dwarf ;
358