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 # glibc does not compile with Os and CPU specific FLAGS for m68k/x86_64
10 ifeq ($(ADK_TARGET_ARCH_X86_64
)$(ADK_TARGET_ARCH_M68K
),y
)
15 GLIBC_CONFOPTS
:= --build
=$(GNU_HOST_NAME
) \
16 --host
=$(GNU_TARGET_NAME
) \
17 --with-headers
=$(STAGING_TARGET_DIR
)/usr
/include \
18 --disable-sanity-checks \
28 --enable-kernel
="2.6.32" \
31 ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY
),y
)
32 GLIBC_CONFOPTS
+= --enable-static-nss
35 ifeq ($(ADK_TARGET_FLOAT
),soft
)
36 GLIBC_CONFOPTS
+= --without-fp
38 ifeq ($(ADK_TARGET_FLOAT
),hard
)
39 GLIBC_CONFOPTS
+= --with-fp
42 GLIBC_ENV
:= PATH
='${TARGET_PATH}' \
43 BUILD_CC
=${CC_FOR_BUILD} \
44 CFLAGS
="$(TARGET_CFLAGS)" \
45 CXXFLAGS
="$(TARGET_CXXFLAGS)" \
49 RANLIB
="${TARGET_RANLIB}" \
50 libc_cv_forced_unwind
=yes \
51 libc_cv_c_cleanup
=yes \
52 libc_cv_gnu99_inline
=yes \
53 libc_cv_initfini_array
=yes
55 GLIBC_MAKEOPTS
+= cross-compiling
=yes
56 ifeq (${ADK_MAKE_PARALLEL},y
)
57 GLIBC_MAKEOPTS
+= PARALLELMFLAGS
="-j$(ADK_MAKE_JOBS)"
61 GLIBC_BUILD_DIR_FINAL
:= ${WRKDIR}/$(PKG_NAME
)-$(PKG_VERSION
)-final
63 $(WRKBUILD
)/.configured
:
64 mkdir
-p
$(GLIBC_BUILD_DIR_FINAL
)
65 (cd
$(GLIBC_BUILD_DIR_FINAL
); \
67 $(WRKBUILD
)/configure \
69 --enable-stackguard-randomization \
74 $(WRKBUILD
)/.compiled
:
75 ${GLIBC_ENV} $(MAKE
) ${GLIBC_MAKEOPTS} -C
$(GLIBC_BUILD_DIR_FINAL
) all
78 $(WRKBUILD
)/.installed
:
79 ${GLIBC_ENV} $(MAKE
) -C
$(GLIBC_BUILD_DIR_FINAL
) install_root
=$(STAGING_TARGET_DIR
) install
80 touch
$(STAGING_TARGET_DIR
)/usr
/include/gnu
/stubs.h
81 touch
$(STAGING_TARGET_DIR
)/usr
/include/gnu
/stubs-
{32,x32
,64,soft
,hard
}.h
82 mkdir
-p
${STAGING_TARGET_DIR}/etc
83 ${INSTALL_DATA} ${WRKBUILD}/posix
/gai.conf
${STAGING_TARGET_DIR}/etc
84 ${INSTALL_DATA} ${WRKBUILD}/nss
/nsswitch.conf
${STAGING_TARGET_DIR}/etc
87 include ${ADK_TOPDIR}/mk
/toolchain.mk