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