Makefile.inc revision 1.35
1#	$NetBSD: Makefile.inc,v 1.35 2023/02/01 19:38:20 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
44CXXFLAGS+=	-std=gnu++98
45
46# Reduce debugging for these extremely large objects.
47.if ${MKDEBUG:Uno} != "no"
48CXXFLAGS+=      -g1
49.endif
50
51GNUHOSTDIST=	${DIST}
52BUILD_PREFIX=	${C_BUILD_PREFIX}
53
54HOSTLIBIBERTYOBJ!=	cd ${.CURDIR}/../host-libiberty && ${PRINTOBJDIR}
55HOSTLIBIBERTY=		${HOSTLIBIBERTYOBJ}/libiberty/libiberty.a
56
57HOSTLIBCPPOBJ!=		cd ${.CURDIR}/../host-libcpp && ${PRINTOBJDIR}
58HOSTLIBCPP=		${HOSTLIBCPPOBJ}/libcpp/libcpp.a
59
60BASEVER!=		cat ${GNUHOSTDIST}/gcc/BASE-VER
61.if exists(${GNUHOSTDIST}/gcc/DEV-PHASE)
62DEVPHASE!=		cat ${GNUHOSTDIST}/gcc/DEV-PHASE
63.else
64DEVPHASE=
65.endif
66.if ${DEVPHASE} == "release" || ${DEVPHASE} == ""
67DATESTAMP=
68.else
69DATESTAMP!=		cat ${GNUHOSTDIST}/gcc/DATESTAMP
70.endif
71
72BASEVERSTR=		"\"$(BASEVER)\""
73.if !empty(DEVPHASE)
74DEVPHASESTR=		"\" $(DEVPHASE)\""
75.else
76DEVPHASESTR=		"\"\""
77.endif
78.if !empty(DATESTAMP)
79DATESTAMPSTR=		"\" $(DATESTAMP)\""
80.else
81DATESTAMPSTR=		"\"\""
82.endif
83
84.include "${TOP}/tools/gcc/gcc-version.mk"
85
86# XXX pull this out of our configs
87G_BUGURL=<http://www.NetBSD.org/support/send-pr.html>
88G_BUGURL_s="\"${G_BUGURL}\""
89G_PKGVERSION=(${NETBSD_GCC_VERSION}) 
90G_PKGVERSION_s="\"${G_PKGVERSION} \""
91
92VER_CPPFLAGS=	-DBASEVER="\"${BASEVER}"\" \
93		-DDATESTAMP=$(DATESTAMP_s) \
94		-DREVISION=$(REVISION_s) \
95		-DDEVPHASE=$(DEVPHASE_s) \
96		-DPKGVERSION=$(G_PKGVERSION_s) \
97		-DBUGURL=$(G_BUGURL_s)
98
99VERFILES=	cppbuiltin.c c-cppbuiltin.c gcc.c version.c
100
101.for _f in ${VERFILES}
102CPPFLAGS.${_f} +=	${VER_CPPFLAGS}
103${_f}: ${GCCARCH}/defs.mk ${TOP}/tools/gcc/gcc-version.mk
104.endfor
105
106.include "${GCCARCH}/defs.mk"
107
108.if ${MKPIC} != "no"
109.if ${G_ENABLE_SHARED} == "yes" && ${G_SHLIB_LINK} != ""
110CPPFLAGS+=	-DENABLE_SHARED_LIBGCC
111.endif
112
113.if empty(G_SHLIB_MULTILIB)
114CPPFLAGS+=	-DNO_SHARED_LIBGCC_MULTILIB
115.endif
116.endif
117
118NOCLANGERROR=	# defined
119
120WARNS=1
121COPTS+=-Wno-narrowing -Wno-unused
122
123# Lots trigger this.
124CFLAGS+=	-Wno-format-diag
125
126.endif
127