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 # glibc does not compile with Os
8 TARGET_CFLAGS
:= $(subst Os
,O2
,$(TARGET_CFLAGS
))
14 include ${ADK_TOPDIR}/mk
/buildhlp.mk
16 GLIBC_MAKEOPTS
+= cross-compiling
=yes
17 ifeq (${ADK_MAKE_PARALLEL},y
)
18 GLIBC_MAKEOPTS
+= PARALLELMFLAGS
="-j$(ADK_MAKE_JOBS)"
22 GLIBC_BUILD_DIR_INITIAL
:= ${WRKDIR}/$(PKG_NAME
)-$(PKG_VERSION
)-headers
23 GLIBC_BUILD_DIR_FINAL
:= ${WRKDIR}/$(PKG_NAME
)-$(PKG_VERSION
)-final
25 $(WRKBUILD
)/.headers_configure
:
26 mkdir
-p
$(GLIBC_BUILD_DIR_INITIAL
)
27 (cd
$(GLIBC_BUILD_DIR_INITIAL
); \
29 $(WRKBUILD
)/configure \
30 --prefix=$(STAGING_TARGET_DIR
)/usr \
31 --with-sysroot
=$(STAGING_TARGET_DIR
) \
36 $(WRKBUILD
)/.headers
: $(WRKBUILD
)/.headers_configure
37 (cd
$(GLIBC_BUILD_DIR_INITIAL
); \
39 $(MAKE
) ${GLIBC_MAKEOPTS} install-headers \
41 touch
$(STAGING_TARGET_DIR
)/usr
/include/gnu
/stubs.h
42 touch
$(STAGING_TARGET_DIR
)/usr
/include/gnu
/stubs-
{32,x32
,64,soft
,hard
}.h
45 $(WRKBUILD
)/.configured
:
46 mkdir
-p
$(GLIBC_BUILD_DIR_FINAL
)
47 (cd
$(GLIBC_BUILD_DIR_FINAL
); \
49 $(WRKBUILD
)/configure \
52 --enable-stackguard-randomization \
57 $(WRKBUILD
)/.compiled
:
58 ${GLIBC_ENV} $(MAKE
) ${GLIBC_MAKEOPTS} asm-CPPFLAGS
='$${CFLAGS}' -C
$(GLIBC_BUILD_DIR_FINAL
) all
61 $(WRKBUILD
)/.installed
:
62 ${GLIBC_ENV} $(MAKE
) -C
$(GLIBC_BUILD_DIR_FINAL
) install_root
=$(STAGING_TARGET_DIR
) install
63 mkdir
-p
${STAGING_TARGET_DIR}/etc
64 ${INSTALL_DATA} ${WRKBUILD}/posix
/gai.conf
${STAGING_TARGET_DIR}/etc
65 ${INSTALL_DATA} ${WRKBUILD}/nss
/nsswitch.conf
${STAGING_TARGET_DIR}/etc
69 -find
$(STAGING_TARGET_DIR
) $(STAGING_HOST_DIR
) -name \
*.la
-exec
rm {} \
;
70 rm -rf
$(STAGING_TARGET_DIR
)/usr
/share
/locale
$(STAGING_TARGET_DIR
)/usr
/share
/i18n
71 ifeq ($(ADK_TARGET_TOOLCHAIN
),y
)
72 # strip target libs and host tools for toolchain builds
73 PATH
="$(TARGET_PATH)" debug
='0' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh \
74 $(STAGING_TARGET_DIR
) $(TOOLCHAIN_DIR
)/usr
/lib
/gcc
/$(GNU_TARGET_NAME
)
75 debug
='0' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh
$(TOOLCHAIN_DIR
)/usr
/bin
79 include ${ADK_TOPDIR}/mk
/toolchain.mk