1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 include $(ADK_TOPDIR
)/rules.mk
7 include ${ADK_TOPDIR}/mk
/buildhlp.mk
9 TARGET_CFLAGS
:= $(filter-out -ffast-math
,$(TARGET_CFLAGS
))
10 TARGET_CFLAGS
:= $(filter-out -fno-asynchronous-unwind-tables
,$(TARGET_CFLAGS
))
11 TARGET_CFLAGS
:= $(filter-out -fstack-protector-all
,$(TARGET_CFLAGS
))
12 TARGET_LDFLAGS
:= $(filter-out -fstack-protector-all
,$(TARGET_LDFLAGS
))
14 # glibc does not compile with Os
15 TARGET_CFLAGS
:= $(subst Os
,O2
,$(TARGET_CFLAGS
))
16 TARGET_CXXFLAGS
:= $(subst Os
,O2
,$(TARGET_CXXFLAGS
))
22 GLIBC_CONFOPTS
:= --build
=$(GNU_HOST_NAME
) \
23 --host
=$(GNU_TARGET_NAME
) \
24 --with-headers
=$(STAGING_TARGET_DIR
)/usr
/include \
25 --disable-sanity-checks \
36 --enable-kernel
="2.6.32" \
39 ifeq ($(ADK_TARGET_FLOAT
),soft
)
40 GLIBC_CONFOPTS
+= --without-fp
42 ifeq ($(ADK_TARGET_FLOAT
),hard
)
43 GLIBC_CONFOPTS
+= --with-fp
46 GLIBC_ENV
:= PATH
='${TARGET_PATH}' \
47 BUILD_CC
=${CC_FOR_BUILD} \
48 CFLAGS
="$(TARGET_CFLAGS)" \
49 CXXFLAGS
="$(TARGET_CXXFLAGS)" \
53 RANLIB
="${TARGET_RANLIB}" \
54 libc_cv_forced_unwind
=yes \
55 libc_cv_cc_with_libunwind
=yes \
56 libc_cv_c_cleanup
=yes \
57 libc_cv_gnu99_inline
=yes \
58 libc_cv_initfini_array
=yes
60 GLIBC_MAKEOPTS
+= cross-compiling
=yes
61 ifeq (${ADK_MAKE_PARALLEL},y
)
62 GLIBC_MAKEOPTS
+= PARALLELMFLAGS
="-j$(ADK_MAKE_JOBS)"
66 GLIBC_BUILD_DIR_FINAL
:= ${WRKDIR}/$(PKG_NAME
)-$(PKG_VERSION
)-final
68 $(WRKBUILD
)/.configured
:
69 mkdir
-p
$(GLIBC_BUILD_DIR_FINAL
)
70 (cd
$(GLIBC_BUILD_DIR_FINAL
); \
72 $(WRKBUILD
)/configure \
75 --enable-stackguard-randomization \
80 $(WRKBUILD
)/.compiled
:
81 ${GLIBC_ENV} $(MAKE
) ${GLIBC_MAKEOPTS} asm-CPPFLAGS
='$${CFLAGS}' -C
$(GLIBC_BUILD_DIR_FINAL
) all
84 $(WRKBUILD
)/.installed
:
85 ${GLIBC_ENV} $(MAKE
) -C
$(GLIBC_BUILD_DIR_FINAL
) install_root
=$(STAGING_TARGET_DIR
) install
86 touch
$(STAGING_TARGET_DIR
)/usr
/include/gnu
/stubs.h
87 touch
$(STAGING_TARGET_DIR
)/usr
/include/gnu
/stubs-
{32,x32
,64,soft
,hard
}.h
88 mkdir
-p
${STAGING_TARGET_DIR}/etc
89 ${INSTALL_DATA} ${WRKBUILD}/posix
/gai.conf
${STAGING_TARGET_DIR}/etc
90 ${INSTALL_DATA} ${WRKBUILD}/nss
/nsswitch.conf
${STAGING_TARGET_DIR}/etc
93 include ${ADK_TOPDIR}/mk
/toolchain.mk