1*e094ff07Schristos# $NetBSD: Makefile,v 1.39 2024/07/04 01:19:44 christos Exp $ 26c179181Smrg 3bf711337Schristos.include <bsd.hostinit.mk> 46c179181Smrg 50fcc88b5SmrgMODULE= binutils 66c179181Smrg 722253bc3SchristosGNUHOSTDIST= ${.CURDIR}/../../external/gpl3/${EXTERNAL_BINUTILS_SUBDIR}/dist 86d622a3fSskrll 9f92d679bSskrllBRANDING?= \ 10af515df4Sskrll --with-pkgversion="NetBSD Binutils nb1" \ 11333ceea9Sjoerg --with-bugurl="http://www.NetBSD.org/support/send-pr.html" \ 12333ceea9Sjoerg --with-lib-path="=/usr/lib" --with-sysroot 13f92d679bSskrll 14342a25beSchristosBASE_CONFIGURE_ARGS= \ 15342a25beSchristos --target=${MACHINE_GNU_PLATFORM} \ 16342a25beSchristos --enable-initfini-array=yes \ 17342a25beSchristos --enable-default-execstack=no \ 18f92d679bSskrll ${BRANDING} 196c179181Smrg 20342a25beSchristosCONFIGURE_ARGS= --disable-nls --disable-werror \ 21*e094ff07Schristos --with-zstd=no \ 22342a25beSchristos --program-transform-name="s,^,${MACHINE_GNU_PLATFORM}-," \ 23342a25beSchristos ${BASE_CONFIGURE_ARGS} 24342a25beSchristos 250fcc88b5SmrgMAKE_ARGS= MACHINE= MAKEINFO=${TOOL_MAKEINFO:Q} 266c179181Smrg 276c179181SmrgALL_TARGET= all-binutils all-gas all-ld 286c179181SmrgINSTALL_TARGET= install-binutils install-gas install-ld 29a6a46a58Ssimonb.if ${MKCROSSGPROF:Uno} != "no" 30a6a46a58SsimonbALL_TARGET+= all-gprof 31a6a46a58SsimonbINSTALL_TARGET+=install-gprof 32a6a46a58Ssimonb.endif 336c179181Smrg 346c179181Smrg.include "${.CURDIR}/../Makefile.gnuhost" 356c179181Smrg 36a0fb52eeSchristosCCADDFLAGS= -I${GNUHOSTDIST}/include -I${DESTDIR}/usr/include 37a0fb52eeSchristosCCADDFLAGS+= -B${DESTDIR}/usr/lib/ 38a0439553SchristosCCADDFLAGS+= ${HOST_CPPFLAGS} 39203d3087SmrgLDADDFLAGS= -L${DESTDIR}/lib -L${DESTDIR}/usr/lib 406c179181Smrg 419ac63422Smrg# Force avoiding possibly non-executable install-sh. 429ac63422SmrgCONFIGURE_ENV+= ac_cv_path_mkdir="${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-install -d" 439ac63422Smrg 446c179181SmrgNEWCONFIGDIR?= ${.CURDIR}/../.. 4566738971Srin.if ${EXTERNAL_BINUTILS_SUBDIR} == "binutils.old" 4666738971SrinMKNATIVE= ${.CURDIR}/mknative-binutils.old 4766738971Srin.endif 480fcc88b5SmrgMKNATIVE?= ${.CURDIR}/mknative-binutils 496c179181Smrg 506c179181Smrgnative-binutils: .native/.configure_done 516c179181Smrg @echo 'Extracting GNU binutils configury for a native toolchain.' 52952c4973Smrg MAKE=${MAKE:Q} ${HOST_SH} ${MKNATIVE} binutils \ 536c179181Smrg ${.OBJDIR}/.native ${NEWCONFIGDIR} ${MACHINE_GNU_PLATFORM} 546c179181Smrg 556c179181Smrg.native/.configure_done: ${_GNU_CFGSRC} ${.CURDIR}/Makefile 560fcc88b5Smrg mkdir .native 2>/dev/null || true 570fcc88b5Smrg PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ 586c179181Smrg (cd .native && ${CONFIGURE_ENV:NC*:NLD*} \ 596c179181Smrg CC_FOR_BUILD=${HOST_CC:Q} \ 606c179181Smrg CC=${CC:Q}' '${CCADDFLAGS:Q} \ 616c179181Smrg CXX=${CXX:Q}' '${CCADDFLAGS:Q} \ 626c179181Smrg CPP=${CPP:Q}' '-I${DESTDIR}/usr/include \ 63203d3087Smrg CFLAGS= CPPFLAGS= CXXFLAGS= \ 64203d3087Smrg LDFLAGS=${LDADDFLAGS:Q} \ 656c179181Smrg MSGFMT=${TOOLDIR}/bin/${_TOOL_PREFIX}msgfmt \ 666c179181Smrg XGETTEXT=${TOOLDIR}/bin/${_TOOL_PREFIX}xgettext \ 676c179181Smrg LIBS=-lintl \ 686c179181Smrg ac_cv_prog_cc_cross=yes \ 696c179181Smrg ac_cv_func_strcoll_works=yes \ 70f85d2d1cSlukem ${HOST_SH} ${GNUHOSTDIST}/configure \ 71952c4973Smrg --build=`${GNUHOSTDIST}/config.guess` \ 726c179181Smrg --host=${MACHINE_GNU_PLATFORM} \ 73342a25beSchristos ${BASE_CONFIGURE_ARGS} \ 74f92d679bSskrll ) 750f2ad14fSuebayasi PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ 760f2ad14fSuebayasi (cd .native && ${MAKE} configure-host) 770f2ad14fSuebayasi PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ 780f2ad14fSuebayasi (cd .native/bfd && ${MAKE} bfd.h bfdver.h) 790f2ad14fSuebayasi PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ 801516e622Sskrll (cd .native/ld && ${MAKE} ldemul-list.h) 816c179181Smrg @touch $@ 826c179181Smrg 836c179181Smrgclean: clean.native 846c179181Smrgclean.native: 856c179181Smrg -rm -r -f .native 86