]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/ldso/ldso/Makefile
update
[l4.git] / l4 / pkg / ldso / ldso / Makefile
1 PKGDIR ?= ..
2 L4DIR  ?= $(PKGDIR)/../..
3
4 CON_DIR := $(PKGDIR)/../uclibc/lib/contrib/uclibc/ldso
5 PTH_DIR := $(PKGDIR)/../uclibc/lib/libpthread
6 UCC_DIR := $(PKGDIR)/../uclibc/lib/uclibc
7
8 DIR_amd64 := x86_64
9 DIR_x86   := i386
10 DIR_arm   := arm
11 DIR_ppc32 := powerpc
12 DIR_sparc := sparc
13
14
15 vpath %.c $(CON_DIR)/ldso
16 vpath %.S $(CON_DIR)/ldso/$(DIR_$(ARCH))
17 vpath aeabi_read_tp-v6p.S     $(UCC_DIR)/ARCH-arm
18 vpath aeabi_read_tp_generic.c $(UCC_DIR)/ARCH-arm
19 vpath ssp-l4.c                $(UCC_DIR)
20
21 PRIVATE_INCDIR-x86 := $(CON_DIR)/../libc
22 PRIVATE_INCDIR := $(PRIVATE_INCDIR-$(ARCH)) \
23                   $(CON_DIR)/ldso/$(DIR_$(ARCH)) \
24                   $(SRC_DIR)           \
25                   $(CON_DIR)/include \
26                   $(PTH_DIR)/src \
27                   $(PTH_DIR)/src/sysdeps/$(DIR_$(ARCH))
28
29
30 TARGET := libld-l4.so
31 SRC_C  := ldso.c fixup.c string.c
32 SRC_CC := syscalls.cc vfs.cc
33 #SRC_S_arm-l4f  += aeabi_read_tp-v6p.S
34 SRC_C_arm-l4f   += aeabi_read_tp_generic.c
35 SRC_S  := resolve.S
36
37 CPPFLAGS := -DNOT_IN_libc -DIS_IN_rtld \
38             -DLDSO_ELFINTERP=\"$(DIR_$(ARCH))/elfinterp.c\" \
39             -include libc-symbols.h -DUCLIBC_LDSO=\"libld-l4.so\" \
40             -DUCLIBC_RUNTIME_PREFIX=\"/\" \
41             -D__LDSO_SEARCH_INTERP_PATH__=1 \
42             -DIS_IN_rtld -D__LIBDL_SHARED__ -DSHARED
43
44 DEFINES_x86-l4f   += -DUSE_TLS=1 -DUSE___THREAD=1
45 DEFINES_amd64-l4f += -DUSE_TLS=1 -DUSE___THREAD=1
46 DEFINES_arm-l4f   += -DUSE_TLS=1 -DUSE___THREAD=1
47 DEFINES_sparc-l4f += -DUSE_TLS=1 -DUSE___THREAD=1
48
49 LDFLAGS  =  -Bsymbolic -Bstatic --warn-common --sort-common \
50             --no-undefined -e _start -z defs -z now \
51             --discard-locals --discard-all   \
52             --gc-sections -ll4sys-direct $(GCCLIB)
53
54 CRT0 :=
55 CRTN :=
56
57
58 include $(L4DIR)/mk/lib.mk
59
60 # stack protector handling
61 ifdef CONFIG_BID_GCC_ENABLE_STACK_PROTECTOR
62 DEFINES  += -D__UCLIBC_HAS_SSP__=1
63 SRC_C    += ssp-l4.c
64 CPPFLAGS := $(filter-out $(DEFINES), $(CPPFLAGS))
65 CPPFLAGS += $(DEFINES)
66 endif
67
68 ldso.1.o: ldso.o
69         $(OBJCOPY) --weaken $< $@
70
71 CXXFLAGS := -DL4_NO_RTTI -fno-rtti -fno-exceptions -O99 -fvisibility=hidden \
72             -fno-threadsafe-statics $(CXXFLAGS_L4_GENERIC)
73
74 CPPFLAGS := $(filter-out -DL4SYS_USE_UTCB_WRAP=1, $(CPPFLAGS))
75
76 L4_LIBS :=