minix/tools/binutils/Makefile
Thomas Veerman c8a0e2f4c6 Import NetBSD tools and build.sh
This commit finalizes support for cross compilation. The tools
directory are all links to the actual tools and are built on the
host system to build Minix. build.sh is the work horse that takes
care of all environment settings. It's slightly adjusted for Minix.
The /usr/src/Makefile has additional targets needed for cross
compilation.
2012-06-18 10:54:51 +00:00

75 lines
2.3 KiB
Makefile

# $NetBSD: Makefile,v 1.22 2012/04/15 08:37:32 mrg Exp $
.include <bsd.own.mk>
MODULE= binutils
GNUHOSTDIST= ${.CURDIR}/../../external/gpl3/binutils/dist
BRANDING?= \
--with-pkgversion="NetBSD Binutils nb1" \
--with-bugurl="http://www.NetBSD.org/support/send-pr.html" \
--with-lib-path="=/usr/lib" --with-sysroot
CONFIGURE_ARGS= --target=${MACHINE_GNU_PLATFORM} --disable-nls \
--program-transform-name="s,^,${MACHINE_GNU_PLATFORM}-," \
--disable-werror \
--target=i386-elf-minix \
${BRANDING}
MAKE_ARGS= MACHINE= MAKEINFO=${TOOL_MAKEINFO:Q}
ALL_TARGET= all-binutils all-gas all-ld
INSTALL_TARGET= install-binutils install-gas install-ld
.if ${MKCROSSGPROF:Uno} != "no"
ALL_TARGET+= all-gprof
INSTALL_TARGET+=install-gprof
.endif
.include "${.CURDIR}/../Makefile.gnuhost"
CCADDFLAGS= -I${DESTDIR}/usr/include -L${DESTDIR}/lib -L${DESTDIR}/usr/lib -B${DESTDIR}/usr/lib/
# Force avoiding possibly non-executable install-sh.
CONFIGURE_ENV+= ac_cv_path_mkdir="${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-install -d"
NEWCONFIGDIR?= ${.CURDIR}/../..
MKNATIVE?= ${.CURDIR}/mknative-binutils
native-binutils: .native/.configure_done
@echo 'Extracting GNU binutils configury for a native toolchain.'
MAKE=${MAKE:Q} ${HOST_SH} ${MKNATIVE} binutils \
${.OBJDIR}/.native ${NEWCONFIGDIR} ${MACHINE_GNU_PLATFORM}
.native/.configure_done: ${_GNU_CFGSRC} ${.CURDIR}/Makefile
mkdir .native 2>/dev/null || true
PATH=${TOOLDIR}/bin:$$PATH; export PATH; \
(cd .native && ${CONFIGURE_ENV:NC*:NLD*} \
CC_FOR_BUILD=${HOST_CC:Q} \
CC=${CC:Q}' '${CCADDFLAGS:Q} \
CXX=${CXX:Q}' '${CCADDFLAGS:Q} \
CPP=${CPP:Q}' '-I${DESTDIR}/usr/include \
CFLAGS= CPPFLAGS= CXXFLAGS= LDFLAGS= \
MSGFMT=${TOOLDIR}/bin/${_TOOL_PREFIX}msgfmt \
XGETTEXT=${TOOLDIR}/bin/${_TOOL_PREFIX}xgettext \
LIBS=-lintl \
ac_cv_prog_cc_cross=yes \
ac_cv_func_strcoll_works=yes \
${HOST_SH} ${GNUHOSTDIST}/configure \
--build=`${GNUHOSTDIST}/config.guess` \
--host=${MACHINE_GNU_PLATFORM} \
--target=${MACHINE_GNU_PLATFORM} \
${BRANDING} \
)
PATH=${TOOLDIR}/bin:$$PATH; export PATH; \
(cd .native && ${MAKE} configure-host)
PATH=${TOOLDIR}/bin:$$PATH; export PATH; \
(cd .native/bfd && ${MAKE} bfd.h bfdver.h)
PATH=${TOOLDIR}/bin:$$PATH; export PATH; \
(cd .native/ld && ${MAKE} ldemul-list.h)
@touch $@
clean: clean.native
clean.native:
-rm -r -f .native