Sat May 29 12:25:08 2021 UTC ()
Switch mac68k to Xorg server 1.20. Only available driver is wsfb(4) both
for 1.10 and 1.20, and there is no reason to stay with 1.10.

XXX
1.20 works fine on WSFB* kernels with genfb(4), whereas both 1.10 and
1.20 fail for GENERIC* kernels with macfb(4) as some mandatory ioctl's
are missing. It would be better to make genfb(4) default before netbsd-10
is branched.


(rin)
diff -r1.1254 -r1.1255 src/share/mk/bsd.own.mk

cvs diff -r1.1254 -r1.1255 src/share/mk/bsd.own.mk (switch to unified diff)

--- src/share/mk/bsd.own.mk 2021/05/27 21:02:56 1.1254
+++ src/share/mk/bsd.own.mk 2021/05/29 12:25:08 1.1255
@@ -1,1783 +1,1782 @@ @@ -1,1783 +1,1782 @@
1# $NetBSD: bsd.own.mk,v 1.1254 2021/05/27 21:02:56 christos Exp $ 1# $NetBSD: bsd.own.mk,v 1.1255 2021/05/29 12:25:08 rin Exp $
2 2
3# This needs to be before bsd.init.mk 3# This needs to be before bsd.init.mk
4.if defined(BSD_MK_COMPAT_FILE) 4.if defined(BSD_MK_COMPAT_FILE)
5.include <${BSD_MK_COMPAT_FILE}> 5.include <${BSD_MK_COMPAT_FILE}>
6.endif 6.endif
7 7
8.if !defined(_BSD_OWN_MK_) 8.if !defined(_BSD_OWN_MK_)
9_BSD_OWN_MK_=1 9_BSD_OWN_MK_=1
10 10
11MAKECONF?= /etc/mk.conf 11MAKECONF?= /etc/mk.conf
12.-include "${MAKECONF}" 12.-include "${MAKECONF}"
13 13
14# 14#
15# CPU model, derived from MACHINE_ARCH 15# CPU model, derived from MACHINE_ARCH
16# 16#
17MACHINE_CPU= ${MACHINE_ARCH:C/mips.*e[bl]/mips/:C/sh3e[bl]/sh3/:S/coldfire/m68k/:S/m68000/m68k/:C/e?arm.*/arm/:S/powerpc64/powerpc/:S/aarch64eb/aarch64/:S/or1knd/or1k/:C/riscv../riscv/} 17MACHINE_CPU= ${MACHINE_ARCH:C/mips.*e[bl]/mips/:C/sh3e[bl]/sh3/:S/coldfire/m68k/:S/m68000/m68k/:C/e?arm.*/arm/:S/powerpc64/powerpc/:S/aarch64eb/aarch64/:S/or1knd/or1k/:C/riscv../riscv/}
18 18
19.if (${MACHINE_ARCH} == "mips64el" || \ 19.if (${MACHINE_ARCH} == "mips64el" || \
20 ${MACHINE_ARCH} == "mips64eb" || \ 20 ${MACHINE_ARCH} == "mips64eb" || \
21 ${MACHINE_ARCH} == "mipsn64el" || \ 21 ${MACHINE_ARCH} == "mipsn64el" || \
22 ${MACHINE_ARCH} == "mipsn64eb") 22 ${MACHINE_ARCH} == "mipsn64eb")
23MACHINE_MIPS64= 1 23MACHINE_MIPS64= 1
24.else 24.else
25MACHINE_MIPS64= 0 25MACHINE_MIPS64= 0
26.endif 26.endif
27 27
28# 28#
29# Subdirectory used below ${RELEASEDIR} when building a release 29# Subdirectory used below ${RELEASEDIR} when building a release
30# 30#
31.if !empty(MACHINE:Mevbarm) || !empty(MACHINE:Mevbmips) \ 31.if !empty(MACHINE:Mevbarm) || !empty(MACHINE:Mevbmips) \
32 || !empty(MACHINE:Mevbsh3) 32 || !empty(MACHINE:Mevbsh3)
33RELEASEMACHINEDIR?= ${MACHINE}-${MACHINE_ARCH} 33RELEASEMACHINEDIR?= ${MACHINE}-${MACHINE_ARCH}
34.else 34.else
35RELEASEMACHINEDIR?= ${MACHINE} 35RELEASEMACHINEDIR?= ${MACHINE}
36.endif 36.endif
37 37
38# 38#
39# Subdirectory or path component used for the following paths: 39# Subdirectory or path component used for the following paths:
40# distrib/${RELEASEMACHINE} 40# distrib/${RELEASEMACHINE}
41# distrib/notes/${RELEASEMACHINE} 41# distrib/notes/${RELEASEMACHINE}
42# etc/etc.${RELEASEMACHINE} 42# etc/etc.${RELEASEMACHINE}
43# Used when building a release. 43# Used when building a release.
44# 44#
45RELEASEMACHINE?= ${MACHINE} 45RELEASEMACHINE?= ${MACHINE}
46 46
47# 47#
48# NEED_OWN_INSTALL_TARGET is set to "no" by pkgsrc/mk/bsd.pkg.mk to 48# NEED_OWN_INSTALL_TARGET is set to "no" by pkgsrc/mk/bsd.pkg.mk to
49# ensure that things defined by <bsd.own.mk> (default targets, 49# ensure that things defined by <bsd.own.mk> (default targets,
50# INSTALL_FILE, etc.) are not conflicting with bsd.pkg.mk. 50# INSTALL_FILE, etc.) are not conflicting with bsd.pkg.mk.
51# 51#
52NEED_OWN_INSTALL_TARGET?= yes 52NEED_OWN_INSTALL_TARGET?= yes
53 53
54# 54#
55# This lists the platforms which do not have working in-tree toolchains. For 55# This lists the platforms which do not have working in-tree toolchains. For
56# the in-tree gcc toolchain, this list is empty. 56# the in-tree gcc toolchain, this list is empty.
57# 57#
58# If some future port is not supported by the in-tree toolchain, this should 58# If some future port is not supported by the in-tree toolchain, this should
59# be set to "yes" for that port only. 59# be set to "yes" for that port only.
60# 60#
61# .if ${MACHINE} == "playstation2" 61# .if ${MACHINE} == "playstation2"
62# TOOLCHAIN_MISSING?= yes 62# TOOLCHAIN_MISSING?= yes
63# .endif 63# .endif
64 64
65TOOLCHAIN_MISSING?= no 65TOOLCHAIN_MISSING?= no
66 66
67# 67#
68# GCC Using platforms. 68# GCC Using platforms.
69# 69#
70.if ${MKGCC:Uyes} != "no" 70.if ${MKGCC:Uyes} != "no"
71 71
72# 72#
73# What GCC is used? 73# What GCC is used?
74# 74#
75.if ${MACHINE} == "alpha" || \ 75.if ${MACHINE} == "alpha" || \
76 ${MACHINE} == "hppa" || \ 76 ${MACHINE} == "hppa" || \
77 ${MACHINE} == "ia64" || \ 77 ${MACHINE} == "ia64" || \
78 ${MACHINE} == "sparc" || \ 78 ${MACHINE} == "sparc" || \
79 ${MACHINE} == "sparc64" || \ 79 ${MACHINE} == "sparc64" || \
80 ${MACHINE} == "vax" || \ 80 ${MACHINE} == "vax" || \
81 ${MACHINE_ARCH} == "i386" || \ 81 ${MACHINE_ARCH} == "i386" || \
82 ${MACHINE_ARCH} == "x86_64" || \ 82 ${MACHINE_ARCH} == "x86_64" || \
83 ${MACHINE_CPU} == "aarch64" || \ 83 ${MACHINE_CPU} == "aarch64" || \
84 ${MACHINE_CPU} == "mips" || \ 84 ${MACHINE_CPU} == "mips" || \
85 ${MACHINE_CPU} == "powerpc" || \ 85 ${MACHINE_CPU} == "powerpc" || \
86 ${MACHINE_CPU} == "riscv" 86 ${MACHINE_CPU} == "riscv"
87HAVE_GCC?= 10 87HAVE_GCC?= 10
88.else 88.else
89HAVE_GCC?= 9 89HAVE_GCC?= 9
90.endif 90.endif
91 91
92# 92#
93# Platforms that can't run a modern GCC natively 93# Platforms that can't run a modern GCC natively
94.if ${MACHINE_ARCH} == "m68000" 94.if ${MACHINE_ARCH} == "m68000"
95MKGCCCMDS?= no 95MKGCCCMDS?= no
96.endif 96.endif
97 97
98# 98#
99# We import the old gcc as "gcc.old" when upgrading. EXTERNAL_GCC_SUBDIR is 99# We import the old gcc as "gcc.old" when upgrading. EXTERNAL_GCC_SUBDIR is
100# set to the relevant subdirectory in src/external/gpl3 for his HAVE_GCC. 100# set to the relevant subdirectory in src/external/gpl3 for his HAVE_GCC.
101# 101#
102.if ${HAVE_GCC} == 9 102.if ${HAVE_GCC} == 9
103EXTERNAL_GCC_SUBDIR?= gcc.old 103EXTERNAL_GCC_SUBDIR?= gcc.old
104.elif ${HAVE_GCC} == 10 104.elif ${HAVE_GCC} == 10
105EXTERNAL_GCC_SUBDIR?= gcc 105EXTERNAL_GCC_SUBDIR?= gcc
106.else 106.else
107EXTERNAL_GCC_SUBDIR?= /does/not/exist 107EXTERNAL_GCC_SUBDIR?= /does/not/exist
108.endif 108.endif
109.else 109.else
110MKGCCCMDS?= no 110MKGCCCMDS?= no
111.endif 111.endif
112 112
113# 113#
114# What binutils is used? 114# What binutils is used?
115# 115#
116HAVE_BINUTILS?= 234 116HAVE_BINUTILS?= 234
117 117
118.if ${HAVE_BINUTILS} == 234 118.if ${HAVE_BINUTILS} == 234
119EXTERNAL_BINUTILS_SUBDIR= binutils 119EXTERNAL_BINUTILS_SUBDIR= binutils
120.elif ${HAVE_BINUTILS} == 231 120.elif ${HAVE_BINUTILS} == 231
121EXTERNAL_BINUTILS_SUBDIR= binutils.old 121EXTERNAL_BINUTILS_SUBDIR= binutils.old
122.else 122.else
123EXTERNAL_BINUTILS_SUBDIR= /does/not/exist 123EXTERNAL_BINUTILS_SUBDIR= /does/not/exist
124.endif 124.endif
125 125
126# 126#
127# What GDB is used? 127# What GDB is used?
128# 128#
129HAVE_GDB?= 1100 129HAVE_GDB?= 1100
130 130
131.if ${HAVE_GDB} == 1100 131.if ${HAVE_GDB} == 1100
132EXTERNAL_GDB_SUBDIR= gdb 132EXTERNAL_GDB_SUBDIR= gdb
133.elif ${HAVE_GDB} == 830 133.elif ${HAVE_GDB} == 830
134EXTERNAL_GDB_SUBDIR= gdb.old 134EXTERNAL_GDB_SUBDIR= gdb.old
135.else 135.else
136EXTERNAL_GDB_SUBDIR= /does/not/exist 136EXTERNAL_GDB_SUBDIR= /does/not/exist
137.endif 137.endif
138 138
139# 139#
140# What OpenSSL is used? 140# What OpenSSL is used?
141#  141#
142HAVE_OPENSSL?= 11 142HAVE_OPENSSL?= 11
143 143
144.if ${HAVE_OPENSSL} == 11 144.if ${HAVE_OPENSSL} == 11
145EXTERNAL_OPENSSL_SUBDIR=openssl 145EXTERNAL_OPENSSL_SUBDIR=openssl
146.elif ${HAVE_OPENSSL} == 10 146.elif ${HAVE_OPENSSL} == 10
147EXTERNAL_OPENSSL_SUBDIR=openssl.old 147EXTERNAL_OPENSSL_SUBDIR=openssl.old
148.else 148.else
149EXTERNAL_OPENSSL_SUBDIR=/does/not/exist 149EXTERNAL_OPENSSL_SUBDIR=/does/not/exist
150.endif 150.endif
151 151
152# 152#
153# Does the platform support ACPI? 153# Does the platform support ACPI?
154# 154#
155.if ${MACHINE_ARCH} == "i386" || \ 155.if ${MACHINE_ARCH} == "i386" || \
156 ${MACHINE_ARCH} == "x86_64" || \ 156 ${MACHINE_ARCH} == "x86_64" || \
157 ${MACHINE_ARCH} == "ia64" || \ 157 ${MACHINE_ARCH} == "ia64" || \
158 !empty(MACHINE_ARCH:Maarch64*) 158 !empty(MACHINE_ARCH:Maarch64*)
159HAVE_ACPI= yes 159HAVE_ACPI= yes
160.else 160.else
161HAVE_ACPI= no 161HAVE_ACPI= no
162.endif 162.endif
163 163
164# 164#
165# Does the platform support UEFI? 165# Does the platform support UEFI?
166# 166#
167.if ${MACHINE_ARCH} == "i386" || \ 167.if ${MACHINE_ARCH} == "i386" || \
168 ${MACHINE_ARCH} == "x86_64" || \ 168 ${MACHINE_ARCH} == "x86_64" || \
169 ${MACHINE_ARCH} == "ia64" || \ 169 ${MACHINE_ARCH} == "ia64" || \
170 !empty(MACHINE_ARCH:Mearmv7*) || \ 170 !empty(MACHINE_ARCH:Mearmv7*) || \
171 !empty(MACHINE_ARCH:Maarch64*) 171 !empty(MACHINE_ARCH:Maarch64*)
172HAVE_UEFI= yes 172HAVE_UEFI= yes
173.else 173.else
174HAVE_UEFI= no 174HAVE_UEFI= no
175.endif 175.endif
176 176
177# 177#
178# Does the platform support NVMM? 178# Does the platform support NVMM?
179# 179#
180.if ${MACHINE_ARCH} == "x86_64" 180.if ${MACHINE_ARCH} == "x86_64"
181HAVE_NVMM= yes 181HAVE_NVMM= yes
182.else 182.else
183HAVE_NVMM= no 183HAVE_NVMM= no
184.endif 184.endif
185 185
186 186
187.if !empty(MACHINE_ARCH:Mearm*) 187.if !empty(MACHINE_ARCH:Mearm*)
188_LIBC_COMPILER_RT.${MACHINE_ARCH}= yes 188_LIBC_COMPILER_RT.${MACHINE_ARCH}= yes
189.endif 189.endif
190 190
191_LIBC_COMPILER_RT.aarch64= yes 191_LIBC_COMPILER_RT.aarch64= yes
192_LIBC_COMPILER_RT.aarch64eb= yes 192_LIBC_COMPILER_RT.aarch64eb= yes
193_LIBC_COMPILER_RT.i386= yes 193_LIBC_COMPILER_RT.i386= yes
194_LIBC_COMPILER_RT.powerpc= yes 194_LIBC_COMPILER_RT.powerpc= yes
195_LIBC_COMPILER_RT.powerpc64= yes 195_LIBC_COMPILER_RT.powerpc64= yes
196_LIBC_COMPILER_RT.sparc= yes 196_LIBC_COMPILER_RT.sparc= yes
197_LIBC_COMPILER_RT.sparc64= yes 197_LIBC_COMPILER_RT.sparc64= yes
198_LIBC_COMPILER_RT.x86_64= yes 198_LIBC_COMPILER_RT.x86_64= yes
199 199
200.if ${HAVE_LLVM:Uno} == "yes" && ${_LIBC_COMPILER_RT.${MACHINE_ARCH}:Uno} == "yes" 200.if ${HAVE_LLVM:Uno} == "yes" && ${_LIBC_COMPILER_RT.${MACHINE_ARCH}:Uno} == "yes"
201HAVE_LIBGCC?= no 201HAVE_LIBGCC?= no
202.else 202.else
203HAVE_LIBGCC?= yes 203HAVE_LIBGCC?= yes
204.endif 204.endif
205 205
206 206
207# Should libgcc have unwinding code? 207# Should libgcc have unwinding code?
208.if ${HAVE_LLVM:Uno} == "yes" || !empty(MACHINE_ARCH:Mearm*) 208.if ${HAVE_LLVM:Uno} == "yes" || !empty(MACHINE_ARCH:Mearm*)
209HAVE_LIBGCC_EH?= no 209HAVE_LIBGCC_EH?= no
210.else 210.else
211HAVE_LIBGCC_EH?= yes 211HAVE_LIBGCC_EH?= yes
212.endif 212.endif
213 213
214# Coverity does not like SSP 214# Coverity does not like SSP
215.if defined(COVERITY_TOP_CONFIG) || \ 215.if defined(COVERITY_TOP_CONFIG) || \
216 ${MACHINE} == "alpha" || \ 216 ${MACHINE} == "alpha" || \
217 ${MACHINE} == "hppa" || \ 217 ${MACHINE} == "hppa" || \
218 ${MACHINE} == "ia64" || \ 218 ${MACHINE} == "ia64" || \
219 ${MACHINE_CPU} == "mips" 219 ${MACHINE_CPU} == "mips"
220HAVE_SSP?= no 220HAVE_SSP?= no
221.else 221.else
222HAVE_SSP?= yes 222HAVE_SSP?= yes
223.if !defined(NOFORT) && ${USE_FORT:Uno} != "no" 223.if !defined(NOFORT) && ${USE_FORT:Uno} != "no"
224USE_SSP?= yes 224USE_SSP?= yes
225.endif 225.endif
226.endif 226.endif
227 227
228# 228#
229# What version of jemalloc we use (100 is the one 229# What version of jemalloc we use (100 is the one
230# built-in to libc from 2005 (pre version 3). 230# built-in to libc from 2005 (pre version 3).
231# 231#
232.if ${MACHINE_ARCH} == "vax" || ${MACHINE} == "sun2" 232.if ${MACHINE_ARCH} == "vax" || ${MACHINE} == "sun2"
233HAVE_JEMALLOC?= 100 233HAVE_JEMALLOC?= 100
234.else 234.else
235HAVE_JEMALLOC?= 510 235HAVE_JEMALLOC?= 510
236.endif 236.endif
237 237
238.if empty(.MAKEFLAGS:tW:M*-V .OBJDIR*) 238.if empty(.MAKEFLAGS:tW:M*-V .OBJDIR*)
239.if defined(MAKEOBJDIRPREFIX) || defined(MAKEOBJDIR) 239.if defined(MAKEOBJDIRPREFIX) || defined(MAKEOBJDIR)
240PRINTOBJDIR= ${MAKE} -r -V .OBJDIR -f /dev/null xxx 240PRINTOBJDIR= ${MAKE} -r -V .OBJDIR -f /dev/null xxx
241.else 241.else
242PRINTOBJDIR= ${MAKE} -V .OBJDIR 242PRINTOBJDIR= ${MAKE} -V .OBJDIR
243.endif 243.endif
244.else 244.else
245PRINTOBJDIR= echo /error/bsd.own.mk/PRINTOBJDIR # avoid infinite recursion 245PRINTOBJDIR= echo /error/bsd.own.mk/PRINTOBJDIR # avoid infinite recursion
246.endif 246.endif
247 247
248# 248#
249# Determine if running in the NetBSD source tree by checking for the 249# Determine if running in the NetBSD source tree by checking for the
250# existence of build.sh and tools/ in the current or a parent directory, 250# existence of build.sh and tools/ in the current or a parent directory,
251# and setting _SRC_TOP_ to the result. 251# and setting _SRC_TOP_ to the result.
252# 252#
253.if !defined(_SRC_TOP_) # { 253.if !defined(_SRC_TOP_) # {
254_SRC_TOP_!= cd "${.CURDIR}"; while :; do \ 254_SRC_TOP_!= cd "${.CURDIR}"; while :; do \
255 here=`pwd`; \ 255 here=`pwd`; \
256 [ -f build.sh ] && [ -d tools ] && { echo $$here; break; }; \ 256 [ -f build.sh ] && [ -d tools ] && { echo $$here; break; }; \
257 case $$here in /) echo ""; break;; esac; \ 257 case $$here in /) echo ""; break;; esac; \
258 cd ..; done 258 cd ..; done
259 259
260.MAKEOVERRIDES+= _SRC_TOP_ 260.MAKEOVERRIDES+= _SRC_TOP_
261 261
262.endif # } 262.endif # }
263 263
264# 264#
265# If _SRC_TOP_ != "", we're within the NetBSD source tree. 265# If _SRC_TOP_ != "", we're within the NetBSD source tree.
266# * Set defaults for NETBSDSRCDIR and _SRC_TOP_OBJ_. 266# * Set defaults for NETBSDSRCDIR and _SRC_TOP_OBJ_.
267# * Define _NETBSD_VERSION_DEPENDS. Targets that depend on the 267# * Define _NETBSD_VERSION_DEPENDS. Targets that depend on the
268# NetBSD version, or on variables defined at build time, can 268# NetBSD version, or on variables defined at build time, can
269# declare a dependency on ${_NETBSD_VERSION_DEPENDS}. 269# declare a dependency on ${_NETBSD_VERSION_DEPENDS}.
270# 270#
271.if (${_SRC_TOP_} != "") # { 271.if (${_SRC_TOP_} != "") # {
272 272
273NETBSDSRCDIR?= ${_SRC_TOP_} 273NETBSDSRCDIR?= ${_SRC_TOP_}
274 274
275.if !defined(_SRC_TOP_OBJ_) 275.if !defined(_SRC_TOP_OBJ_)
276_SRC_TOP_OBJ_!= cd "${_SRC_TOP_}" && ${PRINTOBJDIR} 276_SRC_TOP_OBJ_!= cd "${_SRC_TOP_}" && ${PRINTOBJDIR}
277.MAKEOVERRIDES+= _SRC_TOP_OBJ_ 277.MAKEOVERRIDES+= _SRC_TOP_OBJ_
278.endif 278.endif
279 279
280_NETBSD_VERSION_DEPENDS= ${_SRC_TOP_OBJ_}/params 280_NETBSD_VERSION_DEPENDS= ${_SRC_TOP_OBJ_}/params
281_NETBSD_VERSION_DEPENDS+= ${NETBSDSRCDIR}/sys/sys/param.h 281_NETBSD_VERSION_DEPENDS+= ${NETBSDSRCDIR}/sys/sys/param.h
282_NETBSD_VERSION_DEPENDS+= ${NETBSDSRCDIR}/sys/conf/newvers.sh 282_NETBSD_VERSION_DEPENDS+= ${NETBSDSRCDIR}/sys/conf/newvers.sh
283_NETBSD_VERSION_DEPENDS+= ${NETBSDSRCDIR}/sys/conf/osrelease.sh 283_NETBSD_VERSION_DEPENDS+= ${NETBSDSRCDIR}/sys/conf/osrelease.sh
284${_SRC_TOP_OBJ_}/params: .NOTMAIN .OPTIONAL # created by top level "make build" 284${_SRC_TOP_OBJ_}/params: .NOTMAIN .OPTIONAL # created by top level "make build"
285 285
286.endif # _SRC_TOP_ != "" # } 286.endif # _SRC_TOP_ != "" # }
287 287
288 288
289.if (${_SRC_TOP_} != "") && \ 289.if (${_SRC_TOP_} != "") && \
290 (${TOOLCHAIN_MISSING} == "no" || defined(EXTERNAL_TOOLCHAIN)) 290 (${TOOLCHAIN_MISSING} == "no" || defined(EXTERNAL_TOOLCHAIN))
291USETOOLS?= yes 291USETOOLS?= yes
292.endif 292.endif
293USETOOLS?= no 293USETOOLS?= no
294 294
295 295
296.if ${MACHINE_ARCH} == "mips" || ${MACHINE_ARCH} == "mips64" || \ 296.if ${MACHINE_ARCH} == "mips" || ${MACHINE_ARCH} == "mips64" || \
297 ${MACHINE_ARCH} == "sh3" 297 ${MACHINE_ARCH} == "sh3"
298.BEGIN: 298.BEGIN:
299 @echo "Must set MACHINE_ARCH to one of ${MACHINE_ARCH}eb or ${MACHINE_ARCH}el" 299 @echo "Must set MACHINE_ARCH to one of ${MACHINE_ARCH}eb or ${MACHINE_ARCH}el"
300 @false 300 @false
301.elif defined(REQUIRETOOLS) && \ 301.elif defined(REQUIRETOOLS) && \
302 (${TOOLCHAIN_MISSING} == "no" || defined(EXTERNAL_TOOLCHAIN)) && \ 302 (${TOOLCHAIN_MISSING} == "no" || defined(EXTERNAL_TOOLCHAIN)) && \
303 ${USETOOLS} == "no" 303 ${USETOOLS} == "no"
304.BEGIN: 304.BEGIN:
305 @echo "USETOOLS=no, but this component requires a version-specific host toolchain" 305 @echo "USETOOLS=no, but this component requires a version-specific host toolchain"
306 @false 306 @false
307.endif 307.endif
308 308
309# 309#
310# Host platform information; may be overridden 310# Host platform information; may be overridden
311# 311#
312.include <bsd.host.mk> 312.include <bsd.host.mk>
313 313
314.if ${USETOOLS} == "yes" # { 314.if ${USETOOLS} == "yes" # {
315 315
316# 316#
317# Provide a default for TOOLDIR. 317# Provide a default for TOOLDIR.
318# 318#
319.if !defined(TOOLDIR) 319.if !defined(TOOLDIR)
320TOOLDIR:= ${_SRC_TOP_OBJ_}/tooldir.${HOST_OSTYPE} 320TOOLDIR:= ${_SRC_TOP_OBJ_}/tooldir.${HOST_OSTYPE}
321.MAKEOVERRIDES+= TOOLDIR 321.MAKEOVERRIDES+= TOOLDIR
322.endif 322.endif
323 323
324# 324#
325# This is the prefix used for the NetBSD-sourced tools. 325# This is the prefix used for the NetBSD-sourced tools.
326# 326#
327_TOOL_PREFIX?= nb 327_TOOL_PREFIX?= nb
328 328
329# 329#
330# If an external toolchain base is specified, use it. 330# If an external toolchain base is specified, use it.
331# 331#
332.if defined(EXTERNAL_TOOLCHAIN) # { 332.if defined(EXTERNAL_TOOLCHAIN) # {
333AR= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-ar 333AR= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-ar
334AS= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-as 334AS= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-as
335LD= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-ld 335LD= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-ld
336NM= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-nm 336NM= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-nm
337OBJCOPY= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-objcopy 337OBJCOPY= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-objcopy
338OBJDUMP= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-objdump 338OBJDUMP= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-objdump
339RANLIB= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-ranlib 339RANLIB= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-ranlib
340READELF= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-readelf 340READELF= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-readelf
341SIZE= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-size 341SIZE= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-size
342STRINGS= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-strings 342STRINGS= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-strings
343STRIP= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-strip 343STRIP= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-strip
344 344
345TOOL_CC.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-gcc 345TOOL_CC.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-gcc
346TOOL_CPP.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-cpp 346TOOL_CPP.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-cpp
347TOOL_CXX.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-c++ 347TOOL_CXX.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-c++
348TOOL_FC.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-gfortran 348TOOL_FC.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-gfortran
349TOOL_OBJC.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-gcc 349TOOL_OBJC.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-gcc
350 350
351TOOL_CC.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang 351TOOL_CC.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang
352TOOL_CPP.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang-cpp 352TOOL_CPP.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang-cpp
353TOOL_CXX.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang++ 353TOOL_CXX.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang++
354TOOL_OBJC.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang 354TOOL_OBJC.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang
355.else # } { 355.else # } {
356# Define default locations for common tools. 356# Define default locations for common tools.
357.if ${USETOOLS_BINUTILS:Uyes} == "yes" # { 357.if ${USETOOLS_BINUTILS:Uyes} == "yes" # {
358AR= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-ar 358AR= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-ar
359AS= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-as 359AS= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-as
360LD= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-ld 360LD= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-ld
361NM= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-nm 361NM= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-nm
362OBJCOPY= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-objcopy 362OBJCOPY= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-objcopy
363OBJDUMP= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-objdump 363OBJDUMP= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-objdump
364RANLIB= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-ranlib 364RANLIB= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-ranlib
365READELF= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-readelf 365READELF= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-readelf
366SIZE= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-size 366SIZE= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-size
367STRINGS= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-strings 367STRINGS= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-strings
368STRIP= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-strip 368STRIP= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-strip
369 369
370# GCC supports C, C++, Fortran and Objective C 370# GCC supports C, C++, Fortran and Objective C
371TOOL_CC.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-gcc 371TOOL_CC.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-gcc
372TOOL_CPP.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-cpp 372TOOL_CPP.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-cpp
373TOOL_CXX.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-c++ 373TOOL_CXX.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-c++
374TOOL_FC.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-gfortran 374TOOL_FC.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-gfortran
375TOOL_OBJC.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-gcc 375TOOL_OBJC.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-gcc
376.endif # } 376.endif # }
377 377
378# Clang supports C, C++ and Objective C 378# Clang supports C, C++ and Objective C
379TOOL_CC.clang= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-clang 379TOOL_CC.clang= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-clang
380TOOL_CPP.clang= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-clang-cpp 380TOOL_CPP.clang= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-clang-cpp
381TOOL_CXX.clang= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-clang++ 381TOOL_CXX.clang= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-clang++
382TOOL_OBJC.clang= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-clang 382TOOL_OBJC.clang= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-clang
383 383
384# PCC supports C and Fortran 384# PCC supports C and Fortran
385TOOL_CC.pcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-pcc 385TOOL_CC.pcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-pcc
386TOOL_CPP.pcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-pcpp 386TOOL_CPP.pcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-pcpp
387TOOL_CXX.pcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-p++ 387TOOL_CXX.pcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-p++
388.endif # EXTERNAL_TOOLCHAIN # } 388.endif # EXTERNAL_TOOLCHAIN # }
389 389
390# 390#
391# Make sure DESTDIR is set, so that builds with these tools always 391# Make sure DESTDIR is set, so that builds with these tools always
392# get appropriate -nostdinc, -nostdlib, etc. handling. The default is 392# get appropriate -nostdinc, -nostdlib, etc. handling. The default is
393# <empty string>, meaning start from /, the root directory. 393# <empty string>, meaning start from /, the root directory.
394# 394#
395DESTDIR?= 395DESTDIR?=
396 396
397# Don't append another copy of sysroot (coming from COMPATCPPFLAGS etc.) 397# Don't append another copy of sysroot (coming from COMPATCPPFLAGS etc.)
398# because it confuses Coverity. Still we need to cov-configure specially 398# because it confuses Coverity. Still we need to cov-configure specially
399# for each specific sysroot argument. 399# for each specific sysroot argument.
400# Also don't add a sysroot at all if a rumpkernel build. 400# Also don't add a sysroot at all if a rumpkernel build.
401.if !defined(HOSTPROG) && !defined(HOSTLIB) && !defined(RUMPRUN) 401.if !defined(HOSTPROG) && !defined(HOSTLIB) && !defined(RUMPRUN)
402. if ${DESTDIR} != "" 402. if ${DESTDIR} != ""
403. if empty(CPPFLAGS:M*--sysroot=*) 403. if empty(CPPFLAGS:M*--sysroot=*)
404CPPFLAGS+= --sysroot=${DESTDIR} 404CPPFLAGS+= --sysroot=${DESTDIR}
405. endif 405. endif
406LDFLAGS+= --sysroot=${DESTDIR} 406LDFLAGS+= --sysroot=${DESTDIR}
407. else 407. else
408. if empty(CPPFLAGS:M*--sysroot=*) 408. if empty(CPPFLAGS:M*--sysroot=*)
409CPPFLAGS+= --sysroot=/ 409CPPFLAGS+= --sysroot=/
410. endif 410. endif
411LDFLAGS+= --sysroot=/ 411LDFLAGS+= --sysroot=/
412. endif 412. endif
413.endif 413.endif
414 414
415DBSYM= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-dbsym 415DBSYM= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-dbsym
416ARM_ELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}arm-elf2aout 416ARM_ELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}arm-elf2aout
417M68K_ELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}m68k-elf2aout 417M68K_ELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}m68k-elf2aout
418MIPS_ELF2ECOFF= ${TOOLDIR}/bin/${_TOOL_PREFIX}mips-elf2ecoff 418MIPS_ELF2ECOFF= ${TOOLDIR}/bin/${_TOOL_PREFIX}mips-elf2ecoff
419INSTALL= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-install 419INSTALL= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-install
420LEX= ${TOOLDIR}/bin/${_TOOL_PREFIX}lex 420LEX= ${TOOLDIR}/bin/${_TOOL_PREFIX}lex
421LINT= CC=${CC:Q} ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-lint 421LINT= CC=${CC:Q} ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-lint
422LORDER= NM=${NM:Q} MKTEMP=${TOOL_MKTEMP:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}lorder 422LORDER= NM=${NM:Q} MKTEMP=${TOOL_MKTEMP:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}lorder
423MKDEP= CC=${CC:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}mkdep 423MKDEP= CC=${CC:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}mkdep
424MKDEPCXX= CC=${CXX:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}mkdep 424MKDEPCXX= CC=${CXX:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}mkdep
425PAXCTL= ${TOOLDIR}/bin/${_TOOL_PREFIX}paxctl 425PAXCTL= ${TOOLDIR}/bin/${_TOOL_PREFIX}paxctl
426TSORT= ${TOOLDIR}/bin/${_TOOL_PREFIX}tsort -q 426TSORT= ${TOOLDIR}/bin/${_TOOL_PREFIX}tsort -q
427YACC= ${TOOLDIR}/bin/${_TOOL_PREFIX}yacc 427YACC= ${TOOLDIR}/bin/${_TOOL_PREFIX}yacc
428 428
429TOOL_AMIGAAOUT2BB= ${TOOLDIR}/bin/${_TOOL_PREFIX}amiga-aout2bb 429TOOL_AMIGAAOUT2BB= ${TOOLDIR}/bin/${_TOOL_PREFIX}amiga-aout2bb
430TOOL_AMIGAELF2BB= ${TOOLDIR}/bin/${_TOOL_PREFIX}amiga-elf2bb 430TOOL_AMIGAELF2BB= ${TOOLDIR}/bin/${_TOOL_PREFIX}amiga-elf2bb
431TOOL_AMIGATXLT= ${TOOLDIR}/bin/${_TOOL_PREFIX}amiga-txlt 431TOOL_AMIGATXLT= ${TOOLDIR}/bin/${_TOOL_PREFIX}amiga-txlt
432TOOL_ASN1_COMPILE= ${TOOLDIR}/bin/${_TOOL_PREFIX}asn1_compile 432TOOL_ASN1_COMPILE= ${TOOLDIR}/bin/${_TOOL_PREFIX}asn1_compile
433TOOL_AWK= ${TOOLDIR}/bin/${_TOOL_PREFIX}awk 433TOOL_AWK= ${TOOLDIR}/bin/${_TOOL_PREFIX}awk
434TOOL_CAP_MKDB= ${TOOLDIR}/bin/${_TOOL_PREFIX}cap_mkdb 434TOOL_CAP_MKDB= ${TOOLDIR}/bin/${_TOOL_PREFIX}cap_mkdb
435TOOL_CAT= ${TOOLDIR}/bin/${_TOOL_PREFIX}cat 435TOOL_CAT= ${TOOLDIR}/bin/${_TOOL_PREFIX}cat
436TOOL_CKSUM= ${TOOLDIR}/bin/${_TOOL_PREFIX}cksum 436TOOL_CKSUM= ${TOOLDIR}/bin/${_TOOL_PREFIX}cksum
437TOOL_CLANG_TBLGEN= ${TOOLDIR}/bin/${_TOOL_PREFIX}clang-tblgen 437TOOL_CLANG_TBLGEN= ${TOOLDIR}/bin/${_TOOL_PREFIX}clang-tblgen
438TOOL_COMPILE_ET= ${TOOLDIR}/bin/${_TOOL_PREFIX}compile_et 438TOOL_COMPILE_ET= ${TOOLDIR}/bin/${_TOOL_PREFIX}compile_et
439TOOL_CONFIG= ${TOOLDIR}/bin/${_TOOL_PREFIX}config 439TOOL_CONFIG= ${TOOLDIR}/bin/${_TOOL_PREFIX}config
440TOOL_CRUNCHGEN= MAKE=${.MAKE:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}crunchgen 440TOOL_CRUNCHGEN= MAKE=${.MAKE:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}crunchgen
441TOOL_CTAGS= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctags 441TOOL_CTAGS= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctags
442TOOL_CTFCONVERT= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctfconvert 442TOOL_CTFCONVERT= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctfconvert
443TOOL_CTFMERGE= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctfmerge 443TOOL_CTFMERGE= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctfmerge
444TOOL_CVSLATEST= ${TOOLDIR}/bin/${_TOOL_PREFIX}cvslatest 444TOOL_CVSLATEST= ${TOOLDIR}/bin/${_TOOL_PREFIX}cvslatest
445TOOL_DATE= ${TOOLDIR}/bin/${_TOOL_PREFIX}date 445TOOL_DATE= ${TOOLDIR}/bin/${_TOOL_PREFIX}date
446TOOL_DB= ${TOOLDIR}/bin/${_TOOL_PREFIX}db 446TOOL_DB= ${TOOLDIR}/bin/${_TOOL_PREFIX}db
447TOOL_DISKLABEL= ${TOOLDIR}/bin/${_TOOL_PREFIX}disklabel 447TOOL_DISKLABEL= ${TOOLDIR}/bin/${_TOOL_PREFIX}disklabel
448TOOL_DTC= ${TOOLDIR}/bin/${_TOOL_PREFIX}dtc 448TOOL_DTC= ${TOOLDIR}/bin/${_TOOL_PREFIX}dtc
449TOOL_EQN= ${TOOLDIR}/bin/${_TOOL_PREFIX}eqn 449TOOL_EQN= ${TOOLDIR}/bin/${_TOOL_PREFIX}eqn
450TOOL_FDISK= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk 450TOOL_FDISK= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk
451TOOL_FGEN= ${TOOLDIR}/bin/${_TOOL_PREFIX}fgen 451TOOL_FGEN= ${TOOLDIR}/bin/${_TOOL_PREFIX}fgen
452TOOL_GENASSYM= ${TOOLDIR}/bin/${_TOOL_PREFIX}genassym 452TOOL_GENASSYM= ${TOOLDIR}/bin/${_TOOL_PREFIX}genassym
453TOOL_GENCAT= ${TOOLDIR}/bin/${_TOOL_PREFIX}gencat 453TOOL_GENCAT= ${TOOLDIR}/bin/${_TOOL_PREFIX}gencat
454TOOL_GMAKE= ${TOOLDIR}/bin/${_TOOL_PREFIX}gmake 454TOOL_GMAKE= ${TOOLDIR}/bin/${_TOOL_PREFIX}gmake
455TOOL_GPT= ${TOOLDIR}/bin/${_TOOL_PREFIX}gpt 455TOOL_GPT= ${TOOLDIR}/bin/${_TOOL_PREFIX}gpt
456TOOL_GREP= ${TOOLDIR}/bin/${_TOOL_PREFIX}grep 456TOOL_GREP= ${TOOLDIR}/bin/${_TOOL_PREFIX}grep
457GROFF_SHARE_PATH= ${TOOLDIR}/share/groff 457GROFF_SHARE_PATH= ${TOOLDIR}/share/groff
458TOOL_GROFF_ENV= \ 458TOOL_GROFF_ENV= \
459 GROFF_ENCODING= \ 459 GROFF_ENCODING= \
460 GROFF_BIN_PATH=${TOOLDIR}/lib/groff \ 460 GROFF_BIN_PATH=${TOOLDIR}/lib/groff \
461 GROFF_FONT_PATH=${GROFF_SHARE_PATH}/site-font:${GROFF_SHARE_PATH}/font \ 461 GROFF_FONT_PATH=${GROFF_SHARE_PATH}/site-font:${GROFF_SHARE_PATH}/font \
462 GROFF_TMAC_PATH=${GROFF_SHARE_PATH}/site-tmac:${GROFF_SHARE_PATH}/tmac 462 GROFF_TMAC_PATH=${GROFF_SHARE_PATH}/site-tmac:${GROFF_SHARE_PATH}/tmac
463TOOL_GROFF= ${TOOL_GROFF_ENV} ${TOOLDIR}/bin/${_TOOL_PREFIX}groff ${GROFF_FLAGS} 463TOOL_GROFF= ${TOOL_GROFF_ENV} ${TOOLDIR}/bin/${_TOOL_PREFIX}groff ${GROFF_FLAGS}
464 464
465TOOL_HEXDUMP= ${TOOLDIR}/bin/${_TOOL_PREFIX}hexdump 465TOOL_HEXDUMP= ${TOOLDIR}/bin/${_TOOL_PREFIX}hexdump
466TOOL_HP300MKBOOT= ${TOOLDIR}/bin/${_TOOL_PREFIX}hp300-mkboot 466TOOL_HP300MKBOOT= ${TOOLDIR}/bin/${_TOOL_PREFIX}hp300-mkboot
467TOOL_HPPAMKBOOT= ${TOOLDIR}/bin/${_TOOL_PREFIX}hppa-mkboot 467TOOL_HPPAMKBOOT= ${TOOLDIR}/bin/${_TOOL_PREFIX}hppa-mkboot
468TOOL_INDXBIB= ${TOOLDIR}/bin/${_TOOL_PREFIX}indxbib 468TOOL_INDXBIB= ${TOOLDIR}/bin/${_TOOL_PREFIX}indxbib
469TOOL_INSTALLBOOT= ${TOOLDIR}/bin/${_TOOL_PREFIX}installboot 469TOOL_INSTALLBOOT= ${TOOLDIR}/bin/${_TOOL_PREFIX}installboot
470TOOL_INSTALL_INFO= ${TOOLDIR}/bin/${_TOOL_PREFIX}install-info 470TOOL_INSTALL_INFO= ${TOOLDIR}/bin/${_TOOL_PREFIX}install-info
471TOOL_JOIN= ${TOOLDIR}/bin/${_TOOL_PREFIX}join 471TOOL_JOIN= ${TOOLDIR}/bin/${_TOOL_PREFIX}join
472TOOL_LLVM_TBLGEN= ${TOOLDIR}/bin/${_TOOL_PREFIX}llvm-tblgen 472TOOL_LLVM_TBLGEN= ${TOOLDIR}/bin/${_TOOL_PREFIX}llvm-tblgen
473TOOL_M4= ${TOOLDIR}/bin/${_TOOL_PREFIX}m4 473TOOL_M4= ${TOOLDIR}/bin/${_TOOL_PREFIX}m4
474TOOL_MACPPCFIXCOFF= ${TOOLDIR}/bin/${_TOOL_PREFIX}macppc-fixcoff 474TOOL_MACPPCFIXCOFF= ${TOOLDIR}/bin/${_TOOL_PREFIX}macppc-fixcoff
475TOOL_MAKEFS= ${TOOLDIR}/bin/${_TOOL_PREFIX}makefs 475TOOL_MAKEFS= ${TOOLDIR}/bin/${_TOOL_PREFIX}makefs
476TOOL_MAKEINFO= ${TOOLDIR}/bin/${_TOOL_PREFIX}makeinfo 476TOOL_MAKEINFO= ${TOOLDIR}/bin/${_TOOL_PREFIX}makeinfo
477TOOL_MAKEKEYS= ${TOOLDIR}/bin/${_TOOL_PREFIX}makekeys 477TOOL_MAKEKEYS= ${TOOLDIR}/bin/${_TOOL_PREFIX}makekeys
478TOOL_MAKESTRS= ${TOOLDIR}/bin/${_TOOL_PREFIX}makestrs 478TOOL_MAKESTRS= ${TOOLDIR}/bin/${_TOOL_PREFIX}makestrs
479TOOL_MAKEWHATIS= ${TOOLDIR}/bin/${_TOOL_PREFIX}makewhatis 479TOOL_MAKEWHATIS= ${TOOLDIR}/bin/${_TOOL_PREFIX}makewhatis
480TOOL_MANDOC_ASCII= ${TOOLDIR}/bin/${_TOOL_PREFIX}mandoc -Tascii 480TOOL_MANDOC_ASCII= ${TOOLDIR}/bin/${_TOOL_PREFIX}mandoc -Tascii
481TOOL_MANDOC_HTML= ${TOOLDIR}/bin/${_TOOL_PREFIX}mandoc -Thtml 481TOOL_MANDOC_HTML= ${TOOLDIR}/bin/${_TOOL_PREFIX}mandoc -Thtml
482TOOL_MANDOC_LINT= ${TOOLDIR}/bin/${_TOOL_PREFIX}mandoc -Tlint 482TOOL_MANDOC_LINT= ${TOOLDIR}/bin/${_TOOL_PREFIX}mandoc -Tlint
483TOOL_MDSETIMAGE= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-mdsetimage 483TOOL_MDSETIMAGE= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-mdsetimage
484TOOL_MENUC= MENUDEF=${TOOLDIR}/share/misc ${TOOLDIR}/bin/${_TOOL_PREFIX}menuc 484TOOL_MENUC= MENUDEF=${TOOLDIR}/share/misc ${TOOLDIR}/bin/${_TOOL_PREFIX}menuc
485TOOL_ARMELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}arm-elf2aout 485TOOL_ARMELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}arm-elf2aout
486TOOL_M68KELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}m68k-elf2aout 486TOOL_M68KELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}m68k-elf2aout
487TOOL_MIPSELF2ECOFF= ${TOOLDIR}/bin/${_TOOL_PREFIX}mips-elf2ecoff 487TOOL_MIPSELF2ECOFF= ${TOOLDIR}/bin/${_TOOL_PREFIX}mips-elf2ecoff
488TOOL_MKCSMAPPER= ${TOOLDIR}/bin/${_TOOL_PREFIX}mkcsmapper 488TOOL_MKCSMAPPER= ${TOOLDIR}/bin/${_TOOL_PREFIX}mkcsmapper
489TOOL_MKESDB= ${TOOLDIR}/bin/${_TOOL_PREFIX}mkesdb 489TOOL_MKESDB= ${TOOLDIR}/bin/${_TOOL_PREFIX}mkesdb
490TOOL_MKLOCALE= ${TOOLDIR}/bin/${_TOOL_PREFIX}mklocale 490TOOL_MKLOCALE= ${TOOLDIR}/bin/${_TOOL_PREFIX}mklocale
491TOOL_MKMAGIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}file 491TOOL_MKMAGIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}file
492TOOL_MKNOD= ${TOOLDIR}/bin/${_TOOL_PREFIX}mknod 492TOOL_MKNOD= ${TOOLDIR}/bin/${_TOOL_PREFIX}mknod
493TOOL_MKTEMP= ${TOOLDIR}/bin/${_TOOL_PREFIX}mktemp 493TOOL_MKTEMP= ${TOOLDIR}/bin/${_TOOL_PREFIX}mktemp
494TOOL_MKUBOOTIMAGE= ${TOOLDIR}/bin/${_TOOL_PREFIX}mkubootimage 494TOOL_MKUBOOTIMAGE= ${TOOLDIR}/bin/${_TOOL_PREFIX}mkubootimage
495TOOL_ELFTOSB= ${TOOLDIR}/bin/${_TOOL_PREFIX}elftosb 495TOOL_ELFTOSB= ${TOOLDIR}/bin/${_TOOL_PREFIX}elftosb
496TOOL_MSGC= MSGDEF=${TOOLDIR}/share/misc ${TOOLDIR}/bin/${_TOOL_PREFIX}msgc 496TOOL_MSGC= MSGDEF=${TOOLDIR}/share/misc ${TOOLDIR}/bin/${_TOOL_PREFIX}msgc
497TOOL_MTREE= ${TOOLDIR}/bin/${_TOOL_PREFIX}mtree 497TOOL_MTREE= ${TOOLDIR}/bin/${_TOOL_PREFIX}mtree
498TOOL_MVME68KWRTVID= ${TOOLDIR}/bin/${_TOOL_PREFIX}mvme68k-wrtvid 498TOOL_MVME68KWRTVID= ${TOOLDIR}/bin/${_TOOL_PREFIX}mvme68k-wrtvid
499TOOL_NBPERF= ${TOOLDIR}/bin/${_TOOL_PREFIX}perf 499TOOL_NBPERF= ${TOOLDIR}/bin/${_TOOL_PREFIX}perf
500TOOL_NCDCS= ${TOOLDIR}/bin/${_TOOL_PREFIX}ibmnws-ncdcs 500TOOL_NCDCS= ${TOOLDIR}/bin/${_TOOL_PREFIX}ibmnws-ncdcs
501TOOL_PAX= ${TOOLDIR}/bin/${_TOOL_PREFIX}pax 501TOOL_PAX= ${TOOLDIR}/bin/${_TOOL_PREFIX}pax
502TOOL_PIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}pic 502TOOL_PIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}pic
503TOOL_PIGZ= ${TOOLDIR}/bin/${_TOOL_PREFIX}pigz 503TOOL_PIGZ= ${TOOLDIR}/bin/${_TOOL_PREFIX}pigz
504TOOL_XZ= ${TOOLDIR}/bin/${_TOOL_PREFIX}xz 504TOOL_XZ= ${TOOLDIR}/bin/${_TOOL_PREFIX}xz
505TOOL_PKG_CREATE= ${TOOLDIR}/bin/${_TOOL_PREFIX}pkg_create 505TOOL_PKG_CREATE= ${TOOLDIR}/bin/${_TOOL_PREFIX}pkg_create
506TOOL_POWERPCMKBOOTIMAGE=${TOOLDIR}/bin/${_TOOL_PREFIX}powerpc-mkbootimage 506TOOL_POWERPCMKBOOTIMAGE=${TOOLDIR}/bin/${_TOOL_PREFIX}powerpc-mkbootimage
507TOOL_PWD_MKDB= ${TOOLDIR}/bin/${_TOOL_PREFIX}pwd_mkdb 507TOOL_PWD_MKDB= ${TOOLDIR}/bin/${_TOOL_PREFIX}pwd_mkdb
508TOOL_REFER= ${TOOLDIR}/bin/${_TOOL_PREFIX}refer 508TOOL_REFER= ${TOOLDIR}/bin/${_TOOL_PREFIX}refer
509TOOL_ROFF_ASCII= ${TOOL_GROFF_ENV} ${TOOLDIR}/bin/${_TOOL_PREFIX}nroff 509TOOL_ROFF_ASCII= ${TOOL_GROFF_ENV} ${TOOLDIR}/bin/${_TOOL_PREFIX}nroff
510TOOL_ROFF_DOCASCII= ${TOOL_GROFF} -Tascii 510TOOL_ROFF_DOCASCII= ${TOOL_GROFF} -Tascii
511TOOL_ROFF_DOCHTML= ${TOOL_GROFF} -Thtml 511TOOL_ROFF_DOCHTML= ${TOOL_GROFF} -Thtml
512TOOL_ROFF_DVI= ${TOOL_GROFF} -Tdvi ${ROFF_PAGESIZE} 512TOOL_ROFF_DVI= ${TOOL_GROFF} -Tdvi ${ROFF_PAGESIZE}
513TOOL_ROFF_HTML= ${TOOL_GROFF} -Tlatin1 -mdoc2html 513TOOL_ROFF_HTML= ${TOOL_GROFF} -Tlatin1 -mdoc2html
514TOOL_ROFF_PS= ${TOOL_GROFF} -Tps ${ROFF_PAGESIZE} 514TOOL_ROFF_PS= ${TOOL_GROFF} -Tps ${ROFF_PAGESIZE}
515TOOL_ROFF_RAW= ${TOOL_GROFF} -Z 515TOOL_ROFF_RAW= ${TOOL_GROFF} -Z
516TOOL_RPCGEN= RPCGEN_CPP=${CPP:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}rpcgen 516TOOL_RPCGEN= RPCGEN_CPP=${CPP:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}rpcgen
517TOOL_SED= ${TOOLDIR}/bin/${_TOOL_PREFIX}sed 517TOOL_SED= ${TOOLDIR}/bin/${_TOOL_PREFIX}sed
518TOOL_SLC= ${TOOLDIR}/bin/${_TOOL_PREFIX}slc 518TOOL_SLC= ${TOOLDIR}/bin/${_TOOL_PREFIX}slc
519TOOL_SOELIM= ${TOOLDIR}/bin/${_TOOL_PREFIX}soelim 519TOOL_SOELIM= ${TOOLDIR}/bin/${_TOOL_PREFIX}soelim
520TOOL_SORTINFO= ${TOOLDIR}/bin/${_TOOL_PREFIX}sortinfo 520TOOL_SORTINFO= ${TOOLDIR}/bin/${_TOOL_PREFIX}sortinfo
521TOOL_SPARKCRC= ${TOOLDIR}/bin/${_TOOL_PREFIX}sparkcrc 521TOOL_SPARKCRC= ${TOOLDIR}/bin/${_TOOL_PREFIX}sparkcrc
522TOOL_STAT= ${TOOLDIR}/bin/${_TOOL_PREFIX}stat 522TOOL_STAT= ${TOOLDIR}/bin/${_TOOL_PREFIX}stat
523TOOL_STRFILE= ${TOOLDIR}/bin/${_TOOL_PREFIX}strfile 523TOOL_STRFILE= ${TOOLDIR}/bin/${_TOOL_PREFIX}strfile
524TOOL_SUNLABEL= ${TOOLDIR}/bin/${_TOOL_PREFIX}sunlabel 524TOOL_SUNLABEL= ${TOOLDIR}/bin/${_TOOL_PREFIX}sunlabel
525TOOL_TBL= ${TOOLDIR}/bin/${_TOOL_PREFIX}tbl 525TOOL_TBL= ${TOOLDIR}/bin/${_TOOL_PREFIX}tbl
526TOOL_TIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}tic 526TOOL_TIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}tic
527TOOL_UUDECODE= ${TOOLDIR}/bin/${_TOOL_PREFIX}uudecode 527TOOL_UUDECODE= ${TOOLDIR}/bin/${_TOOL_PREFIX}uudecode
528TOOL_VGRIND= ${TOOLDIR}/bin/${_TOOL_PREFIX}vgrind -f 528TOOL_VGRIND= ${TOOLDIR}/bin/${_TOOL_PREFIX}vgrind -f
529TOOL_VFONTEDPR= ${TOOLDIR}/libexec/${_TOOL_PREFIX}vfontedpr 529TOOL_VFONTEDPR= ${TOOLDIR}/libexec/${_TOOL_PREFIX}vfontedpr
530TOOL_ZIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}zic 530TOOL_ZIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}zic
531 531
532.else # USETOOLS != yes # } { 532.else # USETOOLS != yes # } {
533 533
534# Clang supports C, C++ and Objective C 534# Clang supports C, C++ and Objective C
535TOOL_CC.clang= clang 535TOOL_CC.clang= clang
536TOOL_CPP.clang= clang-cpp 536TOOL_CPP.clang= clang-cpp
537TOOL_CXX.clang= clang++ 537TOOL_CXX.clang= clang++
538TOOL_OBJC.clang= clang 538TOOL_OBJC.clang= clang
539 539
540# GCC supports C, C++, Fortran and Objective C 540# GCC supports C, C++, Fortran and Objective C
541TOOL_CC.gcc= gcc 541TOOL_CC.gcc= gcc
542TOOL_CPP.gcc= cpp 542TOOL_CPP.gcc= cpp
543TOOL_CXX.gcc= c++ 543TOOL_CXX.gcc= c++
544TOOL_FC.gcc= gfortran 544TOOL_FC.gcc= gfortran
545TOOL_OBJC.gcc= gcc 545TOOL_OBJC.gcc= gcc
546 546
547# PCC supports C and Fortran 547# PCC supports C and Fortran
548TOOL_CC.pcc= pcc 548TOOL_CC.pcc= pcc
549TOOL_CPP.pcc= pcpp 549TOOL_CPP.pcc= pcpp
550TOOL_CXX.pcc= p++ 550TOOL_CXX.pcc= p++
551 551
552TOOL_AMIGAAOUT2BB= amiga-aout2bb 552TOOL_AMIGAAOUT2BB= amiga-aout2bb
553TOOL_AMIGAELF2BB= amiga-elf2bb 553TOOL_AMIGAELF2BB= amiga-elf2bb
554TOOL_AMIGATXLT= amiga-txlt 554TOOL_AMIGATXLT= amiga-txlt
555TOOL_ASN1_COMPILE= asn1_compile 555TOOL_ASN1_COMPILE= asn1_compile
556TOOL_AWK= awk 556TOOL_AWK= awk
557TOOL_CAP_MKDB= cap_mkdb 557TOOL_CAP_MKDB= cap_mkdb
558TOOL_CAT= cat 558TOOL_CAT= cat
559TOOL_CKSUM= cksum 559TOOL_CKSUM= cksum
560TOOL_CLANG_TBLGEN= clang-tblgen 560TOOL_CLANG_TBLGEN= clang-tblgen
561TOOL_COMPILE_ET= compile_et 561TOOL_COMPILE_ET= compile_et
562TOOL_CONFIG= config 562TOOL_CONFIG= config
563TOOL_CRUNCHGEN= crunchgen 563TOOL_CRUNCHGEN= crunchgen
564TOOL_CTAGS= ctags 564TOOL_CTAGS= ctags
565TOOL_CTFCONVERT= ctfconvert 565TOOL_CTFCONVERT= ctfconvert
566TOOL_CTFMERGE= ctfmerge 566TOOL_CTFMERGE= ctfmerge
567TOOL_CVSLATEST= cvslatest 567TOOL_CVSLATEST= cvslatest
568TOOL_DATE= date 568TOOL_DATE= date
569TOOL_DB= db 569TOOL_DB= db
570TOOL_DISKLABEL= disklabel 570TOOL_DISKLABEL= disklabel
571TOOL_DTC= dtc 571TOOL_DTC= dtc
572TOOL_EQN= eqn 572TOOL_EQN= eqn
573TOOL_FDISK= fdisk 573TOOL_FDISK= fdisk
574TOOL_FGEN= fgen 574TOOL_FGEN= fgen
575TOOL_GENASSYM= genassym 575TOOL_GENASSYM= genassym
576TOOL_GENCAT= gencat 576TOOL_GENCAT= gencat
577TOOL_GMAKE= gmake 577TOOL_GMAKE= gmake
578TOOL_GPT= gpt 578TOOL_GPT= gpt
579TOOL_GREP= grep 579TOOL_GREP= grep
580TOOL_GROFF= groff 580TOOL_GROFF= groff
581TOOL_HEXDUMP= hexdump 581TOOL_HEXDUMP= hexdump
582TOOL_HP300MKBOOT= hp300-mkboot 582TOOL_HP300MKBOOT= hp300-mkboot
583TOOL_HPPAMKBOOT= hppa-mkboot 583TOOL_HPPAMKBOOT= hppa-mkboot
584TOOL_INDXBIB= indxbib 584TOOL_INDXBIB= indxbib
585TOOL_INSTALLBOOT= installboot 585TOOL_INSTALLBOOT= installboot
586TOOL_INSTALL_INFO= install-info 586TOOL_INSTALL_INFO= install-info
587TOOL_JOIN= join 587TOOL_JOIN= join
588TOOL_LLVM_TBLGEN= llvm-tblgen 588TOOL_LLVM_TBLGEN= llvm-tblgen
589TOOL_M4= m4 589TOOL_M4= m4
590TOOL_MACPPCFIXCOFF= macppc-fixcoff 590TOOL_MACPPCFIXCOFF= macppc-fixcoff
591TOOL_MAKEFS= makefs 591TOOL_MAKEFS= makefs
592TOOL_MAKEINFO= makeinfo 592TOOL_MAKEINFO= makeinfo
593TOOL_MAKEKEYS= makekeys 593TOOL_MAKEKEYS= makekeys
594TOOL_MAKESTRS= makestrs 594TOOL_MAKESTRS= makestrs
595TOOL_MAKEWHATIS= /usr/libexec/makewhatis 595TOOL_MAKEWHATIS= /usr/libexec/makewhatis
596TOOL_MANDOC_ASCII= mandoc -Tascii 596TOOL_MANDOC_ASCII= mandoc -Tascii
597TOOL_MANDOC_HTML= mandoc -Thtml 597TOOL_MANDOC_HTML= mandoc -Thtml
598TOOL_MANDOC_LINT= mandoc -Tlint 598TOOL_MANDOC_LINT= mandoc -Tlint
599TOOL_MDSETIMAGE= mdsetimage 599TOOL_MDSETIMAGE= mdsetimage
600TOOL_MENUC= menuc 600TOOL_MENUC= menuc
601TOOL_ARMELF2AOUT= arm-elf2aout 601TOOL_ARMELF2AOUT= arm-elf2aout
602TOOL_M68KELF2AOUT= m68k-elf2aout 602TOOL_M68KELF2AOUT= m68k-elf2aout
603TOOL_MIPSELF2ECOFF= mips-elf2ecoff 603TOOL_MIPSELF2ECOFF= mips-elf2ecoff
604TOOL_MKCSMAPPER= mkcsmapper 604TOOL_MKCSMAPPER= mkcsmapper
605TOOL_MKESDB= mkesdb 605TOOL_MKESDB= mkesdb
606TOOL_MKLOCALE= mklocale 606TOOL_MKLOCALE= mklocale
607TOOL_MKMAGIC= file 607TOOL_MKMAGIC= file
608TOOL_MKNOD= mknod 608TOOL_MKNOD= mknod
609TOOL_MKTEMP= mktemp 609TOOL_MKTEMP= mktemp
610TOOL_MKUBOOTIMAGE= mkubootimage 610TOOL_MKUBOOTIMAGE= mkubootimage
611TOOL_ELFTOSB= elftosb 611TOOL_ELFTOSB= elftosb
612TOOL_MSGC= msgc 612TOOL_MSGC= msgc
613TOOL_MTREE= mtree 613TOOL_MTREE= mtree
614TOOL_MVME68KWRTVID= wrtvid 614TOOL_MVME68KWRTVID= wrtvid
615TOOL_NBPERF= nbperf 615TOOL_NBPERF= nbperf
616TOOL_NCDCS= ncdcs 616TOOL_NCDCS= ncdcs
617TOOL_PAX= pax 617TOOL_PAX= pax
618TOOL_PIC= pic 618TOOL_PIC= pic
619TOOL_PIGZ= pigz 619TOOL_PIGZ= pigz
620TOOL_XZ= xz 620TOOL_XZ= xz
621TOOL_PKG_CREATE= pkg_create 621TOOL_PKG_CREATE= pkg_create
622TOOL_POWERPCMKBOOTIMAGE= powerpc-mkbootimage 622TOOL_POWERPCMKBOOTIMAGE= powerpc-mkbootimage
623TOOL_PWD_MKDB= pwd_mkdb 623TOOL_PWD_MKDB= pwd_mkdb
624TOOL_REFER= refer 624TOOL_REFER= refer
625TOOL_ROFF_ASCII= nroff 625TOOL_ROFF_ASCII= nroff
626TOOL_ROFF_DOCASCII= ${TOOL_GROFF} -Tascii 626TOOL_ROFF_DOCASCII= ${TOOL_GROFF} -Tascii
627TOOL_ROFF_DOCHTML= ${TOOL_GROFF} -Thtml 627TOOL_ROFF_DOCHTML= ${TOOL_GROFF} -Thtml
628TOOL_ROFF_DVI= ${TOOL_GROFF} -Tdvi ${ROFF_PAGESIZE} 628TOOL_ROFF_DVI= ${TOOL_GROFF} -Tdvi ${ROFF_PAGESIZE}
629TOOL_ROFF_HTML= ${TOOL_GROFF} -Tlatin1 -mdoc2html 629TOOL_ROFF_HTML= ${TOOL_GROFF} -Tlatin1 -mdoc2html
630TOOL_ROFF_PS= ${TOOL_GROFF} -Tps ${ROFF_PAGESIZE} 630TOOL_ROFF_PS= ${TOOL_GROFF} -Tps ${ROFF_PAGESIZE}
631TOOL_ROFF_RAW= ${TOOL_GROFF} -Z 631TOOL_ROFF_RAW= ${TOOL_GROFF} -Z
632TOOL_RPCGEN= rpcgen 632TOOL_RPCGEN= rpcgen
633TOOL_SED= sed 633TOOL_SED= sed
634TOOL_SOELIM= soelim 634TOOL_SOELIM= soelim
635TOOL_SORTINFO= sortinfo 635TOOL_SORTINFO= sortinfo
636TOOL_SPARKCRC= sparkcrc 636TOOL_SPARKCRC= sparkcrc
637TOOL_STAT= stat 637TOOL_STAT= stat
638TOOL_STRFILE= strfile 638TOOL_STRFILE= strfile
639TOOL_SUNLABEL= sunlabel 639TOOL_SUNLABEL= sunlabel
640TOOL_TBL= tbl 640TOOL_TBL= tbl
641TOOL_TIC= tic 641TOOL_TIC= tic
642TOOL_UUDECODE= uudecode 642TOOL_UUDECODE= uudecode
643TOOL_VGRIND= vgrind -f 643TOOL_VGRIND= vgrind -f
644TOOL_VFONTEDPR= /usr/libexec/vfontedpr 644TOOL_VFONTEDPR= /usr/libexec/vfontedpr
645TOOL_ZIC= zic 645TOOL_ZIC= zic
646 646
647.endif # USETOOLS != yes # } 647.endif # USETOOLS != yes # }
648 648
649# Standalone code should not be compiled with PIE or CTF 649# Standalone code should not be compiled with PIE or CTF
650# Should create a better test 650# Should create a better test
651.if defined(BINDIR) && ${BINDIR} == "/usr/mdec" 651.if defined(BINDIR) && ${BINDIR} == "/usr/mdec"
652NOPIE= # defined 652NOPIE= # defined
653NOCTF= # defined 653NOCTF= # defined
654.elif ${MACHINE} == "sun2" 654.elif ${MACHINE} == "sun2"
655NOPIE= # we don't have PIC, so no PIE 655NOPIE= # we don't have PIC, so no PIE
656.endif 656.endif
657 657
658# Fallback to ensure that all variables are defined to something 658# Fallback to ensure that all variables are defined to something
659TOOL_CC.false= false 659TOOL_CC.false= false
660TOOL_CPP.false= false 660TOOL_CPP.false= false
661TOOL_CXX.false= false 661TOOL_CXX.false= false
662TOOL_FC.false= false 662TOOL_FC.false= false
663TOOL_OBJC.false= false 663TOOL_OBJC.false= false
664 664
665AVAILABLE_COMPILER?= ${HAVE_PCC:Dpcc} ${HAVE_LLVM:Dclang} ${HAVE_GCC:Dgcc} false 665AVAILABLE_COMPILER?= ${HAVE_PCC:Dpcc} ${HAVE_LLVM:Dclang} ${HAVE_GCC:Dgcc} false
666 666
667.for _t in CC CPP CXX FC OBJC 667.for _t in CC CPP CXX FC OBJC
668ACTIVE_${_t}= ${AVAILABLE_COMPILER:@.c.@ ${ !defined(UNSUPPORTED_COMPILER.${.c.}) && defined(TOOL_${_t}.${.c.}) :? ${.c.} : }@:[1]} 668ACTIVE_${_t}= ${AVAILABLE_COMPILER:@.c.@ ${ !defined(UNSUPPORTED_COMPILER.${.c.}) && defined(TOOL_${_t}.${.c.}) :? ${.c.} : }@:[1]}
669SUPPORTED_${_t}=${AVAILABLE_COMPILER:Nfalse:@.c.@ ${ !defined(UNSUPPORTED_COMPILER.${.c.}) && defined(TOOL_${_t}.${.c.}) :? ${.c.} : }@} 669SUPPORTED_${_t}=${AVAILABLE_COMPILER:Nfalse:@.c.@ ${ !defined(UNSUPPORTED_COMPILER.${.c.}) && defined(TOOL_${_t}.${.c.}) :? ${.c.} : }@}
670.endfor 670.endfor
671# make bugs prevent moving this into the .for loop 671# make bugs prevent moving this into the .for loop
672CC= ${TOOL_CC.${ACTIVE_CC}} 672CC= ${TOOL_CC.${ACTIVE_CC}}
673CPP= ${TOOL_CPP.${ACTIVE_CPP}} 673CPP= ${TOOL_CPP.${ACTIVE_CPP}}
674CXX= ${TOOL_CXX.${ACTIVE_CXX}} 674CXX= ${TOOL_CXX.${ACTIVE_CXX}}
675FC= ${TOOL_FC.${ACTIVE_FC}} 675FC= ${TOOL_FC.${ACTIVE_FC}}
676OBJC= ${TOOL_OBJC.${ACTIVE_OBJC}} 676OBJC= ${TOOL_OBJC.${ACTIVE_OBJC}}
677 677
678# For each ${MACHINE_CPU}, list the ports that use it. 678# For each ${MACHINE_CPU}, list the ports that use it.
679MACHINES.aarch64= evbarm 679MACHINES.aarch64= evbarm
680MACHINES.alpha= alpha 680MACHINES.alpha= alpha
681MACHINES.arm= acorn32 cats epoc32 evbarm hpcarm \ 681MACHINES.arm= acorn32 cats epoc32 evbarm hpcarm \
682 iyonix netwinder shark zaurus 682 iyonix netwinder shark zaurus
683MACHINES.coldfire= evbcf 683MACHINES.coldfire= evbcf
684MACHINES.i386= i386 684MACHINES.i386= i386
685MACHINES.ia64= ia64 685MACHINES.ia64= ia64
686MACHINES.hppa= hppa 686MACHINES.hppa= hppa
687MACHINES.m68000= sun2 687MACHINES.m68000= sun2
688MACHINES.m68k= amiga atari cesfic hp300 luna68k mac68k \ 688MACHINES.m68k= amiga atari cesfic hp300 luna68k mac68k \
689 news68k next68k sun3 x68k 689 news68k next68k sun3 x68k
690MACHINES.mips= algor arc cobalt emips evbmips ews4800mips \ 690MACHINES.mips= algor arc cobalt emips evbmips ews4800mips \
691 hpcmips mipsco newsmips pmax sbmips sgimips 691 hpcmips mipsco newsmips pmax sbmips sgimips
692MACHINES.or1k= or1k 692MACHINES.or1k= or1k
693MACHINES.powerpc= amigappc bebox evbppc ibmnws macppc mvmeppc \ 693MACHINES.powerpc= amigappc bebox evbppc ibmnws macppc mvmeppc \
694 ofppc prep rs6000 sandpoint 694 ofppc prep rs6000 sandpoint
695MACHINES.riscv= riscv 695MACHINES.riscv= riscv
696MACHINES.sh3= dreamcast evbsh3 hpcsh landisk mmeye 696MACHINES.sh3= dreamcast evbsh3 hpcsh landisk mmeye
697MACHINES.sparc= sparc sparc64 697MACHINES.sparc= sparc sparc64
698MACHINES.sparc64= sparc64 698MACHINES.sparc64= sparc64
699MACHINES.vax= vax 699MACHINES.vax= vax
700MACHINES.x86_64= amd64 700MACHINES.x86_64= amd64
701 701
702# OBJCOPY flags to create a.out binaries for old firmware 702# OBJCOPY flags to create a.out binaries for old firmware
703# shared among src/distrib and ${MACHINE}/conf/Makefile.${MACHINE}.inc 703# shared among src/distrib and ${MACHINE}/conf/Makefile.${MACHINE}.inc
704.if ${MACHINE_CPU} == "arm" 704.if ${MACHINE_CPU} == "arm"
705OBJCOPY_ELF2AOUT_FLAGS?= \ 705OBJCOPY_ELF2AOUT_FLAGS?= \
706 -O a.out-arm-netbsd \ 706 -O a.out-arm-netbsd \
707 -R .ident \ 707 -R .ident \
708 -R .ARM.attributes \ 708 -R .ARM.attributes \
709 -R .ARM.exidx \ 709 -R .ARM.exidx \
710 -R .ARM.extab \ 710 -R .ARM.extab \
711 -R .SUNW_ctf \ 711 -R .SUNW_ctf \
712 -R .arm.atpcs \ 712 -R .arm.atpcs \
713 -R .comment \ 713 -R .comment \
714 -R .debug_abbrev \ 714 -R .debug_abbrev \
715 -R .debug_aranges \ 715 -R .debug_aranges \
716 -R .debug_info \ 716 -R .debug_info \
717 -R .debug_line \ 717 -R .debug_line \
718 -R .debug_frame \ 718 -R .debug_frame \
719 -R .debug_loc \ 719 -R .debug_loc \
720 -R .debug_pubnames \ 720 -R .debug_pubnames \
721 -R .debug_pubtypes \ 721 -R .debug_pubtypes \
722 -R .debug_ranges \ 722 -R .debug_ranges \
723 -R .debug_str \ 723 -R .debug_str \
724 -R .debug_macinfo \ 724 -R .debug_macinfo \
725 -R .eh_frame \ 725 -R .eh_frame \
726 -R .note.netbsd.ident 726 -R .note.netbsd.ident
727.endif 727.endif
728 728
729# 729#
730# Targets to check if DESTDIR or RELEASEDIR is provided 730# Targets to check if DESTDIR or RELEASEDIR is provided
731# 731#
732.if !target(check_DESTDIR) 732.if !target(check_DESTDIR)
733check_DESTDIR: .PHONY .NOTMAIN 733check_DESTDIR: .PHONY .NOTMAIN
734.if !defined(DESTDIR) 734.if !defined(DESTDIR)
735 @echo "setenv DESTDIR before doing that!" 735 @echo "setenv DESTDIR before doing that!"
736 @false 736 @false
737.else 737.else
738 @true 738 @true
739.endif 739.endif
740.endif 740.endif
741 741
742.if !target(check_RELEASEDIR) 742.if !target(check_RELEASEDIR)
743check_RELEASEDIR: .PHONY .NOTMAIN 743check_RELEASEDIR: .PHONY .NOTMAIN
744.if !defined(RELEASEDIR) 744.if !defined(RELEASEDIR)
745 @echo "setenv RELEASEDIR before doing that!" 745 @echo "setenv RELEASEDIR before doing that!"
746 @false 746 @false
747.else 747.else
748 @true 748 @true
749.endif 749.endif
750.endif 750.endif
751 751
752# 752#
753# Where the system object and source trees are kept; can be configurable 753# Where the system object and source trees are kept; can be configurable
754# by the user in case they want them in ~/foosrc and ~/fooobj (for example). 754# by the user in case they want them in ~/foosrc and ~/fooobj (for example).
755# 755#
756BSDSRCDIR?= /usr/src 756BSDSRCDIR?= /usr/src
757BSDOBJDIR?= /usr/obj 757BSDOBJDIR?= /usr/obj
758NETBSDSRCDIR?= ${BSDSRCDIR} 758NETBSDSRCDIR?= ${BSDSRCDIR}
759 759
760BINGRP?= wheel 760BINGRP?= wheel
761BINOWN?= root 761BINOWN?= root
762BINMODE?= 555 762BINMODE?= 555
763NONBINMODE?= 444 763NONBINMODE?= 444
764 764
765# These are here mainly because we don't want suid root in case 765# These are here mainly because we don't want suid root in case
766# a Makefile defines BINMODE. 766# a Makefile defines BINMODE.
767RUMPBINGRP?= wheel 767RUMPBINGRP?= wheel
768RUMPBINOWN?= root 768RUMPBINOWN?= root
769RUMPBINMODE?= 555 769RUMPBINMODE?= 555
770RUMPNONBINMODE?=444 770RUMPNONBINMODE?=444
771 771
772MANDIR?= /usr/share/man 772MANDIR?= /usr/share/man
773MANGRP?= wheel 773MANGRP?= wheel
774MANOWN?= root 774MANOWN?= root
775MANMODE?= ${NONBINMODE} 775MANMODE?= ${NONBINMODE}
776MANINSTALL?= ${_MANINSTALL} 776MANINSTALL?= ${_MANINSTALL}
777 777
778INFODIR?= /usr/share/info 778INFODIR?= /usr/share/info
779INFOGRP?= wheel 779INFOGRP?= wheel
780INFOOWN?= root 780INFOOWN?= root
781INFOMODE?= ${NONBINMODE} 781INFOMODE?= ${NONBINMODE}
782 782
783LIBDIR?= /usr/lib 783LIBDIR?= /usr/lib
784 784
785LINTLIBDIR?= /usr/libdata/lint 785LINTLIBDIR?= /usr/libdata/lint
786LIBGRP?= ${BINGRP} 786LIBGRP?= ${BINGRP}
787LIBOWN?= ${BINOWN} 787LIBOWN?= ${BINOWN}
788LIBMODE?= ${NONBINMODE} 788LIBMODE?= ${NONBINMODE}
789 789
790DOCDIR?= /usr/share/doc 790DOCDIR?= /usr/share/doc
791DOCGRP?= wheel 791DOCGRP?= wheel
792DOCOWN?= root 792DOCOWN?= root
793DOCMODE?= ${NONBINMODE} 793DOCMODE?= ${NONBINMODE}
794 794
795NLSDIR?= /usr/share/nls 795NLSDIR?= /usr/share/nls
796NLSGRP?= wheel 796NLSGRP?= wheel
797NLSOWN?= root 797NLSOWN?= root
798NLSMODE?= ${NONBINMODE} 798NLSMODE?= ${NONBINMODE}
799 799
800KMODULEGRP?= wheel 800KMODULEGRP?= wheel
801KMODULEOWN?= root 801KMODULEOWN?= root
802KMODULEMODE?= ${NONBINMODE} 802KMODULEMODE?= ${NONBINMODE}
803 803
804LOCALEDIR?= /usr/share/locale 804LOCALEDIR?= /usr/share/locale
805LOCALEGRP?= wheel 805LOCALEGRP?= wheel
806LOCALEOWN?= root 806LOCALEOWN?= root
807LOCALEMODE?= ${NONBINMODE} 807LOCALEMODE?= ${NONBINMODE}
808 808
809FIRMWAREDIR?= /libdata/firmware 809FIRMWAREDIR?= /libdata/firmware
810FIRMWAREGRP?= wheel 810FIRMWAREGRP?= wheel
811FIRMWAREOWN?= root 811FIRMWAREOWN?= root
812FIRMWAREMODE?= ${NONBINMODE} 812FIRMWAREMODE?= ${NONBINMODE}
813 813
814DEBUGDIR?= /usr/libdata/debug 814DEBUGDIR?= /usr/libdata/debug
815DEBUGGRP?= wheel 815DEBUGGRP?= wheel
816DEBUGOWN?= root 816DEBUGOWN?= root
817DEBUGMODE?= ${NONBINMODE} 817DEBUGMODE?= ${NONBINMODE}
818 818
819DTBDIR?= /boot/dtb 819DTBDIR?= /boot/dtb
820DTBGRP?= wheel 820DTBGRP?= wheel
821DTBOWN?= root 821DTBOWN?= root
822DTBMODE?= ${NONBINMODE} 822DTBMODE?= ${NONBINMODE}
823 823
824MKDIRMODE?= 0755 824MKDIRMODE?= 0755
825MKDIRPERM?= -m ${MKDIRMODE} 825MKDIRPERM?= -m ${MKDIRMODE}
826 826
827# 827#
828# Data-driven table using make variables to control how 828# Data-driven table using make variables to control how
829# toolchain-dependent targets and shared libraries are built 829# toolchain-dependent targets and shared libraries are built
830# for different platforms and object formats. 830# for different platforms and object formats.
831# 831#
832# OBJECT_FMT: currently either "ELF" or "a.out". 832# OBJECT_FMT: currently either "ELF" or "a.out".
833# 833#
834# All platforms are ELF. 834# All platforms are ELF.
835# 835#
836OBJECT_FMT= ELF 836OBJECT_FMT= ELF
837 837
838# 838#
839# If this platform's toolchain is missing, we obviously cannot build it. 839# If this platform's toolchain is missing, we obviously cannot build it.
840# 840#
841.if ${TOOLCHAIN_MISSING} != "no" 841.if ${TOOLCHAIN_MISSING} != "no"
842MKBINUTILS:= no 842MKBINUTILS:= no
843MKGDB:= no 843MKGDB:= no
844MKGCC:= no 844MKGCC:= no
845.endif 845.endif
846 846
847# 847#
848# If we are using an external toolchain, we can still build the target's 848# If we are using an external toolchain, we can still build the target's
849# binutils, but we cannot build GCC's support libraries, since those are 849# binutils, but we cannot build GCC's support libraries, since those are
850# tightly-coupled to the version of GCC being used. 850# tightly-coupled to the version of GCC being used.
851# 851#
852.if defined(EXTERNAL_TOOLCHAIN) 852.if defined(EXTERNAL_TOOLCHAIN)
853MKGCC:= no 853MKGCC:= no
854.endif 854.endif
855 855
856MKGDB.or1k= no 856MKGDB.or1k= no
857MKGDB.riscv32= no 857MKGDB.riscv32= no
858MKGDB.riscv64= no 858MKGDB.riscv64= no
859 859
860# No kernel modules for or1k, riscv or mips (yet) 860# No kernel modules for or1k, riscv or mips (yet)
861MKKMOD.or1k= no 861MKKMOD.or1k= no
862MKKMOD.riscv32= no 862MKKMOD.riscv32= no
863MKKMOD.riscv64= no 863MKKMOD.riscv64= no
864 864
865# No profiling for or1k (yet) 865# No profiling for or1k (yet)
866MKPROFILE.or1k= no 866MKPROFILE.or1k= no
867MKPROFILE.riscv32=no 867MKPROFILE.riscv32=no
868MKPROFILE.riscv64=no 868MKPROFILE.riscv64=no
869 869
870# 870#
871# The m68000 port is incomplete. 871# The m68000 port is incomplete.
872# 872#
873.if ${MACHINE_ARCH} == "m68000" 873.if ${MACHINE_ARCH} == "m68000"
874NOPIC= # defined 874NOPIC= # defined
875MKISCSI= no 875MKISCSI= no
876# XXX GCC 4 outputs mcount() calling sequences that try to load values 876# XXX GCC 4 outputs mcount() calling sequences that try to load values
877# from over 64KB away and this fails to assemble. 877# from over 64KB away and this fails to assemble.
878.if defined(HAVE_GCC) 878.if defined(HAVE_GCC)
879NOPROFILE= # defined 879NOPROFILE= # defined
880.endif 880.endif
881.endif 881.endif
882 882
883# 883#
884# GCC warnings with simple disables. Use these with eg 884# GCC warnings with simple disables. Use these with eg
885# COPTS.foo.c+= ${GCC_NO_STRINGOP_TRUNCATION}. 885# COPTS.foo.c+= ${GCC_NO_STRINGOP_TRUNCATION}.
886# 886#
887GCC_NO_FORMAT_TRUNCATION= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-format-truncation :} 887GCC_NO_FORMAT_TRUNCATION= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-format-truncation :}
888GCC_NO_FORMAT_OVERFLOW= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-format-overflow :} 888GCC_NO_FORMAT_OVERFLOW= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-format-overflow :}
889GCC_NO_STRINGOP_OVERFLOW= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-stringop-overflow :} 889GCC_NO_STRINGOP_OVERFLOW= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-stringop-overflow :}
890GCC_NO_IMPLICIT_FALLTHRU= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-implicit-fallthrough :}  890GCC_NO_IMPLICIT_FALLTHRU= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-implicit-fallthrough :}
891GCC_NO_STRINGOP_TRUNCATION= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -Wno-stringop-truncation :} 891GCC_NO_STRINGOP_TRUNCATION= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -Wno-stringop-truncation :}
892GCC_NO_CAST_FUNCTION_TYPE= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -Wno-cast-function-type :} 892GCC_NO_CAST_FUNCTION_TYPE= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -Wno-cast-function-type :}
893GCC_NO_ADDR_OF_PACKED_MEMBER= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 9:? -Wno-address-of-packed-member :} 893GCC_NO_ADDR_OF_PACKED_MEMBER= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 9:? -Wno-address-of-packed-member :}
894GCC_NO_MAYBE_UNINITIALIZED= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-maybe-uninitialized :} 894GCC_NO_MAYBE_UNINITIALIZED= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-maybe-uninitialized :}
895GCC_NO_RETURN_LOCAL_ADDR= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-return-local-addr :} 895GCC_NO_RETURN_LOCAL_ADDR= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-return-local-addr :}
896 896
897# 897#
898# Clang warnings 898# Clang warnings
899# 899#
900CLANG_NO_ADDR_OF_PACKED_MEMBER= ${${ACTIVE_CC} == "clang" :? -Wno-error=address-of-packed-member :} 900CLANG_NO_ADDR_OF_PACKED_MEMBER= ${${ACTIVE_CC} == "clang" :? -Wno-error=address-of-packed-member :}
901 901
902NO_ADDR_OF_PACKED_MEMBER= ${CLANG_NO_ADDR_OF_PACKED_MEMBER} ${GCC_NO_ADDR_OF_PACKED_MEMBER} 902NO_ADDR_OF_PACKED_MEMBER= ${CLANG_NO_ADDR_OF_PACKED_MEMBER} ${GCC_NO_ADDR_OF_PACKED_MEMBER}
903 903
904# 904#
905# The ia64 port is incomplete. 905# The ia64 port is incomplete.
906# 906#
907MKGDB.ia64= no 907MKGDB.ia64= no
908 908
909# 909#
910# On VAX using ELF, all objects are PIC, not just shared libraries, 910# On VAX using ELF, all objects are PIC, not just shared libraries,
911# so don't build the _pic version. VAX has no native TLS support either, 911# so don't build the _pic version. VAX has no native TLS support either,
912# so differences between TLS models are not relevant. 912# so differences between TLS models are not relevant.
913# 913#
914MKPICLIB.vax= no 914MKPICLIB.vax= no
915 915
916# 916#
917# Location of the file that contains the major and minor numbers of the 917# Location of the file that contains the major and minor numbers of the
918# version of a shared library. If this file exists a shared library 918# version of a shared library. If this file exists a shared library
919# will be built by <bsd.lib.mk>. 919# will be built by <bsd.lib.mk>.
920# 920#
921SHLIB_VERSION_FILE?= ${.CURDIR}/shlib_version 921SHLIB_VERSION_FILE?= ${.CURDIR}/shlib_version
922 922
923# 923#
924# GNU sources and packages sometimes see architecture names differently. 924# GNU sources and packages sometimes see architecture names differently.
925# 925#
926GNU_ARCH.aarch64eb=aarch64_be 926GNU_ARCH.aarch64eb=aarch64_be
927GNU_ARCH.coldfire=m5407 927GNU_ARCH.coldfire=m5407
928GNU_ARCH.earm=arm 928GNU_ARCH.earm=arm
929GNU_ARCH.earmhf=arm 929GNU_ARCH.earmhf=arm
930GNU_ARCH.earmeb=armeb 930GNU_ARCH.earmeb=armeb
931GNU_ARCH.earmhfeb=armeb 931GNU_ARCH.earmhfeb=armeb
932GNU_ARCH.earmv4=armv4 932GNU_ARCH.earmv4=armv4
933GNU_ARCH.earmv4eb=armv4eb 933GNU_ARCH.earmv4eb=armv4eb
934GNU_ARCH.earmv5=arm 934GNU_ARCH.earmv5=arm
935GNU_ARCH.earmv5hf=arm 935GNU_ARCH.earmv5hf=arm
936GNU_ARCH.earmv5eb=armeb 936GNU_ARCH.earmv5eb=armeb
937GNU_ARCH.earmv5hfeb=armeb 937GNU_ARCH.earmv5hfeb=armeb
938GNU_ARCH.earmv6=armv6 938GNU_ARCH.earmv6=armv6
939GNU_ARCH.earmv6hf=armv6 939GNU_ARCH.earmv6hf=armv6
940GNU_ARCH.earmv6eb=armv6eb 940GNU_ARCH.earmv6eb=armv6eb
941GNU_ARCH.earmv6hfeb=armv6eb 941GNU_ARCH.earmv6hfeb=armv6eb
942GNU_ARCH.earmv7=armv7 942GNU_ARCH.earmv7=armv7
943GNU_ARCH.earmv7hf=armv7 943GNU_ARCH.earmv7hf=armv7
944GNU_ARCH.earmv7eb=armv7eb 944GNU_ARCH.earmv7eb=armv7eb
945GNU_ARCH.earmv7hfeb=armv7eb 945GNU_ARCH.earmv7hfeb=armv7eb
946GNU_ARCH.i386=i486 946GNU_ARCH.i386=i486
947GCC_CONFIG_ARCH.i386=i486 947GCC_CONFIG_ARCH.i386=i486
948GCC_CONFIG_TUNE.i386=nocona 948GCC_CONFIG_TUNE.i386=nocona
949GCC_CONFIG_TUNE.x86_64=nocona 949GCC_CONFIG_TUNE.x86_64=nocona
950GNU_ARCH.m68000=m68010 950GNU_ARCH.m68000=m68010
951GNU_ARCH.sh3eb=sh 951GNU_ARCH.sh3eb=sh
952GNU_ARCH.sh3el=shle 952GNU_ARCH.sh3el=shle
953GNU_ARCH.mips64eb=mips64 953GNU_ARCH.mips64eb=mips64
954MACHINE_GNU_ARCH=${GNU_ARCH.${MACHINE_ARCH}:U${MACHINE_ARCH}} 954MACHINE_GNU_ARCH=${GNU_ARCH.${MACHINE_ARCH}:U${MACHINE_ARCH}}
955 955
956# 956#
957# In order to identify NetBSD to GNU packages, we sometimes need 957# In order to identify NetBSD to GNU packages, we sometimes need
958# an "elf" tag for historically a.out platforms. 958# an "elf" tag for historically a.out platforms.
959# 959#
960.if (!empty(MACHINE_ARCH:Mearm*)) 960.if (!empty(MACHINE_ARCH:Mearm*))
961MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH}--netbsdelf-${MACHINE_ARCH:C/eb//:C/v[4-7]//:S/earm/eabi/} 961MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH}--netbsdelf-${MACHINE_ARCH:C/eb//:C/v[4-7]//:S/earm/eabi/}
962.elif (${MACHINE_GNU_ARCH} == "arm" || \ 962.elif (${MACHINE_GNU_ARCH} == "arm" || \
963 ${MACHINE_GNU_ARCH} == "armeb" || \ 963 ${MACHINE_GNU_ARCH} == "armeb" || \
964 ${MACHINE_ARCH} == "i386" || \ 964 ${MACHINE_ARCH} == "i386" || \
965 ${MACHINE_CPU} == "m68k" || \ 965 ${MACHINE_CPU} == "m68k" || \
966 ${MACHINE_GNU_ARCH} == "sh" || \ 966 ${MACHINE_GNU_ARCH} == "sh" || \
967 ${MACHINE_GNU_ARCH} == "shle" || \ 967 ${MACHINE_GNU_ARCH} == "shle" || \
968 ${MACHINE_ARCH} == "sparc" || \ 968 ${MACHINE_ARCH} == "sparc" || \
969 ${MACHINE_ARCH} == "vax") 969 ${MACHINE_ARCH} == "vax")
970MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH}--netbsdelf 970MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH}--netbsdelf
971.else 971.else
972MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH}--netbsd 972MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH}--netbsd
973.endif 973.endif
974 974
975.if !empty(MACHINE_ARCH:M*arm*) 975.if !empty(MACHINE_ARCH:M*arm*)
976# Flags to pass to CC for using the old APCS ABI on ARM for compat or stand. 976# Flags to pass to CC for using the old APCS ABI on ARM for compat or stand.
977ARM_APCS_FLAGS= -mabi=apcs-gnu -mfloat-abi=soft -marm 977ARM_APCS_FLAGS= -mabi=apcs-gnu -mfloat-abi=soft -marm
978ARM_APCS_FLAGS+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -mno-thumb-interwork :} 978ARM_APCS_FLAGS+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -mno-thumb-interwork :}
979ARM_APCS_FLAGS+=${${ACTIVE_CC} == "clang":? -target ${MACHINE_GNU_ARCH}--netbsdelf -B ${TOOLDIR}/${MACHINE_GNU_PLATFORM}/bin :} 979ARM_APCS_FLAGS+=${${ACTIVE_CC} == "clang":? -target ${MACHINE_GNU_ARCH}--netbsdelf -B ${TOOLDIR}/${MACHINE_GNU_PLATFORM}/bin :}
980.endif 980.endif
981 981
982GENASSYM_CPPFLAGS+= ${${ACTIVE_CC} == "clang":? -no-integrated-as :} 982GENASSYM_CPPFLAGS+= ${${ACTIVE_CC} == "clang":? -no-integrated-as :}
983 983
984TARGETS+= all clean cleandir depend dependall includes \ 984TARGETS+= all clean cleandir depend dependall includes \
985 install lint obj regress tags html analyze describe \ 985 install lint obj regress tags html analyze describe \
986 rumpdescribe 986 rumpdescribe
987PHONY_NOTMAIN = all clean cleandir depend dependall distclean includes \ 987PHONY_NOTMAIN = all clean cleandir depend dependall distclean includes \
988 install lint obj regress beforedepend afterdepend \ 988 install lint obj regress beforedepend afterdepend \
989 beforeinstall afterinstall realinstall realdepend realall \ 989 beforeinstall afterinstall realinstall realdepend realall \
990 html subdir-all subdir-install subdir-depend analyze describe \ 990 html subdir-all subdir-install subdir-depend analyze describe \
991 rumpdescribe 991 rumpdescribe
992.PHONY: ${PHONY_NOTMAIN} 992.PHONY: ${PHONY_NOTMAIN}
993.NOTMAIN: ${PHONY_NOTMAIN} 993.NOTMAIN: ${PHONY_NOTMAIN}
994 994
995.if ${NEED_OWN_INSTALL_TARGET} != "no" 995.if ${NEED_OWN_INSTALL_TARGET} != "no"
996.if !target(install) 996.if !target(install)
997install: beforeinstall .WAIT subdir-install realinstall .WAIT afterinstall 997install: beforeinstall .WAIT subdir-install realinstall .WAIT afterinstall
998beforeinstall: 998beforeinstall:
999subdir-install: 999subdir-install:
1000realinstall: 1000realinstall:
1001afterinstall: 1001afterinstall:
1002.endif 1002.endif
1003all: realall subdir-all 1003all: realall subdir-all
1004subdir-all: 1004subdir-all:
1005realall: 1005realall:
1006depend: realdepend subdir-depend 1006depend: realdepend subdir-depend
1007subdir-depend: 1007subdir-depend:
1008realdepend: 1008realdepend:
1009distclean: cleandir 1009distclean: cleandir
1010cleandir: clean 1010cleandir: clean
1011 1011
1012dependall: .NOTMAIN realdepend .MAKE 1012dependall: .NOTMAIN realdepend .MAKE
1013 @cd "${.CURDIR}"; ${MAKE} realall 1013 @cd "${.CURDIR}"; ${MAKE} realall
1014.endif 1014.endif
1015 1015
1016# 1016#
1017# Define MKxxx variables (which are either yes or no) for users 1017# Define MKxxx variables (which are either yes or no) for users
1018# to set in /etc/mk.conf and override in the make environment. 1018# to set in /etc/mk.conf and override in the make environment.
1019# These should be tested with `== "no"' or `!= "no"'. 1019# These should be tested with `== "no"' or `!= "no"'.
1020# The NOxxx variables should only be set by Makefiles. 1020# The NOxxx variables should only be set by Makefiles.
1021# 1021#
1022# Please keep etc/Makefile and share/man/man5/mk.conf.5 in sync 1022# Please keep etc/Makefile and share/man/man5/mk.conf.5 in sync
1023# with changes to the MK* variables here. 1023# with changes to the MK* variables here.
1024# 1024#
1025 1025
1026# 1026#
1027# Supported NO* options (if defined, MK* will be forced to "no", 1027# Supported NO* options (if defined, MK* will be forced to "no",
1028# regardless of user's mk.conf setting). 1028# regardless of user's mk.conf setting).
1029# 1029#
1030# Source makefiles should set NO*, and not MK*, and must do so before 1030# Source makefiles should set NO*, and not MK*, and must do so before
1031# including bsd.own.mk. 1031# including bsd.own.mk.
1032# 1032#
1033.for var in \ 1033.for var in \
1034 NOCOMPAT NOCRYPTO NODOC NOHTML NOINFO NOLIBCSANITIZER NOLINKLIB \ 1034 NOCOMPAT NOCRYPTO NODOC NOHTML NOINFO NOLIBCSANITIZER NOLINKLIB \
1035 NOLINT NOMAN NONLS NOOBJ NOPIC NOPICINSTALL NOPROFILE NOSHARE \ 1035 NOLINT NOMAN NONLS NOOBJ NOPIC NOPICINSTALL NOPROFILE NOSHARE \
1036 NOSTATICLIB NODEBUGLIB NOSANITIZER NORELRO 1036 NOSTATICLIB NODEBUGLIB NOSANITIZER NORELRO
1037.if defined(${var}) 1037.if defined(${var})
1038MK${var:S/^NO//}:= no 1038MK${var:S/^NO//}:= no
1039.endif 1039.endif
1040.endfor 1040.endfor
1041 1041
1042# 1042#
1043# Older-style variables that enabled behaviour when set. 1043# Older-style variables that enabled behaviour when set.
1044# 1044#
1045.for var in MANZ UNPRIVED UPDATE 1045.for var in MANZ UNPRIVED UPDATE
1046.if defined(${var}) 1046.if defined(${var})
1047MK${var}:= yes 1047MK${var}:= yes
1048.endif 1048.endif
1049.endfor 1049.endfor
1050 1050
1051# 1051#
1052# MK* options which have variable defaults. 1052# MK* options which have variable defaults.
1053# 1053#
1054# aarch64eb is not yet supported. 1054# aarch64eb is not yet supported.
1055# 1055#
1056.if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "sparc64" \ 1056.if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "sparc64" \
1057 || ${MACHINE_MIPS64} \ 1057 || ${MACHINE_MIPS64} \
1058 || ${MACHINE_ARCH} == "powerpc64" || ${MACHINE_ARCH} == "aarch64" \ 1058 || ${MACHINE_ARCH} == "powerpc64" || ${MACHINE_ARCH} == "aarch64" \
1059 || ${MACHINE_ARCH} == "riscv64" || !empty(MACHINE_ARCH:Mearm*) 1059 || ${MACHINE_ARCH} == "riscv64" || !empty(MACHINE_ARCH:Mearm*)
1060MKCOMPAT?= yes 1060MKCOMPAT?= yes
1061.else 1061.else
1062# Don't let this build where it really isn't supported. 1062# Don't let this build where it really isn't supported.
1063MKCOMPAT:= no 1063MKCOMPAT:= no
1064.endif 1064.endif
1065 1065
1066.if ${MKCOMPAT} == "no" 1066.if ${MKCOMPAT} == "no"
1067MKCOMPATTESTS:= no 1067MKCOMPATTESTS:= no
1068MKCOMPATX11:= no 1068MKCOMPATX11:= no
1069.endif 1069.endif
1070 1070
1071.if ${MACHINE_MIPS64} \ 1071.if ${MACHINE_MIPS64} \
1072 || (${MACHINE} == "evbppc" && ${MACHINE_ARCH} == "powerpc") 1072 || (${MACHINE} == "evbppc" && ${MACHINE_ARCH} == "powerpc")
1073MKCOMPATMODULES?= yes 1073MKCOMPATMODULES?= yes
1074.else 1074.else
1075MKCOMPATMODULES:= no 1075MKCOMPATMODULES:= no
1076.endif 1076.endif
1077 1077
1078# 1078#
1079# These platforms use softfloat by default. 1079# These platforms use softfloat by default.
1080# 1080#
1081.if ${MACHINE_MIPS64} 1081.if ${MACHINE_MIPS64}
1082MKSOFTFLOAT?= yes 1082MKSOFTFLOAT?= yes
1083.endif 1083.endif
1084 1084
1085# 1085#
1086# These platforms always use softfloat. 1086# These platforms always use softfloat.
1087# 1087#
1088.if (${MACHINE_CPU} == "arm" && ${MACHINE_ARCH:M*hf*} == "") || \ 1088.if (${MACHINE_CPU} == "arm" && ${MACHINE_ARCH:M*hf*} == "") || \
1089 ${MACHINE_ARCH} == "coldfire" || ${MACHINE_CPU} == "or1k" || \ 1089 ${MACHINE_ARCH} == "coldfire" || ${MACHINE_CPU} == "or1k" || \
1090 ${MACHINE} == "emips" || ${MACHINE_CPU} == "sh3" 1090 ${MACHINE} == "emips" || ${MACHINE_CPU} == "sh3"
1091MKSOFTFLOAT= yes 1091MKSOFTFLOAT= yes
1092.endif 1092.endif
1093 1093
1094.if ${MACHINE} == "emips" 1094.if ${MACHINE} == "emips"
1095SOFTFLOAT_BITS= 32 1095SOFTFLOAT_BITS= 32
1096.endif 1096.endif
1097 1097
1098# 1098#
1099# We want to build zfs only for amd64, aarch64 and sparc64 by default for now. 1099# We want to build zfs only for amd64, aarch64 and sparc64 by default for now.
1100# 1100#
1101.if ${MACHINE} == "amd64" || ${MACHINE_ARCH} == "aarch64" || \ 1101.if ${MACHINE} == "amd64" || ${MACHINE_ARCH} == "aarch64" || \
1102 ${MACHINE} == "sparc64" 1102 ${MACHINE} == "sparc64"
1103MKZFS?= yes 1103MKZFS?= yes
1104.endif 1104.endif
1105 1105
1106# 1106#
1107# DTrace works on amd64, i386, aarch64, and earm* 1107# DTrace works on amd64, i386, aarch64, and earm*
1108# 1108#
1109.if ${MACHINE_ARCH} == "i386" || \ 1109.if ${MACHINE_ARCH} == "i386" || \
1110 ${MACHINE_ARCH} == "x86_64" || \ 1110 ${MACHINE_ARCH} == "x86_64" || \
1111 ${MACHINE_ARCH} == "aarch64" || \ 1111 ${MACHINE_ARCH} == "aarch64" || \
1112 !empty(MACHINE_ARCH:Mearm*) 1112 !empty(MACHINE_ARCH:Mearm*)
1113MKDTRACE?= yes 1113MKDTRACE?= yes
1114MKCTF?= yes 1114MKCTF?= yes
1115.endif 1115.endif
1116 1116
1117# 1117#
1118# PIE is enabled on many platforms by default. 1118# PIE is enabled on many platforms by default.
1119# 1119#
1120# Coverity does not like PIE 1120# Coverity does not like PIE
1121.if !defined(COVERITY_TOP_CONFIG) && \ 1121.if !defined(COVERITY_TOP_CONFIG) && \
1122 (${MACHINE_ARCH} == "i386" || \ 1122 (${MACHINE_ARCH} == "i386" || \
1123 ${MACHINE_ARCH} == "x86_64" || \ 1123 ${MACHINE_ARCH} == "x86_64" || \
1124 ${MACHINE_CPU} == "arm" || \ 1124 ${MACHINE_CPU} == "arm" || \
1125 ${MACHINE_CPU} == "m68k" || \ 1125 ${MACHINE_CPU} == "m68k" || \
1126 ${MACHINE_CPU} == "mips" || \ 1126 ${MACHINE_CPU} == "mips" || \
1127 ${MACHINE_CPU} == "sh3" || \ 1127 ${MACHINE_CPU} == "sh3" || \
1128 ${MACHINE} == "sparc64") 1128 ${MACHINE} == "sparc64")
1129MKPIE?= yes 1129MKPIE?= yes
1130.else 1130.else
1131MKPIE?= no 1131MKPIE?= no
1132.endif 1132.endif
1133 1133
1134# 1134#
1135# RELRO is enabled on i386 and amd64 by default 1135# RELRO is enabled on i386 and amd64 by default
1136# 1136#
1137.if ${MACHINE_ARCH} == "i386" || \ 1137.if ${MACHINE_ARCH} == "i386" || \
1138 ${MACHINE_ARCH} == "x86_64" 1138 ${MACHINE_ARCH} == "x86_64"
1139MKRELRO?= partial 1139MKRELRO?= partial
1140.else 1140.else
1141MKRELRO?= no 1141MKRELRO?= no
1142.endif 1142.endif
1143 1143
1144.if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "i386" 1144.if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "i386"
1145MKSTATICPIE?= yes 1145MKSTATICPIE?= yes
1146.else 1146.else
1147MKSTATICPIE?= no 1147MKSTATICPIE?= no
1148.endif 1148.endif
1149 1149
1150# 1150#
1151# MK* options which default to "yes". 1151# MK* options which default to "yes".
1152# 1152#
1153_MKVARS.yes= \ 1153_MKVARS.yes= \
1154 MKATF \ 1154 MKATF \
1155 MKBINUTILS \ 1155 MKBINUTILS \
1156 MKBSDTAR \ 1156 MKBSDTAR \
1157 MKCOMPLEX MKCVS MKCXX \ 1157 MKCOMPLEX MKCVS MKCXX \
1158 MKDOC MKDTC \ 1158 MKDOC MKDTC \
1159 MKDYNAMICROOT \ 1159 MKDYNAMICROOT \
1160 MKGCC MKGDB MKGROFF \ 1160 MKGCC MKGDB MKGROFF \
1161 MKHESIOD MKHTML \ 1161 MKHESIOD MKHTML \
1162 MKIEEEFP MKINET6 MKINFO MKIPFILTER MKISCSI \ 1162 MKIEEEFP MKINET6 MKINFO MKIPFILTER MKISCSI \
1163 MKKERBEROS \ 1163 MKKERBEROS \
1164 MKKMOD \ 1164 MKKMOD \
1165 MKLDAP MKLIBSTDCXX MKLINKLIB MKLVM \ 1165 MKLDAP MKLIBSTDCXX MKLINKLIB MKLVM \
1166 MKMAN MKMANDOC \ 1166 MKMAN MKMANDOC \
1167 MKMDNS \ 1167 MKMDNS \
1168 MKMAKEMANDB \ 1168 MKMAKEMANDB \
1169 MKNLS \ 1169 MKNLS \
1170 MKNPF \ 1170 MKNPF \
1171 MKOBJ \ 1171 MKOBJ \
1172 MKPAM MKPERFUSE \ 1172 MKPAM MKPERFUSE \
1173 MKPF MKPIC MKPICLIB MKPOSTFIX MKPROFILE \ 1173 MKPF MKPIC MKPICLIB MKPOSTFIX MKPROFILE \
1174 MKRUMP \ 1174 MKRUMP \
1175 MKSHARE MKSKEY MKSTATICLIB \ 1175 MKSHARE MKSKEY MKSTATICLIB \
1176 MKUNBOUND \ 1176 MKUNBOUND \
1177 MKX11FONTS \ 1177 MKX11FONTS \
1178 MKYP 1178 MKYP
1179.for var in ${_MKVARS.yes} 1179.for var in ${_MKVARS.yes}
1180${var}?= ${${var}.${MACHINE_ARCH}:Uyes} 1180${var}?= ${${var}.${MACHINE_ARCH}:Uyes}
1181.endfor 1181.endfor
1182 1182
1183# 1183#
1184# MKGCCCMDS is only valid if we are building GCC so make it dependent on that. 1184# MKGCCCMDS is only valid if we are building GCC so make it dependent on that.
1185# 1185#
1186_MKVARS.yes += MKGCCCMDS 1186_MKVARS.yes += MKGCCCMDS
1187MKGCCCMDS?= ${MKGCC} 1187MKGCCCMDS?= ${MKGCC}
1188 1188
1189# 1189#
1190# Sanitizers, only "address" and "undefined" are supported by gcc 1190# Sanitizers, only "address" and "undefined" are supported by gcc
1191# 1191#
1192MKSANITIZER?= no 1192MKSANITIZER?= no
1193USE_SANITIZER?= address 1193USE_SANITIZER?= address
1194 1194
1195# 1195#
1196# Sanitizers implemented in libc, only "undefined" is supported 1196# Sanitizers implemented in libc, only "undefined" is supported
1197# 1197#
1198MKLIBCSANITIZER?= no 1198MKLIBCSANITIZER?= no
1199USE_LIBCSANITIZER?= undefined 1199USE_LIBCSANITIZER?= undefined
1200 1200
1201# 1201#
1202# Exceptions to the above: 1202# Exceptions to the above:
1203# 1203#
1204 1204
1205# RUMP uses -nostdinc which coverity does not like 1205# RUMP uses -nostdinc which coverity does not like
1206# It also does not use many new files, so disable it 1206# It also does not use many new files, so disable it
1207.if defined(COVERITY_TOP_CONFIG) 1207.if defined(COVERITY_TOP_CONFIG)
1208MKRUMP= no 1208MKRUMP= no
1209.endif 1209.endif
1210 1210
1211# 1211#
1212# Build a dynamically linked /bin and /sbin, with the necessary shared 1212# Build a dynamically linked /bin and /sbin, with the necessary shared
1213# libraries moved from /usr/lib to /lib and the shared linker moved 1213# libraries moved from /usr/lib to /lib and the shared linker moved
1214# from /usr/libexec to /lib 1214# from /usr/libexec to /lib
1215# 1215#
1216# Note that if the BINDIR is not /bin or /sbin, then we always use the 1216# Note that if the BINDIR is not /bin or /sbin, then we always use the
1217# non-DYNAMICROOT behavior (i.e. it is only enabled for programs in /bin 1217# non-DYNAMICROOT behavior (i.e. it is only enabled for programs in /bin
1218# and /sbin). See <bsd.shlib.mk>. 1218# and /sbin). See <bsd.shlib.mk>.
1219# 1219#
1220# For ia64, ld.elf_so not yet implemented 1220# For ia64, ld.elf_so not yet implemented
1221.if ${MACHINE_ARCH} == "ia64" 1221.if ${MACHINE_ARCH} == "ia64"
1222MKDYNAMICROOT= no 1222MKDYNAMICROOT= no
1223.endif 1223.endif
1224 1224
1225.if defined(MKREPRO) 1225.if defined(MKREPRO)
1226MKARZERO ?= ${MKREPRO} 1226MKARZERO ?= ${MKREPRO}
1227GROFF_FLAGS ?= -dpaper=letter 1227GROFF_FLAGS ?= -dpaper=letter
1228ROFF_PAGESIZE ?= -P-pletter 1228ROFF_PAGESIZE ?= -P-pletter
1229.endif 1229.endif
1230 1230
1231# 1231#
1232# Install the kernel as /netbsd/kernel and the modules in /netbsd/modules 1232# Install the kernel as /netbsd/kernel and the modules in /netbsd/modules
1233# 1233#
1234KERNEL_DIR?= no 1234KERNEL_DIR?= no
1235 1235
1236# Only install the general firmware on some systems 1236# Only install the general firmware on some systems
1237MKFIRMWARE.amd64= yes 1237MKFIRMWARE.amd64= yes
1238MKFIRMWARE.cobalt= yes 1238MKFIRMWARE.cobalt= yes
1239MKFIRMWARE.evbarm= yes 1239MKFIRMWARE.evbarm= yes
1240MKFIRMWARE.evbmips= yes 1240MKFIRMWARE.evbmips= yes
1241MKFIRMWARE.evbppc= yes 1241MKFIRMWARE.evbppc= yes
1242MKFIRMWARE.hpcarm= yes 1242MKFIRMWARE.hpcarm= yes
1243MKFIRMWARE.hppa= yes 1243MKFIRMWARE.hppa= yes
1244MKFIRMWARE.i386= yes 1244MKFIRMWARE.i386= yes
1245MKFIRMWARE.mac68k= yes 1245MKFIRMWARE.mac68k= yes
1246MKFIRMWARE.macppc= yes 1246MKFIRMWARE.macppc= yes
1247MKFIRMWARE.sandpoint= yes 1247MKFIRMWARE.sandpoint= yes
1248MKFIRMWARE.sparc64= yes 1248MKFIRMWARE.sparc64= yes
1249 1249
1250# Only install the nouveau and radeon firmwares on DRM-happy systems. 1250# Only install the nouveau and radeon firmwares on DRM-happy systems.
1251MKNOUVEAUFIRMWARE.x86_64= yes 1251MKNOUVEAUFIRMWARE.x86_64= yes
1252MKNOUVEAUFIRMWARE.i386= yes 1252MKNOUVEAUFIRMWARE.i386= yes
1253MKNOUVEAUFIRMWARE.aarch64= yes 1253MKNOUVEAUFIRMWARE.aarch64= yes
1254MKRADEONFIRMWARE.x86_64= yes 1254MKRADEONFIRMWARE.x86_64= yes
1255MKRADEONFIRMWARE.i386= yes 1255MKRADEONFIRMWARE.i386= yes
1256MKRADEONFIRMWARE.aarch64= yes 1256MKRADEONFIRMWARE.aarch64= yes
1257 1257
1258# Only install the tegra firmware on evbarm. 1258# Only install the tegra firmware on evbarm.
1259MKTEGRAFIRMWARE.evbarm= yes 1259MKTEGRAFIRMWARE.evbarm= yes
1260 1260
1261# Only build devicetree (dtb) files on armv6, armv7, and aarch64. 1261# Only build devicetree (dtb) files on armv6, armv7, and aarch64.
1262MKDTB.aarch64= yes 1262MKDTB.aarch64= yes
1263MKDTB.aarch64eb= yes 1263MKDTB.aarch64eb= yes
1264MKDTB.earmv6= yes 1264MKDTB.earmv6= yes
1265MKDTB.earmv6hf= yes 1265MKDTB.earmv6hf= yes
1266MKDTB.earmv6eb= yes 1266MKDTB.earmv6eb= yes
1267MKDTB.earmv6hfeb= yes 1267MKDTB.earmv6hfeb= yes
1268MKDTB.earmv7= yes 1268MKDTB.earmv7= yes
1269MKDTB.earmv7hf= yes 1269MKDTB.earmv7hf= yes
1270MKDTB.earmv7eb= yes 1270MKDTB.earmv7eb= yes
1271MKDTB.earmv7hfeb= yes 1271MKDTB.earmv7hfeb= yes
1272 1272
1273# MesaLib.old and MesaLib7 go together, and MesaLib is alone. 1273# MesaLib.old and MesaLib7 go together, and MesaLib is alone.
1274HAVE_MESA_VER?= 18 1274HAVE_MESA_VER?= 18
1275.if ${HAVE_MESA_VER} == "10" 1275.if ${HAVE_MESA_VER} == "10"
1276EXTERNAL_MESALIB_DIR?= MesaLib.old 1276EXTERNAL_MESALIB_DIR?= MesaLib.old
1277.elif ${HAVE_MESA_VER} == "18" 1277.elif ${HAVE_MESA_VER} == "18"
1278EXTERNAL_MESALIB_DIR?= MesaLib 1278EXTERNAL_MESALIB_DIR?= MesaLib
1279.endif 1279.endif
1280 1280
1281# Default to LLVM run-time if x86 or aarch64 and X11 and Mesa 18 1281# Default to LLVM run-time if x86 or aarch64 and X11 and Mesa 18
1282# XXX This knows that MKX11=no is default below, but would 1282# XXX This knows that MKX11=no is default below, but would
1283# require splitting the below loop in two parts. 1283# require splitting the below loop in two parts.
1284.if ${MKX11:Uno} != "no" && ${HAVE_MESA_VER} == "18" 1284.if ${MKX11:Uno} != "no" && ${HAVE_MESA_VER} == "18"
1285MKLLVMRT.amd64= yes 1285MKLLVMRT.amd64= yes
1286MKLLVMRT.i386= yes 1286MKLLVMRT.i386= yes
1287MKLLVMRT.aarch64= yes 1287MKLLVMRT.aarch64= yes
1288.endif 1288.endif
1289 1289
1290# 1290#
1291# MK* options which default to "no". Note that MKZFS has a different 1291# MK* options which default to "no". Note that MKZFS has a different
1292# default for some platforms, see above. Please keep alphabetically 1292# default for some platforms, see above. Please keep alphabetically
1293# sorted with at most one letter per line. 1293# sorted with at most one letter per line.
1294# 1294#
1295_MKVARS.no= \ 1295_MKVARS.no= \
1296 MKARGON2 \ 1296 MKARGON2 \
1297 MKARZERO \ 1297 MKARZERO \
1298 MKBSDGREP \ 1298 MKBSDGREP \
1299 MKCATPAGES MKCOMPATTESTS MKCOMPATX11 MKCTF \ 1299 MKCATPAGES MKCOMPATTESTS MKCOMPATX11 MKCTF \
1300 MKDEBUG MKDEBUGLIB MKDTB MKDTRACE \ 1300 MKDEBUG MKDEBUGLIB MKDTB MKDTRACE \
1301 MKEXTSRC \ 1301 MKEXTSRC \
1302 MKFIRMWARE \ 1302 MKFIRMWARE \
1303 MKGROFFHTMLDOC \ 1303 MKGROFFHTMLDOC \
1304 MKKYUA \ 1304 MKKYUA \
1305 MKLIBCXX MKLLD MKLLDB MKLLVM MKLLVMRT MKLINT \ 1305 MKLIBCXX MKLLD MKLLDB MKLLVM MKLLVMRT MKLINT \
1306 MKMANZ MKMCLINKER \ 1306 MKMANZ MKMCLINKER \
1307 MKNOUVEAUFIRMWARE MKNSD \ 1307 MKNOUVEAUFIRMWARE MKNSD \
1308 MKOBJDIRS \ 1308 MKOBJDIRS \
1309 MKPCC MKPICINSTALL MKPIGZGZIP \ 1309 MKPCC MKPICINSTALL MKPIGZGZIP \
1310 MKRADEONFIRMWARE MKREPRO \ 1310 MKRADEONFIRMWARE MKREPRO \
1311 MKSLJIT MKSOFTFLOAT MKSTRIPIDENT \ 1311 MKSLJIT MKSOFTFLOAT MKSTRIPIDENT \
1312 MKTEGRAFIRMWARE MKTPM \ 1312 MKTEGRAFIRMWARE MKTPM \
1313 MKUNPRIVED MKUPDATE \ 1313 MKUNPRIVED MKUPDATE \
1314 MKX11 MKX11MOTIF MKXORG_SERVER \ 1314 MKX11 MKX11MOTIF MKXORG_SERVER \
1315 MKZFS 1315 MKZFS
1316.for var in ${_MKVARS.no} 1316.for var in ${_MKVARS.no}
1317${var}?= ${${var}.${MACHINE_ARCH}:U${${var}.${MACHINE}:Uno}} 1317${var}?= ${${var}.${MACHINE_ARCH}:U${${var}.${MACHINE}:Uno}}
1318.endfor 1318.endfor
1319 1319
1320.if ${MACHINE_ARCH} == "i386" || \ 1320.if ${MACHINE_ARCH} == "i386" || \
1321 ${MACHINE_ARCH} == "x86_64" || \ 1321 ${MACHINE_ARCH} == "x86_64" || \
1322 ${MACHINE_ARCH} == "sparc"  1322 ${MACHINE_ARCH} == "sparc"
1323MKSLJIT= yes 1323MKSLJIT= yes
1324.endif 1324.endif
1325 1325
1326# 1326#
1327# Which platforms build the xorg-server drivers (as opposed 1327# Which platforms build the xorg-server drivers (as opposed
1328# to just Xnest and Xvfb.) 1328# to just Xnest and Xvfb.)
1329# 1329#
1330.if ${MACHINE} == "alpha" || \ 1330.if ${MACHINE} == "alpha" || \
1331 ${MACHINE} == "amd64" || \ 1331 ${MACHINE} == "amd64" || \
1332 ${MACHINE} == "amiga" || \ 1332 ${MACHINE} == "amiga" || \
1333 ${MACHINE} == "bebox" || \ 1333 ${MACHINE} == "bebox" || \
1334 ${MACHINE} == "cats" || \ 1334 ${MACHINE} == "cats" || \
1335 ${MACHINE} == "dreamcast" || \ 1335 ${MACHINE} == "dreamcast" || \
1336 ${MACHINE} == "ews4800mips" || \ 1336 ${MACHINE} == "ews4800mips" || \
1337 ${MACHINE} == "evbarm" || \ 1337 ${MACHINE} == "evbarm" || \
1338 ${MACHINE} == "evbmips" || \ 1338 ${MACHINE} == "evbmips" || \
1339 ${MACHINE} == "evbppc" || \ 1339 ${MACHINE} == "evbppc" || \
1340 ${MACHINE} == "hp300" || \ 1340 ${MACHINE} == "hp300" || \
1341 ${MACHINE} == "hpcarm" || \ 1341 ${MACHINE} == "hpcarm" || \
1342 ${MACHINE} == "hpcmips" || \ 1342 ${MACHINE} == "hpcmips" || \
1343 ${MACHINE} == "hpcsh" || \ 1343 ${MACHINE} == "hpcsh" || \
1344 ${MACHINE} == "hppa" || \ 1344 ${MACHINE} == "hppa" || \
1345 ${MACHINE} == "i386" || \ 1345 ${MACHINE} == "i386" || \
1346 ${MACHINE} == "ibmnws" || \ 1346 ${MACHINE} == "ibmnws" || \
1347 ${MACHINE} == "iyonix" || \ 1347 ${MACHINE} == "iyonix" || \
1348 ${MACHINE} == "luna68k" || \ 1348 ${MACHINE} == "luna68k" || \
1349 ${MACHINE} == "mac68k" || \ 1349 ${MACHINE} == "mac68k" || \
1350 ${MACHINE} == "macppc" || \ 1350 ${MACHINE} == "macppc" || \
1351 ${MACHINE} == "netwinder" || \ 1351 ${MACHINE} == "netwinder" || \
1352 ${MACHINE} == "newsmips" || \ 1352 ${MACHINE} == "newsmips" || \
1353 ${MACHINE} == "prep" || \ 1353 ${MACHINE} == "prep" || \
1354 ${MACHINE} == "ofppc" || \ 1354 ${MACHINE} == "ofppc" || \
1355 ${MACHINE} == "sgimips" || \ 1355 ${MACHINE} == "sgimips" || \
1356 ${MACHINE} == "shark" || \ 1356 ${MACHINE} == "shark" || \
1357 ${MACHINE} == "sparc" || \ 1357 ${MACHINE} == "sparc" || \
1358 ${MACHINE} == "sparc64" || \ 1358 ${MACHINE} == "sparc64" || \
1359 ${MACHINE} == "vax" || \ 1359 ${MACHINE} == "vax" || \
1360 ${MACHINE} == "zaurus" 1360 ${MACHINE} == "zaurus"
1361MKXORG_SERVER=yes 1361MKXORG_SERVER=yes
1362.endif 1362.endif
1363 1363
1364# 1364#
1365# Force some options off if their dependencies are off. 1365# Force some options off if their dependencies are off.
1366# 1366#
1367 1367
1368.if ${MKCXX} == "no" 1368.if ${MKCXX} == "no"
1369MKATF:= no 1369MKATF:= no
1370MKGCCCMDS:= no 1370MKGCCCMDS:= no
1371MKGDB:= no 1371MKGDB:= no
1372MKGROFF:= no 1372MKGROFF:= no
1373MKKYUA:= no 1373MKKYUA:= no
1374.endif 1374.endif
1375 1375
1376.if ${MKMAN} == "no" 1376.if ${MKMAN} == "no"
1377MKCATPAGES:= no 1377MKCATPAGES:= no
1378MKHTML:= no 1378MKHTML:= no
1379.endif 1379.endif
1380 1380
1381_MANINSTALL= maninstall 1381_MANINSTALL= maninstall
1382.if ${MKCATPAGES} != "no" 1382.if ${MKCATPAGES} != "no"
1383_MANINSTALL+= catinstall 1383_MANINSTALL+= catinstall
1384.endif 1384.endif
1385.if ${MKHTML} != "no" 1385.if ${MKHTML} != "no"
1386_MANINSTALL+= htmlinstall 1386_MANINSTALL+= htmlinstall
1387.endif 1387.endif
1388 1388
1389.if ${MKLINKLIB} == "no" 1389.if ${MKLINKLIB} == "no"
1390MKLINT:= no 1390MKLINT:= no
1391MKPICINSTALL:= no 1391MKPICINSTALL:= no
1392MKPROFILE:= no 1392MKPROFILE:= no
1393.endif 1393.endif
1394 1394
1395.if ${MKPIC} == "no" 1395.if ${MKPIC} == "no"
1396MKPICLIB:= no 1396MKPICLIB:= no
1397.endif 1397.endif
1398 1398
1399.if ${MKOBJ} == "no" 1399.if ${MKOBJ} == "no"
1400MKOBJDIRS:= no 1400MKOBJDIRS:= no
1401.endif 1401.endif
1402 1402
1403.if ${MKSHARE} == "no" 1403.if ${MKSHARE} == "no"
1404MKCATPAGES:= no 1404MKCATPAGES:= no
1405MKDOC:= no 1405MKDOC:= no
1406MKINFO:= no 1406MKINFO:= no
1407MKHTML:= no 1407MKHTML:= no
1408MKMAN:= no 1408MKMAN:= no
1409MKNLS:= no 1409MKNLS:= no
1410.endif 1410.endif
1411 1411
1412.if !empty(MACHINE_ARCH:Mearm*) 1412.if !empty(MACHINE_ARCH:Mearm*)
1413_NEEDS_LIBCXX.${MACHINE_ARCH}= yes 1413_NEEDS_LIBCXX.${MACHINE_ARCH}= yes
1414.endif 1414.endif
1415_NEEDS_LIBCXX.aarch64= yes 1415_NEEDS_LIBCXX.aarch64= yes
1416_NEEDS_LIBCXX.aarch64eb= yes 1416_NEEDS_LIBCXX.aarch64eb= yes
1417_NEEDS_LIBCXX.i386= yes 1417_NEEDS_LIBCXX.i386= yes
1418_NEEDS_LIBCXX.powerpc= yes 1418_NEEDS_LIBCXX.powerpc= yes
1419_NEEDS_LIBCXX.powerpc64= yes 1419_NEEDS_LIBCXX.powerpc64= yes
1420_NEEDS_LIBCXX.sparc= yes 1420_NEEDS_LIBCXX.sparc= yes
1421_NEEDS_LIBCXX.sparc64= yes 1421_NEEDS_LIBCXX.sparc64= yes
1422_NEEDS_LIBCXX.x86_64= yes 1422_NEEDS_LIBCXX.x86_64= yes
1423 1423
1424.if ${MKLLVM} == "yes" && ${_NEEDS_LIBCXX.${MACHINE_ARCH}:Uno} == "yes" 1424.if ${MKLLVM} == "yes" && ${_NEEDS_LIBCXX.${MACHINE_ARCH}:Uno} == "yes"
1425MKLIBCXX:= yes 1425MKLIBCXX:= yes
1426.endif 1426.endif
1427 1427
1428# 1428#
1429# install(1) parameters. 1429# install(1) parameters.
1430# 1430#
1431COPY?= -c 1431COPY?= -c
1432.if ${MKUPDATE} == "no" 1432.if ${MKUPDATE} == "no"
1433PRESERVE?=  1433PRESERVE?=
1434.else 1434.else
1435PRESERVE?= -p 1435PRESERVE?= -p
1436.endif 1436.endif
1437RENAME?= -r 1437RENAME?= -r
1438HRDLINK?= -l h 1438HRDLINK?= -l h
1439SYMLINK?= -l s 1439SYMLINK?= -l s
1440 1440
1441METALOG?= ${DESTDIR}/METALOG 1441METALOG?= ${DESTDIR}/METALOG
1442METALOG.add?= ${TOOL_CAT} -l >> ${METALOG} 1442METALOG.add?= ${TOOL_CAT} -l >> ${METALOG}
1443.if (${_SRC_TOP_} != "") # only set INSTPRIV if inside ${NETBSDSRCDIR} 1443.if (${_SRC_TOP_} != "") # only set INSTPRIV if inside ${NETBSDSRCDIR}
1444.if ${MKUNPRIVED} != "no" 1444.if ${MKUNPRIVED} != "no"
1445INSTPRIV.unpriv=-U -M ${METALOG} -D ${DESTDIR} -h sha256 1445INSTPRIV.unpriv=-U -M ${METALOG} -D ${DESTDIR} -h sha256
1446.else 1446.else
1447INSTPRIV.unpriv= 1447INSTPRIV.unpriv=
1448.endif 1448.endif
1449INSTPRIV?= ${INSTPRIV.unpriv} -N ${NETBSDSRCDIR}/etc 1449INSTPRIV?= ${INSTPRIV.unpriv} -N ${NETBSDSRCDIR}/etc
1450.endif 1450.endif
1451STRIPFLAG?=  1451STRIPFLAG?=
1452 1452
1453.if ${NEED_OWN_INSTALL_TARGET} != "no" 1453.if ${NEED_OWN_INSTALL_TARGET} != "no"
1454INSTALL_DIR?= ${INSTALL} ${INSTPRIV} -d 1454INSTALL_DIR?= ${INSTALL} ${INSTPRIV} -d
1455INSTALL_FILE?= ${INSTALL} ${INSTPRIV} ${COPY} ${PRESERVE} ${RENAME} 1455INSTALL_FILE?= ${INSTALL} ${INSTPRIV} ${COPY} ${PRESERVE} ${RENAME}
1456INSTALL_LINK?= ${INSTALL} ${INSTPRIV} ${HRDLINK} ${RENAME} 1456INSTALL_LINK?= ${INSTALL} ${INSTPRIV} ${HRDLINK} ${RENAME}
1457INSTALL_SYMLINK?= ${INSTALL} ${INSTPRIV} ${SYMLINK} ${RENAME} 1457INSTALL_SYMLINK?= ${INSTALL} ${INSTPRIV} ${SYMLINK} ${RENAME}
1458.endif 1458.endif
1459 1459
1460# for crunchide & ldd, define the OBJECT_FMTS used by a MACHINE_ARCH 1460# for crunchide & ldd, define the OBJECT_FMTS used by a MACHINE_ARCH
1461# 1461#
1462OBJECT_FMTS= 1462OBJECT_FMTS=
1463.if ${MACHINE_ARCH} != "alpha" && ${MACHINE_ARCH} != "ia64" 1463.if ${MACHINE_ARCH} != "alpha" && ${MACHINE_ARCH} != "ia64"
1464OBJECT_FMTS+= elf32 1464OBJECT_FMTS+= elf32
1465.endif 1465.endif
1466.if ${MACHINE_ARCH} == "alpha" || ${MACHINE_ARCH:M*64*} != "" 1466.if ${MACHINE_ARCH} == "alpha" || ${MACHINE_ARCH:M*64*} != ""
1467. if !(${MKCOMPAT:Uyes} == "no" && ${MACHINE_CPU} == "mips") 1467. if !(${MKCOMPAT:Uyes} == "no" && ${MACHINE_CPU} == "mips")
1468OBJECT_FMTS+= elf64 1468OBJECT_FMTS+= elf64
1469. endif 1469. endif
1470.endif 1470.endif
1471 1471
1472# 1472#
1473# Set defaults for the USE_xxx variables. 1473# Set defaults for the USE_xxx variables.
1474# 1474#
1475 1475
1476# 1476#
1477# USE_* options which default to "no" and will be forced to "no" if their 1477# USE_* options which default to "no" and will be forced to "no" if their
1478# corresponding MK* variable is set to "no". 1478# corresponding MK* variable is set to "no".
1479# 1479#
1480.for var in USE_SKEY 1480.for var in USE_SKEY
1481.if (${${var:S/USE_/MK/}} == "no") 1481.if (${${var:S/USE_/MK/}} == "no")
1482${var}:= no 1482${var}:= no
1483.else 1483.else
1484${var}?= no 1484${var}?= no
1485.endif 1485.endif
1486.endfor 1486.endfor
1487 1487
1488# 1488#
1489# USE_* options which default to "yes" unless their corresponding MK* 1489# USE_* options which default to "yes" unless their corresponding MK*
1490# variable is set to "no". 1490# variable is set to "no".
1491# 1491#
1492.for var in USE_HESIOD USE_INET6 USE_KERBEROS USE_LDAP USE_PAM USE_YP 1492.for var in USE_HESIOD USE_INET6 USE_KERBEROS USE_LDAP USE_PAM USE_YP
1493.if (${${var:S/USE_/MK/}} == "no") 1493.if (${${var:S/USE_/MK/}} == "no")
1494${var}:= no 1494${var}:= no
1495.else 1495.else
1496${var}?= yes 1496${var}?= yes
1497.endif 1497.endif
1498.endfor 1498.endfor
1499 1499
1500# 1500#
1501# USE_* options which default to "yes". 1501# USE_* options which default to "yes".
1502# 1502#
1503.for var in USE_JEMALLOC 1503.for var in USE_JEMALLOC
1504${var}?= yes 1504${var}?= yes
1505.endfor 1505.endfor
1506 1506
1507# 1507#
1508# USE_* options which default to "no". 1508# USE_* options which default to "no".
1509# 1509#
1510# For now, disable pigz as compressor by default 1510# For now, disable pigz as compressor by default
1511.for var in USE_PIGZGZIP 1511.for var in USE_PIGZGZIP
1512${var}?= no 1512${var}?= no
1513.endfor 1513.endfor
1514 1514
1515# Default to USE_XZ_SETS on some 64bit architectures where decompressor 1515# Default to USE_XZ_SETS on some 64bit architectures where decompressor
1516# memory will likely not be in short supply. 1516# memory will likely not be in short supply.
1517# Since pigz can not create .xz format files currently, disable .xz 1517# Since pigz can not create .xz format files currently, disable .xz
1518# format if USE_PIGZGZIP is enabled. 1518# format if USE_PIGZGZIP is enabled.
1519.if ${USE_PIGZGZIP} == "no" && \ 1519.if ${USE_PIGZGZIP} == "no" && \
1520 (${MACHINE} == "amd64" || \ 1520 (${MACHINE} == "amd64" || \
1521 ${MACHINE} == "sparc64" || \ 1521 ${MACHINE} == "sparc64" || \
1522 ${MACHINE_CPU} == "aarch64") 1522 ${MACHINE_CPU} == "aarch64")
1523USE_XZ_SETS?= yes 1523USE_XZ_SETS?= yes
1524.else 1524.else
1525USE_XZ_SETS?= no 1525USE_XZ_SETS?= no
1526.endif  1526.endif
1527 1527
1528# 1528#
1529# TOOL_GZIP and friends. These might refer to TOOL_PIGZ or to the host gzip. 1529# TOOL_GZIP and friends. These might refer to TOOL_PIGZ or to the host gzip.
1530# 1530#
1531.if ${USE_PIGZGZIP} != "no" 1531.if ${USE_PIGZGZIP} != "no"
1532TOOL_GZIP= ${TOOL_PIGZ} 1532TOOL_GZIP= ${TOOL_PIGZ}
1533GZIP_N_FLAG?= -nT 1533GZIP_N_FLAG?= -nT
1534.else 1534.else
1535TOOL_GZIP= gzip 1535TOOL_GZIP= gzip
1536GZIP_N_FLAG?= -n 1536GZIP_N_FLAG?= -n
1537.endif 1537.endif
1538TOOL_GZIP_N= ${TOOL_GZIP} ${GZIP_N_FLAG} 1538TOOL_GZIP_N= ${TOOL_GZIP} ${GZIP_N_FLAG}
1539 1539
1540# 1540#
1541# Where X11 sources are and where it is installed to. 1541# Where X11 sources are and where it is installed to.
1542# 1542#
1543.if !defined(X11SRCDIR) 1543.if !defined(X11SRCDIR)
1544.if exists(${NETBSDSRCDIR}/../xsrc) 1544.if exists(${NETBSDSRCDIR}/../xsrc)
1545X11SRCDIR!= cd "${NETBSDSRCDIR}/../xsrc" && pwd 1545X11SRCDIR!= cd "${NETBSDSRCDIR}/../xsrc" && pwd
1546.else 1546.else
1547X11SRCDIR= /usr/xsrc 1547X11SRCDIR= /usr/xsrc
1548.endif 1548.endif
1549.endif # !defined(X11SRCDIR) 1549.endif # !defined(X11SRCDIR)
1550 1550
1551X11SRCDIR.local?= ${X11SRCDIR}/local 1551X11SRCDIR.local?= ${X11SRCDIR}/local
1552X11ROOTDIR?= /usr/X11R7 1552X11ROOTDIR?= /usr/X11R7
1553X11BINDIR?= ${X11ROOTDIR}/bin 1553X11BINDIR?= ${X11ROOTDIR}/bin
1554X11ETCDIR?= /etc/X11 1554X11ETCDIR?= /etc/X11
1555X11FONTDIR?= ${X11ROOTDIR}/lib/X11/fonts 1555X11FONTDIR?= ${X11ROOTDIR}/lib/X11/fonts
1556X11INCDIR?= ${X11ROOTDIR}/include 1556X11INCDIR?= ${X11ROOTDIR}/include
1557X11LIBDIR?= ${X11ROOTDIR}/lib/X11 1557X11LIBDIR?= ${X11ROOTDIR}/lib/X11
1558X11MANDIR?= ${X11ROOTDIR}/man 1558X11MANDIR?= ${X11ROOTDIR}/man
1559X11SHAREDIR?= ${X11ROOTDIR}/share 1559X11SHAREDIR?= ${X11ROOTDIR}/share
1560X11USRLIBDIR?= ${X11ROOTDIR}/lib${MLIBDIR:D/${MLIBDIR}} 1560X11USRLIBDIR?= ${X11ROOTDIR}/lib${MLIBDIR:D/${MLIBDIR}}
1561 1561
1562# 1562#
1563# New modular-xorg based builds 1563# New modular-xorg based builds
1564# 1564#
1565X11SRCDIRMIT?= ${X11SRCDIR}/external/mit 1565X11SRCDIRMIT?= ${X11SRCDIR}/external/mit
1566.for _lib in \ 1566.for _lib in \
1567 FS ICE SM X11 XScrnSaver XTrap Xau Xcomposite Xcursor Xdamage \ 1567 FS ICE SM X11 XScrnSaver XTrap Xau Xcomposite Xcursor Xdamage \
1568 Xdmcp Xevie Xext Xfixes Xfont Xfont2 Xft Xi Xinerama Xmu Xpresent Xpm \ 1568 Xdmcp Xevie Xext Xfixes Xfont Xfont2 Xft Xi Xinerama Xmu Xpresent Xpm \
1569 Xrandr Xrender Xres Xt Xtst Xv XvMC Xxf86dga Xxf86misc Xxf86vm drm \ 1569 Xrandr Xrender Xres Xt Xtst Xv XvMC Xxf86dga Xxf86misc Xxf86vm drm \
1570 epoxy fontenc vdpau xkbfile xkbui Xaw pciaccess xcb xshmfence \ 1570 epoxy fontenc vdpau xkbfile xkbui Xaw pciaccess xcb xshmfence \
1571 pthread-stubs 1571 pthread-stubs
1572X11SRCDIR.${_lib}?= ${X11SRCDIRMIT}/lib${_lib}/dist 1572X11SRCDIR.${_lib}?= ${X11SRCDIRMIT}/lib${_lib}/dist
1573.endfor 1573.endfor
1574 1574
1575.for _proto in \ 1575.for _proto in \
1576 xcb- xorg 1576 xcb- xorg
1577X11SRCDIR.${_proto}proto?= ${X11SRCDIRMIT}/${_proto}proto/dist 1577X11SRCDIR.${_proto}proto?= ${X11SRCDIRMIT}/${_proto}proto/dist
1578.endfor 1578.endfor
1579 1579
1580# During transition from xorg-server 1.10 to 1.20 1580# During transition from xorg-server 1.10 to 1.20
1581.if \ 1581.if \
1582 ${MACHINE} == "alpha" || \ 1582 ${MACHINE} == "alpha" || \
1583 ${MACHINE} == "amiga" || \ 1583 ${MACHINE} == "amiga" || \
1584 ${MACHINE} == "mac68k" || \ 
1585 ${MACHINE} == "netwinder" || \ 1584 ${MACHINE} == "netwinder" || \
1586 ${MACHINE} == "sgimips" || \ 1585 ${MACHINE} == "sgimips" || \
1587 ${MACHINE} == "vax" 1586 ${MACHINE} == "vax"
1588HAVE_XORG_SERVER_VER?=110 1587HAVE_XORG_SERVER_VER?=110
1589.else 1588.else
1590HAVE_XORG_SERVER_VER?=120 1589HAVE_XORG_SERVER_VER?=120
1591.endif 1590.endif
1592 1591
1593.if ${HAVE_XORG_SERVER_VER} == "120" 1592.if ${HAVE_XORG_SERVER_VER} == "120"
1594XORG_SERVER_SUBDIR?=xorg-server 1593XORG_SERVER_SUBDIR?=xorg-server
1595. if ${MACHINE} == "amd64" || ${MACHINE} == "i386" || ${MACHINE} == "evbarm" 1594. if ${MACHINE} == "amd64" || ${MACHINE} == "i386" || ${MACHINE} == "evbarm"
1596HAVE_XORG_GLAMOR?= yes 1595HAVE_XORG_GLAMOR?= yes
1597. endif 1596. endif
1598.else 1597.else
1599XORG_SERVER_SUBDIR?=xorg-server.old 1598XORG_SERVER_SUBDIR?=xorg-server.old
1600.endif 1599.endif
1601 1600
1602X11SRCDIR.xorg-server?= ${X11SRCDIRMIT}/${XORG_SERVER_SUBDIR}/dist 1601X11SRCDIR.xorg-server?= ${X11SRCDIRMIT}/${XORG_SERVER_SUBDIR}/dist
1603HAVE_XORG_GLAMOR?= no 1602HAVE_XORG_GLAMOR?= no
1604 1603
1605# Build glamor extension? 1604# Build glamor extension?
1606 1605
1607.for _dir in \ 1606.for _dir in \
1608 xtrans fontconfig freetype evieext mkfontscale bdftopcf \ 1607 xtrans fontconfig freetype evieext mkfontscale bdftopcf \
1609 xorg-cf-files imake xbiff xkeyboard-config \ 1608 xorg-cf-files imake xbiff xkeyboard-config \
1610 xcompmgr xbitmaps appres xeyes xev xedit sessreg pixman \ 1609 xcompmgr xbitmaps appres xeyes xev xedit sessreg pixman \
1611 beforelight bitmap editres makedepend fonttosfnt fslsfonts fstobdf \ 1610 beforelight bitmap editres makedepend fonttosfnt fslsfonts fstobdf \
1612 glu glw mesa-demos MesaGLUT MesaLib MesaLib.old MesaLib7 \ 1611 glu glw mesa-demos MesaGLUT MesaLib MesaLib.old MesaLib7 \
1613 ico iceauth listres lndir \ 1612 ico iceauth listres lndir \
1614 luit xproxymanagementprotocol mkfontdir oclock proxymngr rgb \ 1613 luit xproxymanagementprotocol mkfontdir oclock proxymngr rgb \
1615 rstart setxkbmap showfont smproxy transset twm viewres \ 1614 rstart setxkbmap showfont smproxy transset twm viewres \
1616 util-macros \ 1615 util-macros \
1617 x11perf xauth xcalc xclipboard \ 1616 x11perf xauth xcalc xclipboard \
1618 xclock xcmsdb xconsole xditview xdpyinfo xdriinfo xdm \ 1617 xclock xcmsdb xconsole xditview xdpyinfo xdriinfo xdm \
1619 xfd xf86dga xfindproxy xfontsel xfwp xgamma xgc xhost xinit \ 1618 xfd xf86dga xfindproxy xfontsel xfwp xgamma xgc xhost xinit \
1620 xkill xload xlogo xlsatoms xlsclients xlsfonts xmag xmessage \ 1619 xkill xload xlogo xlsatoms xlsclients xlsfonts xmag xmessage \
1621 xmh xmodmap xmore xman xprop xrandr xrdb xrefresh xset \ 1620 xmh xmodmap xmore xman xprop xrandr xrdb xrefresh xset \
1622 xsetmode xsetpointer xsetroot xsm xstdcmap xvidtune xvinfo \ 1621 xsetmode xsetpointer xsetroot xsm xstdcmap xvidtune xvinfo \
1623 xwininfo xwud xkbprint xkbevd \ 1622 xwininfo xwud xkbprint xkbevd \
1624 xterm xwd xfs xfsinfo xtrap xkbutils xkbcomp \ 1623 xterm xwd xfs xfsinfo xtrap xkbutils xkbcomp \
1625 xinput xcb-util xorg-docs \ 1624 xinput xcb-util xorg-docs \
1626 font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-100dpi \ 1625 font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-100dpi \
1627 font-adobe-utopia-75dpi font-adobe-utopia-type1 \ 1626 font-adobe-utopia-75dpi font-adobe-utopia-type1 \
1628 font-alias \ 1627 font-alias \
1629 font-bh-100dpi font-bh-75dpi font-bh-lucidatypewriter-100dpi \ 1628 font-bh-100dpi font-bh-75dpi font-bh-lucidatypewriter-100dpi \
1630 font-bh-lucidatypewriter-75dpi font-bh-ttf font-bh-type1 \ 1629 font-bh-lucidatypewriter-75dpi font-bh-ttf font-bh-type1 \
1631 font-bitstream-100dpi font-bitstream-75dpi font-bitstream-type1 \ 1630 font-bitstream-100dpi font-bitstream-75dpi font-bitstream-type1 \
1632 font-cursor-misc font-daewoo-misc font-dec-misc font-ibm-type1 \ 1631 font-cursor-misc font-daewoo-misc font-dec-misc font-ibm-type1 \
1633 font-isas-misc font-jis-misc font-misc-misc font-mutt-misc \ 1632 font-isas-misc font-jis-misc font-misc-misc font-mutt-misc \
1634 font-sony-misc font-util ttf-bitstream-vera encodings 1633 font-sony-misc font-util ttf-bitstream-vera encodings
1635X11SRCDIR.${_dir}?= ${X11SRCDIRMIT}/${_dir}/dist 1634X11SRCDIR.${_dir}?= ${X11SRCDIRMIT}/${_dir}/dist
1636.endfor 1635.endfor
1637 1636
1638# X11SRCDIR.Mesa points to the currently used Mesa sources 1637# X11SRCDIR.Mesa points to the currently used Mesa sources
1639X11SRCDIR.Mesa?= ${X11SRCDIRMIT}/${EXTERNAL_MESALIB_DIR}/dist 1638X11SRCDIR.Mesa?= ${X11SRCDIRMIT}/${EXTERNAL_MESALIB_DIR}/dist
1640 1639
1641.for _i in \ 1640.for _i in \
1642 elographics keyboard mouse synaptics vmmouse void ws 1641 elographics keyboard mouse synaptics vmmouse void ws
1643X11SRCDIR.xf86-input-${_i}?= ${X11SRCDIRMIT}/xf86-input-${_i}/dist 1642X11SRCDIR.xf86-input-${_i}?= ${X11SRCDIRMIT}/xf86-input-${_i}/dist
1644.endfor 1643.endfor
1645 1644
1646# xf86-video-modesetting move into the server build. 1645# xf86-video-modesetting move into the server build.
1647EXTRA_DRIVERS= 1646EXTRA_DRIVERS=
1648.if ${HAVE_XORG_SERVER_VER} == "120" 1647.if ${HAVE_XORG_SERVER_VER} == "120"
1649X11SRCDIR.xf86-video-modesetting=${X11SRCDIR.xorg-server}/hw/xfree86/drivers/modesetting 1648X11SRCDIR.xf86-video-modesetting=${X11SRCDIR.xorg-server}/hw/xfree86/drivers/modesetting
1650.else 1649.else
1651EXTRA_DRIVERS= modesetting  1650EXTRA_DRIVERS= modesetting
1652.endif 1651.endif
1653 1652
1654.for _v in \ 1653.for _v in \
1655 ag10e amdgpu apm ark ast ati ati-kms chips cirrus crime \ 1654 ag10e amdgpu apm ark ast ati ati-kms chips cirrus crime \
1656 geode glint i128 i740 igs imstt intel intel-old intel-2014 \ 1655 geode glint i128 i740 igs imstt intel intel-old intel-2014 \
1657 ${EXTRA_DRIVERS} mach64 mga \ 1656 ${EXTRA_DRIVERS} mach64 mga \
1658 neomagic newport nouveau nsc nv openchrome pnozz \ 1657 neomagic newport nouveau nsc nv openchrome pnozz \
1659 r128 rendition \ 1658 r128 rendition \
1660 s3 s3virge savage siliconmotion sis suncg14 \ 1659 s3 s3virge savage siliconmotion sis suncg14 \
1661 suncg6 sunffb sunleo suntcx \ 1660 suncg6 sunffb sunleo suntcx \
1662 tdfx tga trident tseng vboxvideo vesa vga vmware wsfb xgi 1661 tdfx tga trident tseng vboxvideo vesa vga vmware wsfb xgi
1663X11SRCDIR.xf86-video-${_v}?= ${X11SRCDIRMIT}/xf86-video-${_v}/dist 1662X11SRCDIR.xf86-video-${_v}?= ${X11SRCDIRMIT}/xf86-video-${_v}/dist
1664.endfor 1663.endfor
1665 1664
1666 1665
1667X11DRI?= yes 1666X11DRI?= yes
1668X11LOADABLE?= yes 1667X11LOADABLE?= yes
1669 1668
1670 1669
1671# 1670#
1672# Where extsrc sources are and where it is installed to. 1671# Where extsrc sources are and where it is installed to.
1673# 1672#
1674.if !defined(EXTSRCSRCDIR) 1673.if !defined(EXTSRCSRCDIR)
1675.if exists(${NETBSDSRCDIR}/../extsrc) 1674.if exists(${NETBSDSRCDIR}/../extsrc)
1676EXTSRCSRCDIR!= cd "${NETBSDSRCDIR}/../extsrc" && pwd 1675EXTSRCSRCDIR!= cd "${NETBSDSRCDIR}/../extsrc" && pwd
1677.else 1676.else
1678EXTSRCSRCDIR= /usr/extsrc 1677EXTSRCSRCDIR= /usr/extsrc
1679.endif 1678.endif
1680.endif # !defined(EXTSRCSRCDIR) 1679.endif # !defined(EXTSRCSRCDIR)
1681 1680
1682EXTSRCROOTDIR?= /usr/ext 1681EXTSRCROOTDIR?= /usr/ext
1683EXTSRCBINDIR?= ${EXTSRCROOTDIR}/bin 1682EXTSRCBINDIR?= ${EXTSRCROOTDIR}/bin
1684EXTSRCETCDIR?= /etc/ext 1683EXTSRCETCDIR?= /etc/ext
1685EXTSRCINCDIR?= ${EXTSRCROOTDIR}/include 1684EXTSRCINCDIR?= ${EXTSRCROOTDIR}/include
1686EXTSRCLIBDIR?= ${EXTSRCROOTDIR}/lib/ext 1685EXTSRCLIBDIR?= ${EXTSRCROOTDIR}/lib/ext
1687EXTSRCMANDIR?= ${EXTSRCROOTDIR}/man 1686EXTSRCMANDIR?= ${EXTSRCROOTDIR}/man
1688EXTSRCUSRLIBDIR?= ${EXTSRCROOTDIR}/lib 1687EXTSRCUSRLIBDIR?= ${EXTSRCROOTDIR}/lib
1689 1688
1690# 1689#
1691# MAKEDIRTARGET dir target [extra make(1) params] 1690# MAKEDIRTARGET dir target [extra make(1) params]
1692# run "cd $${dir} && ${MAKEDIRTARGETENV} ${MAKE} [params] $${target}", with a pretty message 1691# run "cd $${dir} && ${MAKEDIRTARGETENV} ${MAKE} [params] $${target}", with a pretty message
1693# 1692#
1694MAKEDIRTARGETENV?= 1693MAKEDIRTARGETENV?=
1695MAKEDIRTARGET=\ 1694MAKEDIRTARGET=\
1696 @_makedirtarget() { \ 1695 @_makedirtarget() { \
1697 dir="$$1"; shift; \ 1696 dir="$$1"; shift; \
1698 target="$$1"; shift; \ 1697 target="$$1"; shift; \
1699 case "$${dir}" in \ 1698 case "$${dir}" in \
1700 /*) this="$${dir}/"; \ 1699 /*) this="$${dir}/"; \
1701 real="$${dir}" ;; \ 1700 real="$${dir}" ;; \
1702 .) this="${_THISDIR_}"; \ 1701 .) this="${_THISDIR_}"; \
1703 real="${.CURDIR}" ;; \ 1702 real="${.CURDIR}" ;; \
1704 *) this="${_THISDIR_}$${dir}/"; \ 1703 *) this="${_THISDIR_}$${dir}/"; \
1705 real="${.CURDIR}/$${dir}" ;; \ 1704 real="${.CURDIR}/$${dir}" ;; \
1706 esac; \ 1705 esac; \
1707 show=$${this:-.}; \ 1706 show=$${this:-.}; \
1708 echo "$${target} ===> $${show%/}$${1:+ (with: $$@)}"; \ 1707 echo "$${target} ===> $${show%/}$${1:+ (with: $$@)}"; \
1709 cd "$${real}" \ 1708 cd "$${real}" \
1710 && ${MAKEDIRTARGETENV} ${MAKE} _THISDIR_="$${this}" "$$@" $${target}; \ 1709 && ${MAKEDIRTARGETENV} ${MAKE} _THISDIR_="$${this}" "$$@" $${target}; \
1711 }; \ 1710 }; \
1712 _makedirtarget 1711 _makedirtarget
1713 1712
1714# 1713#
1715# MAKEVERBOSE support. Levels are: 1714# MAKEVERBOSE support. Levels are:
1716# 0 Minimal output ("quiet") 1715# 0 Minimal output ("quiet")
1717# 1 Describe what is occurring 1716# 1 Describe what is occurring
1718# 2 Describe what is occurring and echo the actual command 1717# 2 Describe what is occurring and echo the actual command
1719# 3 Ignore the effect of the "@" prefix in make commands 1718# 3 Ignore the effect of the "@" prefix in make commands
1720# 4 Trace shell commands using the shell's -x flag 1719# 4 Trace shell commands using the shell's -x flag
1721#  1720#
1722MAKEVERBOSE?= 2 1721MAKEVERBOSE?= 2
1723 1722
1724.if ${MAKEVERBOSE} == 0 1723.if ${MAKEVERBOSE} == 0
1725_MKMSG?= @\# 1724_MKMSG?= @\#
1726_MKSHMSG?= : echo 1725_MKSHMSG?= : echo
1727_MKSHECHO?= : echo 1726_MKSHECHO?= : echo
1728.SILENT: 1727.SILENT:
1729.elif ${MAKEVERBOSE} == 1 1728.elif ${MAKEVERBOSE} == 1
1730_MKMSG?= @echo ' ' 1729_MKMSG?= @echo ' '
1731_MKSHMSG?= echo ' ' 1730_MKSHMSG?= echo ' '
1732_MKSHECHO?= : echo 1731_MKSHECHO?= : echo
1733.SILENT: 1732.SILENT:
1734.else # MAKEVERBOSE >= 2 1733.else # MAKEVERBOSE >= 2
1735_MKMSG?= @echo '\# ' 1734_MKMSG?= @echo '\# '
1736_MKSHMSG?= echo '\# ' 1735_MKSHMSG?= echo '\# '
1737_MKSHECHO?= echo 1736_MKSHECHO?= echo
1738.SILENT: __makeverbose_dummy_target__ 1737.SILENT: __makeverbose_dummy_target__
1739.endif # MAKEVERBOSE >= 2 1738.endif # MAKEVERBOSE >= 2
1740.if ${MAKEVERBOSE} >= 3 1739.if ${MAKEVERBOSE} >= 3
1741.MAKEFLAGS: -dl 1740.MAKEFLAGS: -dl
1742.endif # ${MAKEVERBOSE} >= 3 1741.endif # ${MAKEVERBOSE} >= 3
1743.if ${MAKEVERBOSE} >= 4 1742.if ${MAKEVERBOSE} >= 4
1744.MAKEFLAGS: -dx 1743.MAKEFLAGS: -dx
1745.endif # ${MAKEVERBOSE} >= 4 1744.endif # ${MAKEVERBOSE} >= 4
1746 1745
1747_MKMSG_BUILD?= ${_MKMSG} " build " 1746_MKMSG_BUILD?= ${_MKMSG} " build "
1748_MKMSG_CREATE?= ${_MKMSG} " create " 1747_MKMSG_CREATE?= ${_MKMSG} " create "
1749_MKMSG_COMPILE?= ${_MKMSG} "compile " 1748_MKMSG_COMPILE?= ${_MKMSG} "compile "
1750_MKMSG_FORMAT?= ${_MKMSG} " format " 1749_MKMSG_FORMAT?= ${_MKMSG} " format "
1751_MKMSG_INSTALL?= ${_MKMSG} "install " 1750_MKMSG_INSTALL?= ${_MKMSG} "install "
1752_MKMSG_LINK?= ${_MKMSG} " link " 1751_MKMSG_LINK?= ${_MKMSG} " link "
1753_MKMSG_LEX?= ${_MKMSG} " lex " 1752_MKMSG_LEX?= ${_MKMSG} " lex "
1754_MKMSG_REMOVE?= ${_MKMSG} " remove " 1753_MKMSG_REMOVE?= ${_MKMSG} " remove "
1755_MKMSG_YACC?= ${_MKMSG} " yacc " 1754_MKMSG_YACC?= ${_MKMSG} " yacc "
1756 1755
1757_MKSHMSG_CREATE?= ${_MKSHMSG} " create " 1756_MKSHMSG_CREATE?= ${_MKSHMSG} " create "
1758_MKSHMSG_INSTALL?= ${_MKSHMSG} "install " 1757_MKSHMSG_INSTALL?= ${_MKSHMSG} "install "
1759 1758
1760_MKTARGET_BUILD?= ${_MKMSG_BUILD} ${.CURDIR:T}/${.TARGET} 1759_MKTARGET_BUILD?= ${_MKMSG_BUILD} ${.CURDIR:T}/${.TARGET}
1761_MKTARGET_CREATE?= ${_MKMSG_CREATE} ${.CURDIR:T}/${.TARGET} 1760_MKTARGET_CREATE?= ${_MKMSG_CREATE} ${.CURDIR:T}/${.TARGET}
1762_MKTARGET_COMPILE?= ${_MKMSG_COMPILE} ${.CURDIR:T}/${.TARGET} 1761_MKTARGET_COMPILE?= ${_MKMSG_COMPILE} ${.CURDIR:T}/${.TARGET}
1763_MKTARGET_FORMAT?= ${_MKMSG_FORMAT} ${.CURDIR:T}/${.TARGET} 1762_MKTARGET_FORMAT?= ${_MKMSG_FORMAT} ${.CURDIR:T}/${.TARGET}
1764_MKTARGET_INSTALL?= ${_MKMSG_INSTALL} ${.TARGET} 1763_MKTARGET_INSTALL?= ${_MKMSG_INSTALL} ${.TARGET}
1765_MKTARGET_LINK?= ${_MKMSG_LINK} ${.CURDIR:T}/${.TARGET} 1764_MKTARGET_LINK?= ${_MKMSG_LINK} ${.CURDIR:T}/${.TARGET}
1766_MKTARGET_LEX?= ${_MKMSG_LEX} ${.CURDIR:T}/${.TARGET} 1765_MKTARGET_LEX?= ${_MKMSG_LEX} ${.CURDIR:T}/${.TARGET}
1767_MKTARGET_REMOVE?= ${_MKMSG_REMOVE} ${.TARGET} 1766_MKTARGET_REMOVE?= ${_MKMSG_REMOVE} ${.TARGET}
1768_MKTARGET_YACC?= ${_MKMSG_YACC} ${.CURDIR:T}/${.TARGET} 1767_MKTARGET_YACC?= ${_MKMSG_YACC} ${.CURDIR:T}/${.TARGET}
1769 1768
1770.if ${MKMANDOC} == "yes" 1769.if ${MKMANDOC} == "yes"
1771TARGETS+= lintmanpages 1770TARGETS+= lintmanpages
1772.endif 1771.endif
1773 1772
1774TESTSBASE= /usr/tests${MLIBDIR:D/${MLIBDIR}} 1773TESTSBASE= /usr/tests${MLIBDIR:D/${MLIBDIR}}
1775 1774
1776# Override with tools versions if needed 1775# Override with tools versions if needed
1777.if ${MKCTF:Uno} != "no" && !defined(NOCTF) && \ 1776.if ${MKCTF:Uno} != "no" && !defined(NOCTF) && \
1778 (exists(${TOOL_CTFCONVERT}) || exists(/usr/bin/${TOOL_CTFCONVERT})) 1777 (exists(${TOOL_CTFCONVERT}) || exists(/usr/bin/${TOOL_CTFCONVERT}))
1779CTFCONVERT= ${TOOL_CTFCONVERT} 1778CTFCONVERT= ${TOOL_CTFCONVERT}
1780CTFMERGE= ${TOOL_CTFMERGE} 1779CTFMERGE= ${TOOL_CTFMERGE}
1781.endif 1780.endif
1782 1781
1783.endif # !defined(_BSD_OWN_MK_) 1782.endif # !defined(_BSD_OWN_MK_)