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