summaryrefslogtreecommitdiff
path: root/ldso/ldso/Makefile.in
blob: 47ab64bca448711dc6621ae8de0028ab12370656 (plain)
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
# Makefile for uClibc
#
# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
#
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#

# psm: I do not know if the order of includes is relevant
# to be sure I have put them first
CFLAGS:=-I$(top_builddir)ldso/include -I. $(CFLAGS) $(PICFLAG) $(SSP_DISABLE_FLAGS)

CFLAGS+=-DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" -DUCLIBC_LDSO=\"$(UCLIBC_LDSO)\"

ifeq ($(SUPPORT_LD_DEBUG),y)
CFLAGS+=-D__SUPPORT_LD_DEBUG__
endif

ifeq ($(SUPPORT_LD_DEBUG_EARLY),y)
CFLAGS+=-D__SUPPORT_LD_DEBUG_EARLY__
endif

CFLAGS+=-DNOT_IN_libc

ifeq ($(DODEBUG),y)
# Not really much point in including debugging info, since gdb
# can't really debug ldso, since gdb requires help from ldso to
# debug things....
# psm: keep this in sync w/ Rules.mak
CFLAGS:=$(CFLAGS:-O0 -g3=-Os -g)
endif

# BEWARE!!! At least mips* will die if -O0 is used!!!
ifeq ($(TARGET_ARCH),mips)
CFLAGS:=$(CFLAGS:-O0=-O1)
endif

# This stuff will not work with -fomit-frame-pointer
CFLAGS:=$(CFLAGS:-fomit-frame-pointer=)

ifeq ($(SUPPORT_LD_DEBUG),y)
LDFLAGS:=$(LDFLAGS_NOSTRIP)
endif

# can't combine .c w/ .S
DOMULTI=n

LIB_NAME:=ld-uClibc

ld-uClibc_DIR:=$(top_srcdir)ldso/ldso
ld-uClibc_OUT:=$(top_builddir)ldso/ldso

ld-uClibc_SRC:=$(ld-uClibc_DIR)/ldso.c
ld-uClibc_OBJ:=$(patsubst $(ld-uClibc_DIR)/%.c,$(ld-uClibc_OUT)/%.o,$(ld-uClibc_SRC))

ld-uClibc_SSRC:=$(wildcard $(ld-uClibc_DIR)/$(TARGET_ARCH)/*.S)
ld-uClibc_SOBJ:=$(patsubst $(ld-uClibc_DIR)/$(TARGET_ARCH)/%.S,$(ld-uClibc_OUT)/$(TARGET_ARCH)/%.o,$(ld-uClibc_SSRC))

ld-uClibc_OBJS:=$(ld-uClibc_OBJ) $(ld-uClibc_SOBJ)

EXTRA_LINK_OPTS:=-e _start -z now -Bsymbolic --export-dynamic --sort-common --discard-locals --discard-all --no-undefined
EXTRA_LINK_LIBS:=$(LIBGCC) # $(LDADD_LIBFLOAT)

ld-uClibc-so-$(HAVE_SHARED):=$(ld-uClibc_OBJS:.o=.os)

objclean-y+=ld-uClibc_clean ld-uClibc_arch_clean

ld-uClibc_arch_clean:
	$(RM) $(ld-uClibc_OUT)/*/*.{o,os}

lib-so-$(HAVE_SHARED)+=$(top_builddir)lib/ld-uClibc.so