3 # Copyright (C) 2000-2009 Erik Andersen <andersen@uclibc.org>
5 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
13 -I
$(top_srcdir
)ldso
/ldso
/$(TARGET_ARCH
) \
14 -I
$(top_srcdir
)ldso
/include \
15 -DUCLIBC_RUNTIME_PREFIX
=\"$(RUNTIME_PREFIX
)\" \
16 -DUCLIBC_LDSO
=\"$(UCLIBC_LDSO
)\" \
17 -I
$(top_srcdir
)/$(KERNEL_HEADERS
) \
19 -B
$(top_builddir
)lib \
20 -Wl
,-rpath-link
,$(top_builddir
)lib
22 ifeq ($(UCLIBC_BUILD_PIE
),y
)
23 CFLAGS-utils-shared
:= $(PIEFLAG
) $(LDPIEFLAG
)
25 CFLAGS-utils-shared
:=
28 CFLAGS-ldconfig
:= -DBUILDING_LINKAGE
29 ifeq ($(UCLIBC_STATIC_LDCONFIG
),y
)
30 CFLAGS-ldconfig
+= -static
32 CFLAGS-ldconfig
+= $(CFLAGS-utils-shared
)
35 CFLAGS-ldd
:= $(CFLAGS-utils-shared
) -DBUILDING_LINKAGE
37 # Need CFLAGS-utils explicitly, because the source file is not located in utils
38 CFLAGS-iconv
:= $(CFLAGS-utils
) \
39 $(CFLAGS-utils-shared
) \
40 -I
$(top_srcdir
)libc
/misc
/wchar
42 CFLAGS-locale
:= $(CFLAGS-utils
)
43 CFLAGS-getconf
:=$(CFLAGS-utils
) \
44 -DGETCONF_DIR
='"$(CURDIR)"'
46 # "make hostutils" flags
48 UTILS_CONFIG_FLAGS-y
:=
49 UTILS_CONFIG_FLAGS-
$(LDSO_CACHE_SUPPORT
) += -D__LDSO_CACHE_SUPPORT__
50 UTILS_CONFIG_FLAGS-
$(LDSO_LDD_SUPPORT
) += -D__LDSO_LDD_SUPPORT__
51 UTILS_CONFIG_FLAGS-
$(LDSO_STANDALONE_SUPPORT
) += -D__LDSO_STANDALONE_SUPPORT__
53 BUILD_CFLAGS-utils
:= \
54 -DUCLIBC_RUNTIME_PREFIX
=\"$(RUNTIME_PREFIX
)\" \
55 -DUCLIBC_LDSO
=\"$(UCLIBC_LDSO
)\" \
56 -DARCH_NATIVE_BIT
=$(ARCH_NATIVE_BIT
) \
57 $(UTILS_CONFIG_FLAGS-y
)
58 BUILD_CFLAGS-ldconfig.host
:= \
60 -I
$(top_srcdir
)ldso
/ldso
/$(TARGET_ARCH
) \
61 -I
$(top_srcdir
)ldso
/include
62 BUILD_CFLAGS-ldd.host
:= \
64 -I
$(top_srcdir
)ldso
/ldso
/$(TARGET_ARCH
) \
65 -I
$(top_srcdir
)ldso
/include \
66 -include $(top_srcdir
)include/elf.h
67 BUILD_CFLAGS-locale.host
:= \
69 -I
$(top_srcdir
)utils
/ \
71 BUILD_CFLAGS-iconv.host
:= \
72 -include $(top_builddir
)extra
/locale
/c8tables.h \
73 -I
$(top_srcdir
)libc
/misc
/wchar
-DL_iconv_main
75 BUILD_CFLAGS-getconf.host
:= \
76 -DGETCONF_DIR
='"$(CURDIR)"'
80 utils_DIR
:= $(top_srcdir
)utils
81 utils_OUT
:= $(top_builddir
)utils
83 DEPS-ldconfig
:= $(utils_DIR
)/chroot_realpath.c
84 DEPS-ldconfig.host
:= $(DEPS-ldconfig
)
87 ifeq ($(HAVE_SHARED
),y
)
88 utils_OBJ
+= ldconfig ldd
92 ifeq ($(UCLIBC_HAS_LOCALE
),y
)
94 #utils_LOCALE_OBJ += $(utils_OUT)/locale
97 utils_OBJ
:= $(patsubst %,$(utils_OUT
)/%,$(utils_OBJ
))
99 hostutils_OBJ
:= $(patsubst %,%.host
,$(utils_OBJ
))
100 hostutils_LOCALE_OBJ
:= $(patsubst %,%.host
,$(utils_LOCALE_OBJ
))
102 utils
: $(utils_OBJ
) $(utils_LOCALE_OBJ
)
104 # NOTE: We build the utils AFTER we have a uClibc-targeted toolchain.
106 $(utils_OBJ
): $(utils_OUT
)/% : $(utils_DIR
)/%.c |
$(libc
)
109 $(utils_OUT
)/locale
: $(top_srcdir
)extra
/locale
/programs
/locale.c |
$(libc
)
112 $(utils_OUT
)/locale.host
: $(top_srcdir
)extra
/locale
/programs
/locale.c |
$(libc
)
115 hostutils
: $(hostutils_OBJ
) $(hostutils_LOCALE_OBJ
)
117 $(hostutils_OBJ
): $(utils_OUT
)/%.host
: $(utils_DIR
)/%.c
121 install-y
+= utils_install
123 # This installs both utils and hostutils, so doesn't depend on either.
125 utils_install
: $(addsuffix $(DOTHOST
), $(utils_OBJ
) $(utils_LOCALE_OBJ
))
126 $(Q
)$(INSTALL
) -D
-m
755 $(utils_OUT
)/getconf
$(DOTHOST
) $(PREFIX
)$(DEVEL_PREFIX
)bin
/getconf
127 ifeq ($(HAVE_SHARED
),y
)
128 $(Q
)$(INSTALL
) -D
-m
755 $(utils_OUT
)/ldd
$(DOTHOST
) $(PREFIX
)$(DEVEL_PREFIX
)bin
/ldd
129 $(Q
)$(INSTALL
) -D
-m
755 $(utils_OUT
)/ldconfig
$(DOTHOST
) $(PREFIX
)$(RUNTIME_PREFIX
)sbin
/ldconfig
131 ifeq ($(UCLIBC_HAS_LOCALE
),y
)
132 $(Q
)$(INSTALL
) -D
-m
755 $(utils_OUT
)/iconv
$(DOTHOST
) $(PREFIX
)$(DEVEL_PREFIX
)bin
/iconv
133 #$(Q)$(INSTALL) -m 755 $(utils_OUT)/locale$(DOTHOST) $(PREFIX)$(DEVEL_PREFIX)bin/locale
137 objclean-y
+= CLEAN_utils
140 $(do_rm
) $(addprefix $(utils_OUT
)/, getconf iconv ldconfig ldd locale
*.host
)
141 $(Q
)# This is a hack..
142 $(Q
)$(RM
) $(utils_OUT
)/.
*.dep