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 TARGET_CFLAGS
:= $(filter-out -ffast-math
,$(TARGET_CFLAGS
))
16 TARGET_CXXFLAGS
:= $(filter-out -ffast-math
,$(TARGET_CXXFLAGS
))
18 GLIBC_CONFOPTS
:= --build
=$(GNU_HOST_NAME
) \
19 --host
=$(GNU_TARGET_NAME
) \
20 --with-headers
=$(STAGING_TARGET_DIR
)/usr
/include \
21 --enable-stackguard-randomization \
22 --disable-sanity-checks \
28 ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY
),y
)
29 GLIBC_CONFOPTS
+= --enable-static-nss
32 GLIBC_ENV
:= PATH
='${HOST_PATH}:${TARGET_PATH}' \
33 BUILD_CC
=${CC_FOR_BUILD} \
34 CFLAGS
="$(TARGET_CFLAGS)" \
35 CXXFLAGS
="$(TARGET_CXXFLAGS)" \
39 RANLIB
="${TARGET_RANLIB}" \
40 libc_cv_gnu99_inline
=yes \
41 libc_cv_initfini_array
=yes
43 GLIBC_MAKEOPTS
+= cross-compiling
=yes
44 ifeq (${ADK_MAKE_PARALLEL},y
)
45 GLIBC_MAKEOPTS
+= PARALLELMFLAGS
="-j$(ADK_MAKE_JOBS)"
49 GLIBC_BUILD_DIR_FINAL
:= ${WRKDIR}/$(PKG_NAME
)-$(PKG_VERSION
)-final
51 $(WRKBUILD
)/.configured
:
52 mkdir
-p
$(GLIBC_BUILD_DIR_FINAL
)
53 (cd
$(GLIBC_BUILD_DIR_FINAL
); \
55 $(WRKBUILD
)/configure \
61 $(WRKBUILD
)/.compiled
:
62 ${GLIBC_ENV} $(MAKE
) ${GLIBC_MAKEOPTS} -C
$(GLIBC_BUILD_DIR_FINAL
) all
65 $(WRKBUILD
)/.installed
:
66 ${GLIBC_ENV} $(MAKE
) -C
$(GLIBC_BUILD_DIR_FINAL
) install_root
=$(STAGING_TARGET_DIR
) install
67 touch
$(STAGING_TARGET_DIR
)/usr
/include/gnu
/stubs.h
68 touch
$(STAGING_TARGET_DIR
)/usr
/include/gnu
/stubs-
{32,x32
,64,lp64
,soft
,hard
}.h
69 mkdir
-p
${STAGING_TARGET_DIR}/etc
70 ${INSTALL_DATA} ${WRKBUILD}/posix
/gai.conf
${STAGING_TARGET_DIR}/etc
71 ${INSTALL_DATA} ${WRKBUILD}/nss
/nsswitch.conf
${STAGING_TARGET_DIR}/etc
74 include ${ADK_TOPDIR}/mk
/toolchain.mk