3 # Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
5 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
12 include $(top_builddir)Rules.mak
14 CFLAGS += $(SSP_ALL_CFLAGS) -B$(top_builddir)lib -I$(top_builddir)ldso/include
16 TARGETS = ldd ldconfig
18 ifeq ($(UCLIBC_HAS_LOCALE),y)
24 ifeq ($(LDSO_CACHE_SUPPORT),y)
25 HOST_LDSO_CACHE_FLAG = -D__LDSO_CACHE_SUPPORT__=1
27 HOST_LDSO_CACHE_FLAG =
30 # NOTE: We build the utils AFTER we have a uClibc-targeted toolchain.
32 ifeq ($(HAVE_SHARED),y)
33 all: $(TARGETS) $(TARGET_ICONV)
39 @$(LN) -fs $(top_builddir)include/elf.h
40 @$(LN) -fs $(top_builddir)include/link.h
42 readelf.c ldconfig.c ldd.c: headers
45 $(CC) $(CFLAGS) $^ -o $@
46 $(STRIPTOOL) -s -x -R .note -R .comment $@
48 ifeq ($(UCLIBC_STATIC_LDCONFIG),y)
49 LDCONFIG_CFLAGS := -static
51 LDCONFIG_CFLAGS := $(PIEFLAG) $(LDPIEFLAG)
53 ldconfig: ldconfig.c chroot_realpath.c
54 $(CC) $(CFLAGS) $(LDCONFIG_CFLAGS) \
55 -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" \
56 -DUCLIBC_LDSO=$(UCLIBC_LDSO) \
58 $(STRIPTOOL) -s -x -R .note -R .comment $@
60 LDD_CFLAGS := $(PIEFLAG) $(LDPIEFLAG)
62 $(CC) $(CFLAGS) $(LDD_CFLAGS) \
63 -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" \
64 -DUCLIBC_LDSO=$(UCLIBC_LDSO) \
66 $(STRIPTOOL) -s -x -R .note -R .comment $@
68 ICONV_CFLAGS := $(PIEFLAG) $(LDPIEFLAG)
69 iconv: $(top_srcdir)libc/misc/wchar/wchar.c
70 $(CC) $(CFLAGS) $(ICONV_CFLAGS) \
73 $(STRIPTOOL) -s -x -R .note -R .comment $@
75 ifeq ($(HAVE_SHARED),y)
76 hostutils: ldd.host ldconfig.host readelf.host
78 hostutils: readelf.host
82 $(HOSTCC) $(HOSTCFLAGS) -Wl,-s \
83 -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" $(HOST_LDSO_CACHE_FLAG) \
84 -DUCLIBC_LDSO=$(UCLIBC_LDSO) -I. -I$(top_builddir)ldso/include \
87 ldconfig.host: ldconfig.c chroot_realpath.c
88 $(HOSTCC) $(HOSTCFLAGS) -Wl,-s \
89 -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" $(HOST_LDSO_CACHE_FLAG) \
90 -DUCLIBC_LDSO=$(UCLIBC_LDSO) -I. -I$(top_builddir)ldso/include \
93 readelf.host: readelf.c
94 $(HOSTCC) $(HOSTCFLAGS) -Wl,-s $^ -o $@
97 $(RM) $(TARGETS) *.o *~ core elf.h link.h readelf iconv *.host
100 ifeq ($(HAVE_SHARED),y)
101 $(INSTALL) -d $(PREFIX)$(RUNTIME_PREFIX)sbin
102 $(INSTALL) -d $(PREFIX)$(RUNTIME_PREFIX)usr/bin
103 $(INSTALL) -m 755 ldd $(PREFIX)$(RUNTIME_PREFIX)usr/bin/ldd
104 $(INSTALL) -m 755 ldconfig $(PREFIX)$(RUNTIME_PREFIX)sbin/ldconfig
105 #$(INSTALL) -m 755 readelf $(PREFIX)$(RUNTIME_PREFIX)usr/bin/readelf
107 ifeq ($(UCLIBC_HAS_LOCALE),y)
108 $(INSTALL) -m 755 iconv $(PREFIX)$(RUNTIME_PREFIX)usr/bin/iconv