1#	$NetBSD: Makefile.inc,v 1.15 2023/07/14 19:46:40 mrg 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
58BASEVER!=		cat ${GNUHOSTDIST}/gcc/BASE-VER
59.if exists(${GNUHOSTDIST}/gcc/DEV-PHASE)
60DEVPHASE!=		cat ${GNUHOSTDIST}/gcc/DEV-PHASE
61.else
62DEVPHASE=
63.endif
64.if ${DEVPHASE} == "release" || ${DEVPHASE} == ""
65DATESTAMP=
66.else
67DATESTAMP!=		cat ${GNUHOSTDIST}/gcc/DATESTAMP
68.endif
69
70BASEVERSTR=		"\"$(BASEVER)\""
71.if !empty(DEVPHASE)
72DEVPHASESTR=		"\" $(DEVPHASE)\""
73.else
74DEVPHASESTR=		"\"\""
75.endif
76.if !empty(DATESTAMP)
77DATESTAMPSTR=		"\" $(DATESTAMP)\""
78.else
79DATESTAMPSTR=		"\"\""
80.endif
81
82.include "${TOP}/tools/gcc/gcc-version.mk"
83
84# XXX pull this out of our configs
85G_BUGURL=<http://www.NetBSD.org/support/send-pr.html>
86G_BUGURL_s="\"${G_BUGURL}\""
87G_PKGVERSION=(${NETBSD_GCC_VERSION}) 
88G_PKGVERSION_s="\"${G_PKGVERSION} \""
89
90VER_CPPFLAGS=	-DBASEVER="\"${BASEVER}"\" \
91		-DDATESTAMP=$(DATESTAMP_s) \
92		-DREVISION=$(REVISION_s) \
93		-DDEVPHASE=$(DEVPHASE_s) \
94		-DPKGVERSION=$(G_PKGVERSION_s) \
95		-DBUGURL=$(G_BUGURL_s)
96
97VERFILES=	cppbuiltin.c c-cppbuiltin.c gcc.c version.c
98
99.for _f in ${VERFILES}
100CPPFLAGS.${_f} +=	${VER_CPPFLAGS}
101${_f}: ${GCCARCH}/defs.mk ${TOP}/tools/gcc/gcc-version.mk
102.endfor
103
104.include "${GCCARCH}/defs.mk"
105
106.if ${MKPIC} != "no"
107.if ${G_ENABLE_SHARED} == "yes" && ${G_SHLIB_LINK} != ""
108CPPFLAGS+=	-DENABLE_SHARED_LIBGCC
109.endif
110
111.if empty(G_SHLIB_MULTILIB)
112CPPFLAGS+=	-DNO_SHARED_LIBGCC_MULTILIB
113.endif
114.endif
115
116NOCLANGERROR=	# defined
117
118WARNS=1
119COPTS+=-Wno-narrowing -Wno-unused
120
121# Lots trigger this.
122CFLAGS+=	-Wno-format-diag
123
124.endif
125