1# $NetBSD: Makefile,v 1.37 2023/01/18 12:52:55 christos Exp $ 2 3.include <bsd.hostinit.mk> 4 5MODULE= binutils 6 7GNUHOSTDIST= ${.CURDIR}/../../external/gpl3/${EXTERNAL_BINUTILS_SUBDIR}/dist 8 9BRANDING?= \ 10 --with-pkgversion="NetBSD Binutils nb1" \ 11 --with-bugurl="http://www.NetBSD.org/support/send-pr.html" \ 12 --with-lib-path="=/usr/lib" --with-sysroot 13 14BASE_CONFIGURE_ARGS= \ 15 --target=${MACHINE_GNU_PLATFORM} \ 16 --enable-initfini-array=yes \ 17 --enable-default-execstack=no \ 18 ${BRANDING} 19 20CONFIGURE_ARGS= --disable-nls --disable-werror \ 21 --program-transform-name="s,^,${MACHINE_GNU_PLATFORM}-," \ 22 ${BASE_CONFIGURE_ARGS} 23 24MAKE_ARGS= MACHINE= MAKEINFO=${TOOL_MAKEINFO:Q} 25 26ALL_TARGET= all-binutils all-gas all-ld 27INSTALL_TARGET= install-binutils install-gas install-ld 28.if ${MKCROSSGPROF:Uno} != "no" 29ALL_TARGET+= all-gprof 30INSTALL_TARGET+=install-gprof 31.endif 32 33.include "${.CURDIR}/../Makefile.gnuhost" 34 35CCADDFLAGS= -I${GNUHOSTDIST}/include -I${DESTDIR}/usr/include 36CCADDFLAGS+= -B${DESTDIR}/usr/lib/ 37CCADDFLAGS+= ${HOST_CPPFLAGS} 38LDADDFLAGS= -L${DESTDIR}/lib -L${DESTDIR}/usr/lib 39 40# Force avoiding possibly non-executable install-sh. 41CONFIGURE_ENV+= ac_cv_path_mkdir="${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-install -d" 42 43NEWCONFIGDIR?= ${.CURDIR}/../.. 44MKNATIVE?= ${.CURDIR}/mknative-binutils 45 46native-binutils: .native/.configure_done 47 @echo 'Extracting GNU binutils configury for a native toolchain.' 48 MAKE=${MAKE:Q} ${HOST_SH} ${MKNATIVE} binutils \ 49 ${.OBJDIR}/.native ${NEWCONFIGDIR} ${MACHINE_GNU_PLATFORM} 50 51.native/.configure_done: ${_GNU_CFGSRC} ${.CURDIR}/Makefile 52 mkdir .native 2>/dev/null || true 53 PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ 54 (cd .native && ${CONFIGURE_ENV:NC*:NLD*} \ 55 CC_FOR_BUILD=${HOST_CC:Q} \ 56 CC=${CC:Q}' '${CCADDFLAGS:Q} \ 57 CXX=${CXX:Q}' '${CCADDFLAGS:Q} \ 58 CPP=${CPP:Q}' '-I${DESTDIR}/usr/include \ 59 CFLAGS= CPPFLAGS= CXXFLAGS= \ 60 LDFLAGS=${LDADDFLAGS:Q} \ 61 MSGFMT=${TOOLDIR}/bin/${_TOOL_PREFIX}msgfmt \ 62 XGETTEXT=${TOOLDIR}/bin/${_TOOL_PREFIX}xgettext \ 63 LIBS=-lintl \ 64 ac_cv_prog_cc_cross=yes \ 65 ac_cv_func_strcoll_works=yes \ 66 ${HOST_SH} ${GNUHOSTDIST}/configure \ 67 --build=`${GNUHOSTDIST}/config.guess` \ 68 --host=${MACHINE_GNU_PLATFORM} \ 69 ${BASE_CONFIGURE_ARGS} \ 70 ) 71 PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ 72 (cd .native && ${MAKE} configure-host) 73 PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ 74 (cd .native/bfd && ${MAKE} bfd.h bfdver.h) 75 PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ 76 (cd .native/ld && ${MAKE} ldemul-list.h) 77 @touch $@ 78 79clean: clean.native 80clean.native: 81 -rm -r -f .native 82