headers/bsd: Add sys/queue.h.
[haiku.git] / src / system / boot / loader / Jamfile
blobb76f85493d56b65a033bad418543ac9a3ea5e46e
1 SubDir HAIKU_TOP src system boot loader ;
3 SetupFeatureObjectsDir $(TARGET_BOOT_PLATFORM) ;
5 SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ;
6 SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ;
7 SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems gpt ;
8 SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ;
9 UsePrivateKernelHeaders ;
10 UsePrivateHeaders [ FDirName kernel disk_device_manager ] ;
11 UsePrivateHeaders [ FDirName kernel util ] ;
12 UsePrivateHeaders shared storage ;
15         DEFINES +=
16                 _BOOT_MODE
17                 BOOT_ARCH=\\\"$(TARGET_KERNEL_ARCH)\\\"
18                 KMESSAGE_CONTAINER_ONLY
20                 BOOT_SUPPORT_PARTITION_INTEL
22                 BOOT_SUPPORT_FILE_SYSTEM_BFS
23                 BOOT_SUPPORT_FILE_SYSTEM_TARFS
24                 #BOOT_SUPPORT_FILE_MAP_DISK
25                 BOOT_SUPPORT_FILE_SYSTEM_FAT
26         ;
28         # Add architecture specific partition/file system modules
30         switch $(TARGET_KERNEL_ARCH) {
31                 case "ppc" :
32                 {
33                         DEFINES +=
34                                 BOOT_SUPPORT_PARTITION_AMIGA
35                                 BOOT_SUPPORT_PARTITION_APPLE
37                                 BOOT_SUPPORT_FILE_SYSTEM_AMIGA_FFS
38                         ;
39                 }
40                 case "x86" :
41                 {
42                         DEFINES +=
43                                 ALTERNATE_BOOT_ARCH=\\\"x86_64\\\"
44                                 BOOT_SUPPORT_ELF64
46                                 BOOT_SUPPORT_PARTITION_EFI
48                                 #BOOT_SUPPORT_FILE_SYSTEM_FAT
49                         ;
50                         if $(HAIKU_BOOT_PLATFORM) = efi {
51                                 DEFINES +=
52                                         _BOOT_PLATFORM_EFI
53                                 ;
54                         }
55                 }
56         }
58         if $(HAIKU_BOOT_PLATFORM) != efi {
59                 DEFINES += BOOT_SUPPORT_ELF32 ;
60         }
62         local kernelC++Header = [ FDirName $(HAIKU_TOP) headers private kernel util
63                 kernel_cpp.h ] ;
65         SubDirC++Flags -fno-rtti -include $(kernelC++Header) ;
69 BootStaticLibrary boot_loader :
70         PathBlacklist.cpp
71         elf.cpp
72         heap.cpp
73         kernel_args.cpp
74         load_driver_settings.cpp
75         loader.cpp
76         main.cpp
77         menu.cpp
78         package_support.cpp
79         pager.cpp
80         partitions.cpp
81         RootFileSystem.cpp
82         stdio.cpp
83         vfs.cpp
84         vm.cpp
86         # libroot
87         driver_settings.cpp
89         # utils
90         kernel_cpp.cpp
91         KMessage.cpp
92         list.cpp
93         ring_buffer.cpp
94         safemode_settings.cpp
95         StringHash.cpp
97         DataIO.cpp
98         Referenceable.cpp
99         ;
101 # The partition support is built in an extra static library
102 # so that only the ones that are used will be included.
104 BootStaticLibrary boot_partitions :
105         FileMapDisk.cpp
106         amiga_rdb.cpp
107         apple.cpp
109         efi_gpt.cpp
110         Header.cpp
111         crc32.cpp
112         utility.cpp
114         intel.cpp
115         PartitionMap.cpp
116         PartitionMapParser.cpp
117         ;
119 # Tell Jam where to find the utility sources
120 SEARCH on [ FGristFiles kernel_cpp.cpp list.cpp ring_buffer.cpp StringHash.cpp ]
121     = [ FDirName $(HAIKU_TOP) src system kernel util ] ;
123 SEARCH on [ FGristFiles KMessage.cpp ]
124     = [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
126 SEARCH on [ FGristFiles safemode_settings.cpp ]
127     = [ FDirName $(HAIKU_TOP) src system kernel debug ] ;
129 SEARCH on [ FGristFiles driver_settings.cpp ]
130     = [ FDirName $(HAIKU_TOP) src system libroot os ] ;
132 SEARCH on [ FGristFiles amiga_rdb.cpp ]
133     = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ] ;
135 SEARCH on [ FGristFiles apple.cpp ]
136     = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ] ;
138 SEARCH on [ FGristFiles efi_gpt.cpp Header.cpp crc32.cpp utility.cpp ]
139     = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems gpt ] ;
141 SEARCH on [ FGristFiles intel.cpp PartitionMap.cpp PartitionMapParser.cpp ]
142     = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ] ;
144 SEARCH on [ FGristFiles stage2_crt0.S ]
145     = [ FDirName $(HAIKU_TOP) src system boot arch $(TARGET_KERNEL_ARCH) ] ;
147 SEARCH on [ FGristFiles DataIO.cpp Referenceable.cpp ]
148     = [ FDirName $(HAIKU_TOP) src kits support ] ;
151 SubInclude HAIKU_TOP src system boot loader file_systems ;
152 SubInclude HAIKU_TOP src system boot loader net ;