1#	$NetBSD: Makefile.inc,v 1.39 2023/08/04 17:17:06 rin Exp $
2
3.ifndef _EXTERNAL_GPL3_GCC_USR_BIN_MAKEFILE_INC_
4_EXTERNAL_GPL3_GCC_USR_BIN_MAKEFILE_INC_=1
5
6NOLINT=yes
7NOCTF=	# defined
8.include <bsd.init.mk>
9
10.sinclude "../../Makefile.gcc_path"
11
12GCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5/earm/}
13.include "../../../lgpl3/gmp/Makefile.arch"
14
15TOP=		${NETBSDSRCDIR}
16DIST=		${GCCDIST}
17
18GCCARCH=	${.CURDIR}/../gcc/arch/${GCC_MACHINE_ARCH}
19
20CPPFLAGS+=	-DLOCALEDIR=\"/usr/share/locale\" -DNETBSD_NATIVE
21HOST_CPPFLAGS+=	-I${.CURDIR}/..
22
23# Link in the GMP/MPFR/MPC headers since we don't install them
24GMPDISTDIR=	${NETBSDSRCDIR}/external/lgpl3/gmp
25MPFRDISTDIR=	${NETBSDSRCDIR}/external/lgpl3/mpfr
26MPCDISTDIR=	${NETBSDSRCDIR}/external/lgpl3/mpc
27
28BUILDSYMLINKS+=	${GMPDISTDIR}/lib/libgmp/arch/${GMP_MACHINE_ARCH}/gmp.h gmp.h
29BUILDSYMLINKS+=	${MPFRDISTDIR}/dist/src/mpfr.h mpfr.h
30BUILDSYMLINKS+=	${MPFRDISTDIR}/dist/src/mpf2mpfr.h mpf2mpfr.h
31BUILDSYMLINKS+=	${MPCDISTDIR}/dist/src/mpc.h mpc.h
32BUILDSYMLINKS+=	${MPCDISTDIR}/dist/src/mpc-log.h mpc-log.h
33CPPFLAGS+=	-I.
34# XXX
35DPSRCS+= gmp.h mpfr.h mpf2mpfr.h mpc.h mpc-log.h
36
37BACKENDOBJ!=		cd ${.CURDIR}/../backend && ${PRINTOBJDIR}
38FRONTENDOBJ!=		cd ${.CURDIR}/../frontend && ${PRINTOBJDIR}
39
40.if ${USETOOLS} == "yes"
41NBCOMPATLIB=   -L${TOOLDIR}/lib -lnbcompat
42.endif
43
44# Reduce debugging for these extremely large objects.
45.if ${MKDEBUG:Uno} != "no"
46CXXFLAGS+=      -g1
47.endif
48
49GNUHOSTDIST=	${DIST}
50BUILD_PREFIX=	${C_BUILD_PREFIX}
51
52HOSTLIBIBERTYOBJ!=	cd ${.CURDIR}/../host-libiberty && ${PRINTOBJDIR}
53HOSTLIBIBERTY=		${HOSTLIBIBERTYOBJ}/libiberty/libiberty.a
54
55HOSTLIBCPPOBJ!=		cd ${.CURDIR}/../host-libcpp && ${PRINTOBJDIR}
56HOSTLIBCPP=		${HOSTLIBCPPOBJ}/libcpp/libcpp.a
57
58.include "${.PARSEDIR}/../Makefile.version_h"
59
60VERFILES=	cppbuiltin.cc c-cppbuiltin.cc gcc.cc version.cc
61
62.for _f in ${VERFILES}
63CPPFLAGS.${_f} +=	${VER_CPPFLAGS}
64${_f}: ${GCCARCH}/defs.mk ${TOP}/tools/gcc/gcc-version.mk
65.endfor
66
67.include "${GCCARCH}/defs.mk"
68
69.if ${MKPIC} != "no"
70.if ${G_ENABLE_SHARED} == "yes" && ${G_SHLIB_LINK} != ""
71CPPFLAGS+=	-DENABLE_SHARED_LIBGCC
72.endif
73
74.if empty(G_SHLIB_MULTILIB)
75CPPFLAGS+=	-DNO_SHARED_LIBGCC_MULTILIB
76.endif
77.endif
78
79NOCLANGERROR=	# defined
80
81WARNS=1
82COPTS+=-Wno-narrowing -Wno-unused
83
84# Lots trigger this.
85CFLAGS+=	-Wno-format-diag
86
87# Avoid jump tables that don't fit.
88.if ${GCC_MACHINE_ARCH} == "m68000" || ${GCC_MACHINE_ARCH} == "m68k" || \
89	${GCC_MACHINE_ARCH} == "coldfire"
90COPTS.c-omp.cc+=-fno-jump-tables
91COPTS.generic-match.cc+=-fno-jump-tables
92COPTS.gimple-match.cc+=-fno-jump-tables
93.endif
94
95.endif
96