xref: /netbsd-src/tools/binutils/Makefile (revision e094ff079a623acdc7ab78c12ef83b76429cfcef)
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