* libroot and the runtime loader are no longer built with kernel rules.

* New rule Ld, analogously to KernelLd.
* Added StaticLibrary parameter for supplying additional objects.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15191 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2005-11-27 13:31:50 +00:00
parent dd42286f73
commit 353d20c0c5
39 changed files with 407 additions and 419 deletions
+69 -24
View File
@@ -5,30 +5,33 @@ rule AddSharedObjectGlueCode
# we link with -nostdlib and add the required libs manually, when building # we link with -nostdlib and add the required libs manually, when building
# for Haiku # for Haiku
local platform = [ on $(1) return $(PLATFORM) ] ; local platform ;
if $(platform) = haiku { on $(1) {
local stdLibs = libroot.so ; platform = $(PLATFORM) ;
local beginGlue ; if $(platform) = haiku {
local endGlue ; local stdLibs = libroot.so ;
if $(2) = true { local beginGlue ;
beginGlue += $(HAIKU_EXECUTABLE_BEGIN_GLUE_CODE) ; local endGlue ;
endGlue += $(HAIKU_EXECUTABLE_END_GLUE_CODE) ; if $(2) = true {
} else { beginGlue += $(HAIKU_EXECUTABLE_BEGIN_GLUE_CODE) ;
beginGlue += $(HAIKU_LIBRARY_BEGIN_GLUE_CODE) ; endGlue += $(HAIKU_EXECUTABLE_END_GLUE_CODE) ;
endGlue += $(HAIKU_LIBRARY_END_GLUE_CODE) ; } else {
beginGlue += $(HAIKU_LIBRARY_BEGIN_GLUE_CODE) ;
endGlue += $(HAIKU_LIBRARY_END_GLUE_CODE) ;
# special case for libroot: don't link it against itself # special case for libroot: don't link it against itself
if $(1) = libroot.so { if $(DONT_LINK_AGAINST_LIBROOT) {
stdLibs = ; stdLibs = ;
}
} }
}
LINK_BEGIN_GLUE on $(1) = $(beginGlue) ; LINK_BEGIN_GLUE on $(1) = $(beginGlue) ;
LINK_END_GLUE on $(1) = $(endGlue) ; LINK_END_GLUE on $(1) = $(endGlue) ;
NEEDLIBS on $(1) = $(stdLibs) [ on $(1) return $(NEEDLIBS) ] ; NEEDLIBS on $(1) = $(stdLibs) [ on $(1) return $(NEEDLIBS) ] ;
Depends $(1) : $(stdLibs) $(beginGlue) $(endGlue) ; Depends $(1) : $(stdLibs) $(beginGlue) $(endGlue) ;
LINKFLAGS on $(1) = [ on $(1) return $(LINKFLAGS) ] -nostdlib ; LINKFLAGS on $(1) = [ on $(1) return $(LINKFLAGS) ] -nostdlib ;
}
} }
# link against the compatibility libraries needed for the target # link against the compatibility libraries needed for the target
@@ -139,13 +142,15 @@ rule ScreenSaver
rule StaticLibrary rule StaticLibrary
{ {
# StaticLibrary <lib> : <sources> ; # StaticLibrary <lib> : <sources> : <otherObjects> ;
# Creates a static library from sources. # Creates a static library from sources.
# <lib>: The static library to be built. # <lib>: The static library to be built.
# <source>: List of source files. # <sources>: List of source files.
# <otherObjects>: List of additional object files.
# #
local lib = $(1) ; local lib = $(1) ;
local sources = [ FGristFiles $(2) ] ; local sources = [ FGristFiles $(2) ] ;
local otherObjects = $(3) ;
local objects = $(sources:S=$(SUFOBJ)) ; local objects = $(sources:S=$(SUFOBJ)) ;
if ! [ IsPlatformSupportedForTarget $(1) ] { if ! [ IsPlatformSupportedForTarget $(1) ] {
@@ -154,7 +159,7 @@ rule StaticLibrary
InheritPlatform $(objects) : $(lib) ; InheritPlatform $(objects) : $(lib) ;
StaticLibraryFromObjects $(lib) : $(objects) ; StaticLibraryFromObjects $(lib) : $(objects) $(otherObjects) ;
Objects $(2) ; Objects $(2) ;
} }
@@ -167,6 +172,46 @@ rule StaticLibraryFromObjects
LibraryFromObjects $(1) : $(2) ; LibraryFromObjects $(1) : $(2) ;
} }
rule Ld
{
# Ld <name> : <objs> : <linkerscript> : <flags> ;
#
local target = $(1) ;
local objects = $(2) ;
local linkerScript = $(3) ;
local linkerFlags = $(4) ;
if $(linkerScript) {
linkerFlags += --script=$(linkerScript) ;
}
on $(target) {
if $(PLATFORM) = host {
LINK on $(target) = $(HOST_LD) ;
LINKFLAGS on $(target) = $(HOST_LDFLAGS) $(LINKFLAGS) $(linkerFlags) ;
} else {
LINK on $(target) = $(TARGET_LD) ;
LINKFLAGS on $(target) = $(TARGET_LDFLAGS) $(LINKFLAGS)
$(linkerFlags) ;
}
NEEDLIBS on $(target) = $(NEEDLIBS) ;
LINKLIBS on $(target) = $(LINKLIBS) ;
}
LocalClean clean : $(target) ;
LocalDepends all : $(target) ;
Depends $(target) : $(objects) ;
MakeLocateDebug $(target) ;
}
actions Ld
{
$(LINK) $(LINKFLAGS) -o "$(1)" "$(2)" "$(NEEDLIBS)" $(LINKLIBS)
}
rule MergeObjectFromObjects rule MergeObjectFromObjects
{ {
# MergeObjectFromObjects <name> : <objects> : <other objects> ; # MergeObjectFromObjects <name> : <objects> : <other objects> ;
+2 -8
View File
@@ -1,11 +1,7 @@
SubDir HAIKU_TOP src system boot ; SubDir HAIKU_TOP src system boot ;
KernelObjects byteorder.S ;
SEARCH on [ FGristFiles byteorder.S ]
= [ FDirName $(HAIKU_TOP) src system libroot os arch $(TARGET_ARCH) ] ;
local librootFunctions = local librootFunctions =
byteorder.o
ctype.o ctype.o
qsort.o qsort.o
kernel_vsprintf.o kernel_vsprintf.o
@@ -44,14 +40,12 @@ KernelLd boot_loader :
# kernel) # kernel)
$(librootFunctions:G=src!system!kernel!lib) $(librootFunctions:G=src!system!kernel!lib)
[ FGristFiles byteorder.o ]
# other kernel objects # other kernel objects
<src!system!kernel!arch!$(TARGET_ARCH)>cpuid.o <src!system!kernel!arch!$(TARGET_ARCH)>cpuid.o
: $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/boot_loader.ld : $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/boot_loader.ld
: -Bstatic : -Bstatic
; ;
rule BuildZbeos { rule BuildZbeos {
local zbeos = $(1) ; local zbeos = $(1) ;
+13 -8
View File
@@ -1,17 +1,11 @@
SubDir HAIKU_TOP src system kernel lib ; SubDir HAIKU_TOP src system kernel lib ;
#UsePrivateHeaders libroot ;
# kernel libroot os files # kernel libroot os files
# until the build system is fixed (and no longer uses kernel build rules
# for libroot.so), the KERNEL_OS_MAIN is needed to differentiate between
# kernel and userland builds here
KernelMergeObject kernel_os_main.o : KernelMergeObject kernel_os_main.o :
driver_settings.c driver_settings.c
fs_info.c fs_info.c
: -fno-pic -DKERNEL_OS_MAIN : -fno-pic
; ;
SEARCH on [ FGristFiles driver_settings.c fs_info.c ] SEARCH on [ FGristFiles driver_settings.c fs_info.c ]
@@ -19,7 +13,8 @@ SEARCH on [ FGristFiles driver_settings.c fs_info.c ]
# kernel libroot posix files # kernel libroot posix files
local posixSources = [ FDirName $(HAIKU_TOP) src system libroot posix ] ; local librootSources = [ FDirName $(HAIKU_TOP) src system libroot ] ;
local posixSources = [ FDirName $(librootSources) posix ] ;
SEARCH_SOURCE += [ FDirName $(posixSources) ] ; SEARCH_SOURCE += [ FDirName $(posixSources) ] ;
SEARCH_SOURCE += [ FDirName $(posixSources) locale ] ; SEARCH_SOURCE += [ FDirName $(posixSources) locale ] ;
@@ -110,3 +105,13 @@ KernelMergeObject kernel_posix.o :
: -fno-pic : -fno-pic
; ;
SEARCH_SOURCE += [ FDirName $(librootSources) os arch $(TARGET_ARCH) ] ;
KernelMergeObject kernel_os_arch_$(TARGET_ARCH).o :
atomic.S
byteorder.S
system_time.S
: -fno-pic
;
+2
View File
@@ -38,6 +38,8 @@ local librootObjects =
posix_unistd.o posix_unistd.o
; ;
DONT_LINK_AGAINST_LIBROOT on libroot.so = true ;
SharedLibrary libroot.so SharedLibrary libroot.so
: :
libroot_init.c libroot_init.c
+5 -5
View File
@@ -1,6 +1,8 @@
SubDir HAIKU_TOP src system libroot os ; SubDir HAIKU_TOP src system libroot os ;
KernelMergeObject os_main.o : UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
MergeObject os_main.o :
area.c area.c
atomic.c atomic.c
debug.c debug.c
@@ -21,11 +23,9 @@ KernelMergeObject os_main.o :
thread.c thread.c
time.c time.c
syscalls.S syscalls.S
: ;
-fPIC -DPIC
;
# We need to specify the dependency on the generated syscalls file explicitly. # We need to specify the dependency on the generated syscalls file explicitly.
Depends [ FGristFiles syscalls.o ] : <syscalls>syscalls.S.inc ; Depends [ FGristFiles syscalls.o ] : <syscalls>syscalls.S.inc ;
SubInclude HAIKU_TOP src system libroot os arch ; SubInclude HAIKU_TOP src system libroot os arch $(TARGET_ARCH) ;
-1
View File
@@ -1 +0,0 @@
SubInclude HAIKU_TOP src system libroot os arch $(TARGET_ARCH) ;
+9 -15
View File
@@ -1,18 +1,12 @@
SubDir HAIKU_TOP src system libroot os arch ppc ; SubDir HAIKU_TOP src system libroot os arch ppc ;
KernelMergeObject os_arch_$(TARGET_ARCH).o : UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
<$(SOURCE_GRIST)>atomic.S
<$(SOURCE_GRIST)>byteorder.S
# <$(SOURCE_GRIST)>systeminfo.c
<$(SOURCE_GRIST)>system_time.S
<$(SOURCE_GRIST)>thread.c
<$(SOURCE_GRIST)>tls.c
:
-fPIC -DPIC
;
MergeObjectFromObjects kernel_os_arch_$(TARGET_ARCH).o : MergeObject os_arch_$(TARGET_ARCH).o :
<$(SOURCE_GRIST)>atomic.o atomic.S
<$(SOURCE_GRIST)>byteorder.o byteorder.S
<$(SOURCE_GRIST)>system_time.o # systeminfo.c
; system_time.S
thread.c
tls.c
;
+4 -9
View File
@@ -1,6 +1,8 @@
SubDir HAIKU_TOP src system libroot os arch x86 ; SubDir HAIKU_TOP src system libroot os arch x86 ;
KernelMergeObject os_arch_$(TARGET_ARCH).o : UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
MergeObject os_arch_$(TARGET_ARCH).o :
atomic.S atomic.S
byteorder.S byteorder.S
compatibility.c compatibility.c
@@ -10,11 +12,4 @@ KernelMergeObject os_arch_$(TARGET_ARCH).o :
thread.c thread.c
time.c time.c
tls.c tls.c
: -fPIC -DPIC ;
;
MergeObjectFromObjects kernel_os_arch_$(TARGET_ARCH).o :
<$(SOURCE_GRIST)>atomic.o
<$(SOURCE_GRIST)>byteorder.o
<$(SOURCE_GRIST)>system_time.o
;
+3 -4
View File
@@ -22,10 +22,9 @@
* _BOOT_MODE for the boot loader, and _KERNEL_MODE for the kernel). * _BOOT_MODE for the boot loader, and _KERNEL_MODE for the kernel).
*/ */
#ifndef KERNEL_OS_MAIN // The boot loader is compiled with kernel rules, but we want to explicitely
// ToDo: our build system is broken and compiles libroot.so stuff using kernel // discriminate between the two here.
// build rules - we use this mechanism to make sure we only get what we want. #ifdef _BOOT_MODE
// This can be removed once the build system works as it should.
# undef _KERNEL_MODE # undef _KERNEL_MODE
#endif #endif
+4 -4
View File
@@ -1,8 +1,9 @@
SubDir HAIKU_TOP src system libroot posix ; SubDir HAIKU_TOP src system libroot posix ;
UsePrivateHeaders [ FDirName syslog_daemon ] ; UsePrivateHeaders [ FDirName syslog_daemon ] ;
UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
KernelMergeObject posix_main.o : MergeObject posix_main.o :
assert.c assert.c
dlfcn.c dlfcn.c
dirent.c dirent.c
@@ -16,10 +17,9 @@ KernelMergeObject posix_main.o :
syslog.cpp syslog.cpp
termios.c termios.c
utime.c utime.c
: -fPIC -DPIC ;
;
SubInclude HAIKU_TOP src system libroot posix arch ; SubInclude HAIKU_TOP src system libroot posix arch $(TARGET_ARCH) ;
SubInclude HAIKU_TOP src system libroot posix crypt ; SubInclude HAIKU_TOP src system libroot posix crypt ;
SubInclude HAIKU_TOP src system libroot posix locale ; SubInclude HAIKU_TOP src system libroot posix locale ;
-3
View File
@@ -1,3 +0,0 @@
SubDir HAIKU_TOP src system libroot posix arch ;
SubInclude HAIKU_TOP src system libroot posix arch $(TARGET_ARCH) ;
+2 -3
View File
@@ -1,9 +1,8 @@
SubDir HAIKU_TOP src system libroot posix arch x86 ; SubDir HAIKU_TOP src system libroot posix arch x86 ;
KernelMergeObject posix_arch_$(TARGET_ARCH).o : MergeObject posix_arch_$(TARGET_ARCH).o :
setjmp.S setjmp.S
setjmp_save_sigs.c setjmp_save_sigs.c
sigsetjmp.S sigsetjmp.S
siglongjmp.S siglongjmp.S
: -fPIC -DPIC ;
;
+3 -13
View File
@@ -1,20 +1,10 @@
SubDir HAIKU_TOP src system libroot posix crypt ; SubDir HAIKU_TOP src system libroot posix crypt ;
# filter warnings we don't want here # filter warnings we don't want here
# Note: TARGET_KERNEL_WARNING_CCFLAGS is no config variable, therefore we need TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS)
# to save and restore the original value.
TARGET_WARNING_CCFLAGS = [ FFilter $(CTARGET_WARNING_CCFLAGS)
: -Wall -Wmissing-prototypes -Wsign-compare ] ; : -Wall -Wmissing-prototypes -Wsign-compare ] ;
local original_TARGET_KERNEL_WARNING_CCFLAGS = $(TARGET_KERNEL_WARNING_CCFLAGS) ; MergeObject posix_crypt.o :
TARGET_KERNEL_WARNING_CCFLAGS = [ FFilter $(TARGET_KERNEL_WARNING_CCFLAGS)
: -Wall -Wmissing-prototypes -Wsign-compare ] ;
KernelMergeObject posix_crypt.o :
crypt.c crypt.c
crypt_util.c crypt_util.c
: -fPIC -DPIC ;
;
# restore TARGET_KERNEL_WARNING_CCFLAGS
TARGET_KERNEL_WARNING_CCFLAGS = $(original_TARGET_KERNEL_WARNING_CCFLAGS) ;
@@ -1,13 +1,12 @@
SubDir HAIKU_TOP src system libroot posix arch ppc ; SubDir HAIKU_TOP src system libroot posix arch ppc ;
KernelMergeObject posix_arch_$(TARGET_ARCH).o : MergeObject posix_arch_$(TARGET_ARCH).o :
s_ceilf.c s_ceilf.c
s_floorf.c s_floorf.c
s_fpclassify.c s_fpclassify.c
s_fpclassifyf.c s_fpclassifyf.c
s_fpclassifyl.c s_fpclassifyl.c
: -fPIC -DPIC ;
;
SEARCH on [ FGristFiles SEARCH on [ FGristFiles
s_fpclassify.c s_fpclassifyf.c s_fpclassifyl.c s_fpclassify.c s_fpclassifyf.c s_fpclassifyl.c
@@ -15,7 +15,7 @@ DEBUG = 0 ;
SubDirCcFlags -D_GNU_SOURCE -D_IEEE_LIBM ; SubDirCcFlags -D_GNU_SOURCE -D_IEEE_LIBM ;
KernelMergeObject posix_gnu_arch_$(TARGET_ARCH).o : MergeObject posix_gnu_arch_$(TARGET_ARCH).o :
add_n.S add_n.S
addmul_1.S addmul_1.S
cmp.c cmp.c
@@ -76,8 +76,7 @@ KernelMergeObject posix_gnu_arch_$(TARGET_ARCH).o :
w_fmod.c w_fmod.c
w_fmodf.c w_fmodf.c
w_fmodl.c w_fmodl.c
: -fPIC -DPIC ;
;
SEARCH on [ FGristFiles SEARCH on [ FGristFiles
cmp.c divrem.c mul.c mul_n.c dbl2mpn.c mpn2dbl.c s_fpclassify.c s_fpclassifyf.c s_fpclassifyl.c s_modf.c s_modff.c s_modfl.c cmp.c divrem.c mul.c mul_n.c dbl2mpn.c mpn2dbl.c s_fpclassify.c s_fpclassifyf.c s_fpclassifyl.c s_modf.c s_modff.c s_modfl.c
+2 -3
View File
@@ -7,8 +7,7 @@ SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ;
KernelMergeObject posix_gnu_ctype.o : MergeObject posix_gnu_ctype.o :
ctype.c ctype.c
ctype-info.c ctype-info.c
: -fPIC -DPIC ;
;
@@ -7,11 +7,10 @@ SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ;
KernelMergeObject posix_gnu_ext.o : MergeObject posix_gnu_ext.o :
getopt.c getopt.c
getopt1.c getopt1.c
getopt_init.c getopt_init.c
obstack.c obstack.c
: -fPIC -DPIC ;
;
+164 -173
View File
@@ -13,183 +13,174 @@ SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc iconv ;
# obprintf() is also disabled, because we don't have # obprintf() is also disabled, because we don't have
# obstack functionality # obstack functionality
KernelMergeObject posix_gnu_libio.o : MergeObject posix_gnu_libio.o :
<$(SOURCE_GRIST)>clearerr.c clearerr.c
<$(SOURCE_GRIST)>clearerr_u.c clearerr_u.c
<$(SOURCE_GRIST)>fcloseall.c fcloseall.c
<$(SOURCE_GRIST)>feof.c feof.c
<$(SOURCE_GRIST)>feof_u.c feof_u.c
<$(SOURCE_GRIST)>ferror.c ferror.c
<$(SOURCE_GRIST)>ferror_u.c ferror_u.c
<$(SOURCE_GRIST)>fileno.c fileno.c
<$(SOURCE_GRIST)>filedoalloc.c filedoalloc.c
<$(SOURCE_GRIST)>fileops.c fileops.c
<$(SOURCE_GRIST)>flockfile.c flockfile.c
<$(SOURCE_GRIST)>fputc.c fputc.c
<$(SOURCE_GRIST)>fputc_u.c fputc_u.c
<$(SOURCE_GRIST)>freopen.c freopen.c
<$(SOURCE_GRIST)>fseek.c fseek.c
<$(SOURCE_GRIST)>fseeko.c fseeko.c
<$(SOURCE_GRIST)>ftello.c ftello.c
<$(SOURCE_GRIST)>fwide.c fwide.c
<$(SOURCE_GRIST)>genops.c genops.c
<$(SOURCE_GRIST)>getc.c getc.c
<$(SOURCE_GRIST)>getc_u.c getc_u.c
<$(SOURCE_GRIST)>getchar.c getchar.c
<$(SOURCE_GRIST)>getchar_u.c getchar_u.c
<$(SOURCE_GRIST)>iofclose.c iofclose.c
<$(SOURCE_GRIST)>iofdopen.c iofdopen.c
<$(SOURCE_GRIST)>iofflush.c iofflush.c
<$(SOURCE_GRIST)>iofgetpos.c iofgetpos.c
<$(SOURCE_GRIST)>iofgets.c iofgets.c
<$(SOURCE_GRIST)>iofgets_u.c iofgets_u.c
<$(SOURCE_GRIST)>iofopen.c iofopen.c
<$(SOURCE_GRIST)>iofputs.c iofputs.c
<$(SOURCE_GRIST)>iofputs_u.c iofputs_u.c
<$(SOURCE_GRIST)>iofread.c iofread.c
<$(SOURCE_GRIST)>iofread_u.c iofread_u.c
<$(SOURCE_GRIST)>iofsetpos.c iofsetpos.c
<$(SOURCE_GRIST)>ioftell.c ioftell.c
<$(SOURCE_GRIST)>iofwrite.c iofwrite.c
<$(SOURCE_GRIST)>iofwrite_u.c iofwrite_u.c
<$(SOURCE_GRIST)>iofwide.c iofwide.c
<$(SOURCE_GRIST)>iogetdelim.c iogetdelim.c
<$(SOURCE_GRIST)>iogetline.c iogetline.c
<$(SOURCE_GRIST)>iogets.c iogets.c
<$(SOURCE_GRIST)>iopadn.c iopadn.c
<$(SOURCE_GRIST)>iopopen.c iopopen.c
<$(SOURCE_GRIST)>ioputs.c ioputs.c
<$(SOURCE_GRIST)>ioseekoff.c ioseekoff.c
<$(SOURCE_GRIST)>ioseekpos.c ioseekpos.c
<$(SOURCE_GRIST)>iosetbuffer.c iosetbuffer.c
<$(SOURCE_GRIST)>iosetvbuf.c iosetvbuf.c
<$(SOURCE_GRIST)>ioungetc.c ioungetc.c
<$(SOURCE_GRIST)>iovdprintf.c iovdprintf.c
<$(SOURCE_GRIST)>iovsprintf.c iovsprintf.c
<$(SOURCE_GRIST)>iovsscanf.c iovsscanf.c
# <$(SOURCE_GRIST)>obprintf.c # obprintf.c
<$(SOURCE_GRIST)>pclose.c pclose.c
<$(SOURCE_GRIST)>peekc.c peekc.c
<$(SOURCE_GRIST)>putc.c putc.c
<$(SOURCE_GRIST)>putc_u.c putc_u.c
<$(SOURCE_GRIST)>putchar.c putchar.c
<$(SOURCE_GRIST)>putchar_u.c putchar_u.c
<$(SOURCE_GRIST)>rewind.c rewind.c
<$(SOURCE_GRIST)>setbuf.c setbuf.c
<$(SOURCE_GRIST)>setlinebuf.c setlinebuf.c
<$(SOURCE_GRIST)>stdfiles.c stdfiles.c
<$(SOURCE_GRIST)>stdio.c stdio.c
<$(SOURCE_GRIST)>strops.c strops.c
<$(SOURCE_GRIST)>vasprintf.c vasprintf.c
<$(SOURCE_GRIST)>vscanf.c vscanf.c
<$(SOURCE_GRIST)>vsnprintf.c vsnprintf.c
<$(SOURCE_GRIST)>wfile_stubs.c wfile_stubs.c
# wide character # wide character
<$(SOURCE_GRIST)>fputwc.c fputwc.c
<$(SOURCE_GRIST)>fputwc_u.c fputwc_u.c
<$(SOURCE_GRIST)>fwprintf.c fwprintf.c
# <$(SOURCE_GRIST)>fwscanf.c # fwscanf.c
<$(SOURCE_GRIST)>getwc.c getwc.c
<$(SOURCE_GRIST)>getwc_u.c getwc_u.c
<$(SOURCE_GRIST)>iofputws.c iofputws.c
<$(SOURCE_GRIST)>iofputws_u.c iofputws_u.c
<$(SOURCE_GRIST)>iogetwline.c iogetwline.c
<$(SOURCE_GRIST)>ioungetwc.c ioungetwc.c
# <$(SOURCE_GRIST)>iovswscanf.c # iovswscanf.c
<$(SOURCE_GRIST)>iowpadn.c iowpadn.c
<$(SOURCE_GRIST)>putwc.c putwc.c
<$(SOURCE_GRIST)>putwc_u.c putwc_u.c
<$(SOURCE_GRIST)>putwchar.c putwchar.c
<$(SOURCE_GRIST)>putwchar_u.c putwchar_u.c
<$(SOURCE_GRIST)>swprintf.c swprintf.c
# <$(SOURCE_GRIST)>swscanf.c # swscanf.c
<$(SOURCE_GRIST)>vswprintf.c vswprintf.c
<$(SOURCE_GRIST)>vwprintf.c vwprintf.c
# <$(SOURCE_GRIST)>vwscanf.c # vwscanf.c
# <$(SOURCE_GRIST)>wfiledoalloc.c # wfiledoalloc.c
# <$(SOURCE_GRIST)>wfileops.c # wfileops.c
<$(SOURCE_GRIST)>wgenops.c wgenops.c
<$(SOURCE_GRIST)>wprintf.c wprintf.c
# <$(SOURCE_GRIST)>wscanf.c # wscanf.c
<$(SOURCE_GRIST)>wstrops.c wstrops.c
: ;
-fPIC -DPIC
;
# use this to build a standalone libio.so # use this to build a standalone libio.so
# using libio.so, haiku's version of libstdc++.r4.so can be tested under R5. # using libio.so, haiku's version of libstdc++.r4.so can be tested under R5.
#SharedLibrary libio.so : #SharedLibrary libio.so :
# <$(SOURCE_GRIST)>clearerr.c # clearerr.c
# <$(SOURCE_GRIST)>clearerr_u.c # clearerr_u.c
# <$(SOURCE_GRIST)>fcloseall.c # fcloseall.c
# <$(SOURCE_GRIST)>feof.c # feof.c
# <$(SOURCE_GRIST)>feof_u.c # feof_u.c
# <$(SOURCE_GRIST)>ferror.c # ferror.c
# <$(SOURCE_GRIST)>ferror_u.c # ferror_u.c
# <$(SOURCE_GRIST)>fileno.c # fileno.c
# <$(SOURCE_GRIST)>filedoalloc.c # filedoalloc.c
# <$(SOURCE_GRIST)>fileops.c # fileops.c
# <$(SOURCE_GRIST)>flockfile.c # flockfile.c
# <$(SOURCE_GRIST)>fputc.c # fputc.c
# <$(SOURCE_GRIST)>fputc_u.c # fputc_u.c
# <$(SOURCE_GRIST)>fseek.c # fseek.c
# <$(SOURCE_GRIST)>fseeko.c # fseeko.c
# <$(SOURCE_GRIST)>ftello.c # ftello.c
# <$(SOURCE_GRIST)>fwide.c # fwide.c
# <$(SOURCE_GRIST)>genops.c # genops.c
# <$(SOURCE_GRIST)>getc.c # getc.c
# <$(SOURCE_GRIST)>getc_u.c # getc_u.c
# <$(SOURCE_GRIST)>getchar.c # getchar.c
# <$(SOURCE_GRIST)>getchar_u.c # getchar_u.c
# <$(SOURCE_GRIST)>iofclose.c # iofclose.c
# <$(SOURCE_GRIST)>iofdopen.c # iofdopen.c
# <$(SOURCE_GRIST)>iofflush.c # iofflush.c
# <$(SOURCE_GRIST)>iofgets.c # iofgets.c
# <$(SOURCE_GRIST)>iofgets_u.c # iofgets_u.c
# <$(SOURCE_GRIST)>iofopen.c # iofopen.c
# <$(SOURCE_GRIST)>iofputs.c # iofputs.c
# <$(SOURCE_GRIST)>iofputs_u.c # iofputs_u.c
# <$(SOURCE_GRIST)>iofread.c # iofread.c
# <$(SOURCE_GRIST)>iofread_u.c # iofread_u.c
# <$(SOURCE_GRIST)>ioftell.c # ioftell.c
# <$(SOURCE_GRIST)>iofwrite.c # iofwrite.c
# <$(SOURCE_GRIST)>iofwrite_u.c # iofwrite_u.c
# <$(SOURCE_GRIST)>iofwide.c # iofwide.c
# <$(SOURCE_GRIST)>iogetdelim.c # iogetdelim.c
# <$(SOURCE_GRIST)>iogetline.c # iogetline.c
# <$(SOURCE_GRIST)>iogets.c # iogets.c
# <$(SOURCE_GRIST)>iopadn.c # iopadn.c
# <$(SOURCE_GRIST)>iopopen.c # iopopen.c
# <$(SOURCE_GRIST)>ioputs.c # ioputs.c
# <$(SOURCE_GRIST)>ioseekoff.c # ioseekoff.c
# <$(SOURCE_GRIST)>ioseekpos.c # ioseekpos.c
# <$(SOURCE_GRIST)>iosetbuffer.c # iosetbuffer.c
# <$(SOURCE_GRIST)>iosetvbuf.c # iosetvbuf.c
# <$(SOURCE_GRIST)>ioungetc.c # ioungetc.c
# <$(SOURCE_GRIST)>iovdprintf.c # iovdprintf.c
# <$(SOURCE_GRIST)>iovsprintf.c # iovsprintf.c
# <$(SOURCE_GRIST)>iovsscanf.c # iovsscanf.c
# <$(SOURCE_GRIST)>peekc.c # peekc.c
# <$(SOURCE_GRIST)>putc.c # putc.c
# <$(SOURCE_GRIST)>putc_u.c # putc_u.c
# <$(SOURCE_GRIST)>putchar.c # putchar.c
# <$(SOURCE_GRIST)>putchar_u.c # putchar_u.c
# <$(SOURCE_GRIST)>rewind.c # rewind.c
# <$(SOURCE_GRIST)>setbuf.c # setbuf.c
# <$(SOURCE_GRIST)>setlinebuf.c # setlinebuf.c
# <$(SOURCE_GRIST)>stdfiles.c # stdfiles.c
# <$(SOURCE_GRIST)>stdio.c # stdio.c
# <$(SOURCE_GRIST)>strops.c # strops.c
# <$(SOURCE_GRIST)>vasprintf.c # vasprintf.c
# <$(SOURCE_GRIST)>vscanf.c # vscanf.c
# <$(SOURCE_GRIST)>vsnprintf.c # vsnprintf.c
# <$(SOURCE_GRIST)>wfile_stubs.c ; # wfile_stubs.c ;
#KernelMergeObject kernel_posix_stdio.o :
# <$(SOURCE_GRIST)>kvsprintf.c
# :
# -fPIC -DPIC
# ;
#
@@ -6,7 +6,7 @@ SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ;
KernelMergeObject posix_gnu_locale.o : MergeObject posix_gnu_locale.o :
C-ctype.c C-ctype.c
C-monetary.c C-monetary.c
C_name.c C_name.c
@@ -15,5 +15,4 @@ KernelMergeObject posix_gnu_locale.o :
lc-monetary.c lc-monetary.c
lc-numeric.c lc-numeric.c
mb_cur_max.c mb_cur_max.c
: -fPIC -DPIC ;
;
+2 -4
View File
@@ -3,8 +3,6 @@ SubDir HAIKU_TOP src system libroot posix glibc regex ;
SubDirHdrs $(HAIKU_TOP) headers ; SubDirHdrs $(HAIKU_TOP) headers ;
KernelMergeObject posix_gnu_regex.o : KernelMergeObject posix_gnu_regex.o :
<$(SOURCE_GRIST)>regex.c regex.c
: ;
-fPIC -DPIC -w
;
@@ -12,41 +12,39 @@ SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ;
# ToDo: for now, all wide character functions are disabled # ToDo: for now, all wide character functions are disabled
KernelMergeObject posix_gnu_stdio.o : #_common.o : MergeObject posix_gnu_stdio.o : #_common.o :
<$(SOURCE_GRIST)>_itoa.c _itoa.c
<$(SOURCE_GRIST)>_itowa.c _itowa.c
<$(SOURCE_GRIST)>asprintf.c asprintf.c
<$(SOURCE_GRIST)>dprintf.c dprintf.c
<$(SOURCE_GRIST)>fprintf.c fprintf.c
<$(SOURCE_GRIST)>fscanf.c fscanf.c
<$(SOURCE_GRIST)>getline.c getline.c
<$(SOURCE_GRIST)>getw.c getw.c
<$(SOURCE_GRIST)>itoa-digits.c itoa-digits.c
<$(SOURCE_GRIST)>itoa-udigits.c itoa-udigits.c
<$(SOURCE_GRIST)>itowa-digits.c itowa-digits.c
<$(SOURCE_GRIST)>perror.c perror.c
<$(SOURCE_GRIST)>printf-prs.c printf-prs.c
<$(SOURCE_GRIST)>printf.c printf.c
<$(SOURCE_GRIST)>printf_fp.c printf_fp.c
<$(SOURCE_GRIST)>printf_fphex.c printf_fphex.c
# <$(SOURCE_GRIST)>printf_size.c # printf_size.c
<$(SOURCE_GRIST)>putw.c putw.c
<$(SOURCE_GRIST)>reg-printf.c reg-printf.c
<$(SOURCE_GRIST)>scanf.c scanf.c
<$(SOURCE_GRIST)>snprintf.c snprintf.c
<$(SOURCE_GRIST)>sprintf.c sprintf.c
<$(SOURCE_GRIST)>sscanf.c sscanf.c
<$(SOURCE_GRIST)>tempnam.c tempnam.c
<$(SOURCE_GRIST)>tempname.c tempname.c
<$(SOURCE_GRIST)>tmpnam.c tmpnam.c
<$(SOURCE_GRIST)>tmpnam_r.c tmpnam_r.c
<$(SOURCE_GRIST)>vfprintf.c vfprintf.c
# <$(SOURCE_GRIST)>vfprintf_stub.c # vfprintf_stub.c
# <$(SOURCE_GRIST)>vfscanf_stub.c # vfscanf_stub.c
<$(SOURCE_GRIST)>vfscanf.c vfscanf.c
<$(SOURCE_GRIST)>vfwprintf.c vfwprintf.c
# <$(SOURCE_GRIST)>vfwscanf.c # vfwscanf.c
<$(SOURCE_GRIST)>vprintf.c vprintf.c
: ;
-fPIC -DPIC
;
@@ -5,7 +5,7 @@ SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ;
KernelMergeObject posix_gnu_stdlib.o : MergeObject posix_gnu_stdlib.o :
drand48.c drand48.c
drand48_r.c drand48_r.c
drand48-iter.c drand48-iter.c
@@ -31,5 +31,4 @@ KernelMergeObject posix_gnu_stdlib.o :
srand48_r.c srand48_r.c
wcstombs.c wcstombs.c
wctomb.c wctomb.c
: -fPIC -DPIC ;
;
@@ -14,7 +14,7 @@ SubDirCcFlags -D_GNU_SOURCE -DUSE_IN_LIBIO ;
# ToDo: for now, all wide character functions are disabled # ToDo: for now, all wide character functions are disabled
KernelMergeObject posix_gnu_wcsmbs.o : MergeObject posix_gnu_wcsmbs.o :
btowc.c btowc.c
mbrlen.c mbrlen.c
mbrtowc.c mbrtowc.c
@@ -61,5 +61,4 @@ KernelMergeObject posix_gnu_wcsmbs.o :
wmemmove.c wmemmove.c
wmempcpy.c wmempcpy.c
wmemset.c wmemset.c
: -fPIC -DPIC ;
;
@@ -9,10 +9,9 @@ SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ;
KernelMergeObject posix_gnu_wctype.o : MergeObject posix_gnu_wctype.o :
iswctype.c iswctype.c
wcfuncs.c wcfuncs.c
wctrans.c wctrans.c
wctype.c wctype.c
: -fPIC -DPIC ;
;
+2 -3
View File
@@ -1,8 +1,7 @@
SubDir HAIKU_TOP src system libroot posix locale ; SubDir HAIKU_TOP src system libroot posix locale ;
KernelMergeObject posix_locale.o : MergeObject posix_locale.o :
#ctype.c #ctype.c
localeconv.c localeconv.c
setlocale.c setlocale.c
: -fPIC -DPIC ;
;
+4 -2
View File
@@ -1,10 +1,12 @@
SubDir HAIKU_TOP src system libroot posix malloc ; SubDir HAIKU_TOP src system libroot posix malloc ;
KernelMergeObject posix_malloc.o : UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
MergeObject posix_malloc.o :
arch-specific.cpp arch-specific.cpp
heap.cpp heap.cpp
processheap.cpp processheap.cpp
superblock.cpp superblock.cpp
threadheap.cpp threadheap.cpp
wrapper.cpp wrapper.cpp
; ;
+4 -5
View File
@@ -1,11 +1,12 @@
SubDir HAIKU_TOP src system libroot posix math ; SubDir HAIKU_TOP src system libroot posix math ;
UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
#SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) glibc ] ; #SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) glibc ] ;
#SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) glibc include ] ; #SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) glibc include ] ;
#SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) glibc include arch $(TARGET_ARCH) ] ; #SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) glibc include arch $(TARGET_ARCH) ] ;
SubDirCcFlags -Dnational ; SubDirCcFlags -Dnational ;
KernelMergeObject posix_math.o : MergeObject posix_math.o :
acosh.c acosh.c
asincos.c asincos.c
asinh.c asinh.c
@@ -36,8 +37,6 @@ KernelMergeObject posix_math.o :
sinh.c sinh.c
tan.c tan.c
tanh.c tanh.c
: ;
-fPIC -DPIC
;
SubInclude HAIKU_TOP src system libroot posix math arch ; SubInclude HAIKU_TOP src system libroot posix math arch $(TARGET_ARCH) ;
@@ -1,3 +0,0 @@
SubDir HAIKU_TOP src system libroot posix math arch ;
SubInclude HAIKU_TOP src system libroot posix math arch $(TARGET_ARCH) ;
@@ -1,10 +1,8 @@
SubDir HAIKU_TOP src system libroot posix math arch ppc ; SubDir HAIKU_TOP src system libroot posix math arch ppc ;
KernelMergeObject posix_math_arch_$(TARGET_ARCH).o : MergeObject posix_math_arch_$(TARGET_ARCH).o :
<$(SOURCE_GRIST)>fabs.c fabs.c
<$(SOURCE_GRIST)>frexp.c frexp.c
<$(SOURCE_GRIST)>isinf.c isinf.c
<$(SOURCE_GRIST)>ldexp.c ldexp.c
: ;
-fPIC -DPIC
;
@@ -1,6 +1,6 @@
SubDir HAIKU_TOP src system libroot posix math arch x86 ; SubDir HAIKU_TOP src system libroot posix math arch x86 ;
KernelMergeObject posix_math_arch_$(TARGET_ARCH).o : MergeObject posix_math_arch_$(TARGET_ARCH).o :
cos.S cos.S
frexp.c frexp.c
isinf.c isinf.c
@@ -8,6 +8,4 @@ KernelMergeObject posix_math_arch_$(TARGET_ARCH).o :
sin.S sin.S
sqrt.S sqrt.S
sqrtf.S sqrtf.S
: ;
-fPIC -DPIC
;
+2 -3
View File
@@ -2,10 +2,9 @@ SubDir HAIKU_TOP src system libroot posix pthread ;
UsePrivateHeaders libroot ; UsePrivateHeaders libroot ;
KernelMergeObject posix_pthread.o : MergeObject posix_pthread.o :
pthread_atfork.c pthread_atfork.c
pthread_mutex.c pthread_mutex.c
pthread_mutexattr.c pthread_mutexattr.c
: -fPIC -DPIC ;
;
+4 -11
View File
@@ -1,6 +1,8 @@
SubDir HAIKU_TOP src system libroot posix signal ; SubDir HAIKU_TOP src system libroot posix signal ;
KernelMergeObject posix_signal.o : UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
MergeObject posix_signal.o :
kill.c kill.c
raise.c raise.c
send_signal.c send_signal.c
@@ -11,13 +13,4 @@ KernelMergeObject posix_signal.o :
sigset.c sigset.c
sigsuspend.c sigsuspend.c
strsignal.c strsignal.c
: -fPIC -DPIC ;
;
# there are no files in the kernel
#MergeObjectFromObjects kernel_posix_signal.o :
# :
# -fPIC -DPIC
# ;
+6 -5
View File
@@ -1,9 +1,11 @@
SubDir HAIKU_TOP src system libroot posix stdio ; SubDir HAIKU_TOP src system libroot posix stdio ;
KernelMergeObject posix_stdio.o : UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
MergeObject posix_stdio.o :
_fseek.c _fseek.c
<$(SOURCE_GRIST)>remove.c remove.c
<$(SOURCE_GRIST)>rename.c rename.c
# The other files are superseded by the glibc libio/stdio stuff # The other files are superseded by the glibc libio/stdio stuff
# <$(SOURCE_GRIST)>fclose.c # <$(SOURCE_GRIST)>fclose.c
# <$(SOURCE_GRIST)>feof.c # <$(SOURCE_GRIST)>feof.c
@@ -49,5 +51,4 @@ KernelMergeObject posix_stdio.o :
# <$(SOURCE_GRIST)>vsprintf.c # <$(SOURCE_GRIST)>vsprintf.c
# <$(SOURCE_GRIST)>wbuf.c # <$(SOURCE_GRIST)>wbuf.c
# <$(SOURCE_GRIST)>wsetup.c # <$(SOURCE_GRIST)>wsetup.c
: -fPIC -DPIC ;
;
+3 -3
View File
@@ -1,8 +1,9 @@
SubDir HAIKU_TOP src system libroot posix stdlib ; SubDir HAIKU_TOP src system libroot posix stdlib ;
UsePrivateHeaders libroot ; UsePrivateHeaders libroot ;
UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
KernelMergeObject posix_stdlib.o : MergeObject posix_stdlib.o :
abs.c abs.c
atfork.c atfork.c
atof.c atof.c
@@ -24,5 +25,4 @@ KernelMergeObject posix_stdlib.o :
strtoll.c strtoll.c
strtoul.c strtoul.c
strtoull.c strtoull.c
: -fPIC -DPIC ;
;
+2 -4
View File
@@ -1,6 +1,6 @@
SubDir HAIKU_TOP src system libroot posix string ; SubDir HAIKU_TOP src system libroot posix string ;
KernelMergeObject posix_string.o : MergeObject posix_string.o :
bcmp.c bcmp.c
bcopy.c bcopy.c
bzero.c bzero.c
@@ -36,6 +36,4 @@ KernelMergeObject posix_string.o :
strstr.c strstr.c
strtok.c strtok.c
strxfrm.c strxfrm.c
;
: -fPIC -DPIC
;
+4 -3
View File
@@ -1,6 +1,8 @@
SubDir HAIKU_TOP src system libroot posix sys ; SubDir HAIKU_TOP src system libroot posix sys ;
KernelMergeObject posix_sys.o : UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
MergeObject posix_sys.o :
chmod.c chmod.c
getrusage.c getrusage.c
gettimeofday.c gettimeofday.c
@@ -17,5 +19,4 @@ KernelMergeObject posix_sys.o :
umask.c umask.c
uname.c uname.c
wait.c wait.c
: -fPIC -DPIC ;
;
+3 -3
View File
@@ -4,8 +4,9 @@ SubDir HAIKU_TOP src system libroot posix time ;
SubDirCcFlags -DNOID -DTZDIR='\"/etc/timezones\"' -DUSG_COMPAT -DTM_GMTOFF=tm_gmtoff -DTM_ZONE=tm_zone -DPCTS=1 ; SubDirCcFlags -DNOID -DTZDIR='\"/etc/timezones\"' -DUSG_COMPAT -DTM_GMTOFF=tm_gmtoff -DTM_ZONE=tm_zone -DPCTS=1 ;
UsePrivateHeaders [ FDirName libroot time ] ; UsePrivateHeaders [ FDirName libroot time ] ;
UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
KernelMergeObject posix_time.o : MergeObject posix_time.o :
asctime.c asctime.c
clock.c clock.c
ctime.c ctime.c
@@ -16,8 +17,7 @@ KernelMergeObject posix_time.o :
# strptime.c # strptime.c
# timelocal.c # timelocal.c
time.c time.c
: -fPIC -DPIC ;
;
# Explanations of flags: # Explanations of flags:
# #
+4 -3
View File
@@ -1,6 +1,8 @@
SubDir HAIKU_TOP src system libroot posix unistd ; SubDir HAIKU_TOP src system libroot posix unistd ;
KernelMergeObject posix_unistd.o : UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
MergeObject posix_unistd.o :
access.c access.c
alarm.c alarm.c
chown.c chown.c
@@ -34,5 +36,4 @@ KernelMergeObject posix_unistd.o :
usergroup.c usergroup.c
usleep.c usleep.c
write.c write.c
: -fPIC -DPIC ;
;
+27 -23
View File
@@ -2,24 +2,17 @@ SubDir HAIKU_TOP src system runtime_loader ;
SubDirHdrs [ FDirName $(SUBDIR) arch ] ; SubDirHdrs [ FDirName $(SUBDIR) arch ] ;
UsePrivateHeaders runtime_loader ; UsePrivateHeaders runtime_loader ;
UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
KernelObjects # Don't let gcc inject built-in function code. This will cause dependencies
rld.c # to libroot, which we don't link against.
rldexport.c SubDirCcFlags -fno-builtin ;
rldelf.c SubDirC++Flags -fno-builtin ;
rldheap.c
rldaux.c # needed for rld.so only
StaticLibrary librld.a :
kernel_vsprintf.c kernel_vsprintf.c
:
: -fpic
;
SEARCH on [ FGristFiles kernel_vsprintf.c ]
= [ FDirName $(HAIKU_TOP) src system kernel lib ] ;
KernelStaticLibraryObjects librld.a :
# needed for rld.so only
<src!system!libroot!os>syscalls.o <src!system!libroot!os>syscalls.o
<src!system!libroot!os>sem.o <src!system!libroot!os>sem.o
<src!system!libroot!os!arch!$(TARGET_ARCH)>atomic.o <src!system!libroot!os!arch!$(TARGET_ARCH)>atomic.o
@@ -54,13 +47,24 @@ KernelStaticLibraryObjects librld.a :
<src!system!libroot!posix!string>strrchr.o <src!system!libroot!posix!string>strrchr.o
<src!system!libroot!posix!string>strspn.o <src!system!libroot!posix!string>strspn.o
<src!system!libroot!posix!string>strstr.o <src!system!libroot!posix!string>strstr.o
[ FGristFiles kernel_vsprintf.o ]
; ;
KernelLd rld.so : SEARCH on [ FGristFiles kernel_vsprintf.c ]
[ FGristFiles rld.o rldelf.o rldexport.o rldheap.o rldaux.o = [ FDirName $(HAIKU_TOP) src system kernel lib ] ;
kernel_vsprintf.o ]
librld.a Objects
: $(SUBDIR)/arch/$(TARGET_ARCH)/rld.ld rld.c
: rldexport.c
: rldelf.c
rldheap.c
rldaux.c
;
Ld rld.so :
[ FGristFiles rld.o rldelf.o rldexport.o rldheap.o rldaux.o ]
librld.a
$(TARGET_GCC_LIBGCC)
: $(SUBDIR)/arch/$(TARGET_ARCH)/rld.ld
; ;