1SubDir HAIKU_TOP src system kernel arch x86 ; 2 3SubDirHdrs [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 4 system kernel ] ; 5 # for syscall_numbers.h 6SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers ps2 ; 7SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica include ; 8SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica include 9 platform ; 10SubDirHdrs $(SUBDIR) timers ; 11 12UsePrivateKernelHeaders ; 13UsePrivateHeaders shared ; 14UsePrivateHeaders [ FDirName system arch x86 ] ; 15 16SEARCH_SOURCE += [ FDirName $(SUBDIR) paging ] ; 17SEARCH_SOURCE += [ FDirName $(SUBDIR) timers ] ; 18 19local archSpecificSources ; 20if $(TARGET_ARCH) = x86_64 { 21 SEARCH_SOURCE += [ FDirName $(SUBDIR) 64 ] ; 22 SEARCH_SOURCE += [ FDirName $(SUBDIR) paging 64bit ] ; 23 24 archSpecificSources = 25 arch.S 26 cpuid.cpp 27 descriptors.cpp 28 errata.cpp 29 interrupts.S 30 signals.cpp 31 signals_asm.S 32 syscalls.cpp 33 thread.cpp 34 35 # paging 36 x86_physical_page_mapper_mapped.cpp 37 38 # paging/64bit 39 X86PagingMethod64Bit.cpp 40 X86PagingStructures64Bit.cpp 41 X86VMTranslationMap64Bit.cpp 42 ; 43} else { 44 SEARCH_SOURCE += [ FDirName $(SUBDIR) 32 ] ; 45 SEARCH_SOURCE += [ FDirName $(SUBDIR) paging 32bit ] ; 46 SEARCH_SOURCE += [ FDirName $(SUBDIR) paging pae ] ; 47 48 archSpecificSources = 49 apm.cpp 50 arch.S 51 bios.cpp 52 cpuid.S 53 descriptors.cpp 54 errata.cpp 55 interrupts.S 56 signals.cpp 57 signals_asm.S 58 syscalls.cpp 59 syscalls_asm.S 60 thread.cpp 61 62 # paging 63 x86_physical_page_mapper_large_memory.cpp 64 65 # paging/32bit 66 X86PagingMethod32Bit.cpp 67 X86PagingStructures32Bit.cpp 68 X86VMTranslationMap32Bit.cpp 69 70 # paging/pae 71 X86PagingMethodPAE.cpp 72 X86PagingStructuresPAE.cpp 73 X86VMTranslationMapPAE.cpp 74 ; 75} 76 77local archGenericSources = 78 arch_altcodepatch.cpp 79 arch_cpu.cpp 80 arch_commpage.cpp 81 arch_debug.cpp 82 arch_debug_console.cpp 83 arch_elf.cpp 84 arch_int.cpp 85 arch_platform.cpp 86 arch_real_time_clock.cpp 87 arch_smp.cpp 88 arch_system_info.cpp 89 arch_thread.cpp 90 arch_timer.cpp 91 arch_user_debugger.cpp 92 arch_vm.cpp 93 arch_vm_translation_map.cpp 94 apic.cpp 95 ioapic.cpp 96 irq_routing_table.cpp 97 msi.cpp 98 pic.cpp 99 100 # paging 101 X86PagingMethod.cpp 102 X86PagingStructures.cpp 103 X86VMTranslationMap.cpp 104 105 # timers 106 x86_apic.cpp 107 x86_hpet.cpp 108 x86_pit.cpp 109; 110 111KernelMergeObject kernel_arch_$(TARGET_KERNEL_ARCH).o : 112 $(archSpecificSources) 113 $(archGenericSources) 114 : 115 $(TARGET_KERNEL_PIC_CCFLAGS) 116; 117 118CreateAsmStructOffsetsHeader asm_offsets.h : asm_offsets.cpp : $(TARGET_KERNEL_ARCH) ; 119 120# We need to specify the dependency on the generated syscalls file explicitly. 121Includes [ FGristFiles interrupts.S arch.S signals.cpp signals_asm.S ] 122 : <syscalls!$(TARGET_PACKAGING_ARCH)>syscall_numbers.h ; 123Includes [ FGristFiles interrupts.S ] 124 : <syscalls!$(TARGET_PACKAGING_ARCH)>syscall_table.h ; 125