-
-
Notifications
You must be signed in to change notification settings - Fork 336
/
Jamfile
109 lines (93 loc) · 3.42 KB
/
Jamfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
SubDir HAIKU_TOP src system runtime_loader ;
local architecture = $(TARGET_PACKAGING_ARCH) ;
UsePrivateHeaders libroot runtime_loader shared ;
UsePrivateHeaders kernel ;
# for <util/KMessage.h>
UsePrivateHeaders libroot os ;
# for "PathBuffer.h"
UsePrivateSystemHeaders ;
ObjectHdrs find_directory.cpp : $(HAIKU_TOP)/src/system/libroot/os ;
# Don't let gcc inject built-in function code. This will cause dependencies
# to libroot, which we don't link against.
SubDirCcFlags -fno-builtin ;
SubDirC++Flags -fno-builtin -fno-exceptions ;
DEFINES +=
KMESSAGE_CONTAINER_ONLY
_LOADER_MODE
USING_LIBGCC=1
;
AddResources runtime_loader : runtime_loader.rdef ;
# needed for "runtime_loader" only
StaticLibrary libruntime_loader.a :
kernel_vsprintf.cpp
kernel_cpp.cpp
KMessage.cpp
find_directory.cpp
:
<src!system!libroot!os!$(architecture)>mutex.o
<src!system!libroot!os!$(architecture)>recursive_lock.o
<src!system!libroot!os!$(architecture)>syscalls.o
<src!system!libroot!os!$(architecture)>sem.o
<src!system!libroot!os!arch!$(TARGET_ARCH)!$(architecture)>tls.o
<src!system!libroot!posix!$(architecture)>errno.o
<src!system!libroot!posix!$(architecture)>fcntl.o
<src!system!libroot!posix!locale!$(architecture)>ctype.o
<src!system!libroot!posix!locale!$(architecture)>LocaleData.o
<src!system!libroot!posix!string!$(architecture)>memchr.o
<src!system!libroot!posix!string!$(architecture)>memcmp.o
<src!system!libroot!posix!string!$(architecture)>memmove.o
<src!system!libroot!posix!string!$(architecture)>strcasecmp.o
<src!system!libroot!posix!string!$(architecture)>strcat.o
<src!system!libroot!posix!string!$(architecture)>strchr.o
<src!system!libroot!posix!string!$(architecture)>strcmp.o
<src!system!libroot!posix!string!$(architecture)>strcpy.o
<src!system!libroot!posix!string!$(architecture)>strcspn.o
<src!system!libroot!posix!string!$(architecture)>strdup.o
<src!system!libroot!posix!string!$(architecture)>strerror.o
<src!system!libroot!posix!string!$(architecture)>strlcat.o
<src!system!libroot!posix!string!$(architecture)>strlcpy.o
<src!system!kernel!lib>strlen.o
<src!system!libroot!posix!string!$(architecture)>strncmp.o
<src!system!libroot!posix!string!$(architecture)>strnlen.o
<src!system!libroot!posix!string!$(architecture)>strpbrk.o
<src!system!libroot!posix!string!$(architecture)>strrchr.o
<src!system!libroot!posix!string!$(architecture)>strspn.o
<src!system!libroot!posix!string!$(architecture)>strstr.o
[ FGristFiles kernel_vsprintf.o ]
;
SEARCH on [ FGristFiles kernel_cpp.cpp ]
= [ FDirName $(HAIKU_TOP) src system kernel util ] ;
SEARCH on [ FGristFiles kernel_vsprintf.cpp ]
= [ FDirName $(HAIKU_TOP) src system kernel lib ] ;
SEARCH on [ FGristFiles KMessage.cpp ]
= [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
SEARCH on [ FGristFiles find_directory.cpp ]
= [ FDirName $(HAIKU_TOP) src system libroot os ] ;
local sources =
add_ons.cpp
elf.cpp
elf_haiku_version.cpp
elf_load_image.cpp
elf_symbol_lookup.cpp
elf_tls.cpp
elf_versioning.cpp
pe.cpp
errors.cpp
export.cpp
heap.cpp
images.cpp
runtime_loader.cpp
utility.cpp
;
Objects $(sources) ;
Ld runtime_loader :
[ FGristFiles $(sources:S=$(SUFOBJ)) ]
libruntime_loader.a
libruntime_loader_$(TARGET_ARCH).a
[ TargetKernelLibsupc++ ]
[ TargetKernelLibgcc ]
[ TargetKernelLibgcceh ]
: $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/runtime_loader.ld
: --no-undefined -shared -soname=runtime_loader
;
HaikuSubInclude arch $(TARGET_ARCH) ;