| @@ -1,1079 +1,1080 @@ | | | @@ -1,1079 +1,1080 @@ |
1 | # $NetBSD: bsd.own.mk,v 1.1252 2021/05/27 17:41:28 christos Exp $ | | 1 | # $NetBSD: bsd.own.mk,v 1.1253 2021/05/27 20:29:24 christos 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 | |
11 | MAKECONF?= /etc/mk.conf | | 11 | MAKECONF?= /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 | # |
17 | MACHINE_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/} | | 17 | MACHINE_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") |
23 | MACHINE_MIPS64= 1 | | 23 | MACHINE_MIPS64= 1 |
24 | .else | | 24 | .else |
25 | MACHINE_MIPS64= 0 | | 25 | MACHINE_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) |
33 | RELEASEMACHINEDIR?= ${MACHINE}-${MACHINE_ARCH} | | 33 | RELEASEMACHINEDIR?= ${MACHINE}-${MACHINE_ARCH} |
34 | .else | | 34 | .else |
35 | RELEASEMACHINEDIR?= ${MACHINE} | | 35 | RELEASEMACHINEDIR?= ${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 | # |
45 | RELEASEMACHINE?= ${MACHINE} | | 45 | RELEASEMACHINE?= ${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 | # |
52 | NEED_OWN_INSTALL_TARGET?= yes | | 52 | NEED_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 | |
65 | TOOLCHAIN_MISSING?= no | | 65 | TOOLCHAIN_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_MIPS64} || \ |
81 | ${MACHINE_ARCH} == "i386" || \ | | 82 | ${MACHINE_ARCH} == "i386" || \ |
82 | ${MACHINE_ARCH} == "x86_64" || \ | | 83 | ${MACHINE_ARCH} == "x86_64" || \ |
83 | ${MACHINE_CPU} == "aarch64" || \ | | 84 | ${MACHINE_CPU} == "aarch64" || \ |
84 | ${MACHINE_CPU} == "mips" || \ | | 85 | ${MACHINE_CPU} == "mips" || \ |
85 | ${MACHINE_CPU} == "powerpc" || \ | | 86 | ${MACHINE_CPU} == "powerpc" || \ |
86 | ${MACHINE_CPU} == "riscv" | | 87 | ${MACHINE_CPU} == "riscv" |
87 | HAVE_GCC?= 10 | | 88 | HAVE_GCC?= 10 |
88 | .else | | 89 | .else |
89 | HAVE_GCC?= 9 | | 90 | HAVE_GCC?= 9 |
90 | .endif | | 91 | .endif |
91 | | | 92 | |
92 | # | | 93 | # |
93 | # Platforms that can't run a modern GCC natively | | 94 | # Platforms that can't run a modern GCC natively |
94 | .if ${MACHINE_ARCH} == "m68000" | | 95 | .if ${MACHINE_ARCH} == "m68000" |
95 | MKGCCCMDS?= no | | 96 | MKGCCCMDS?= no |
96 | .endif | | 97 | .endif |
97 | | | 98 | |
98 | # | | 99 | # |
99 | # We import the old gcc as "gcc.old" when upgrading. EXTERNAL_GCC_SUBDIR is | | 100 | # 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. | | 101 | # set to the relevant subdirectory in src/external/gpl3 for his HAVE_GCC. |
101 | # | | 102 | # |
102 | .if ${HAVE_GCC} == 9 | | 103 | .if ${HAVE_GCC} == 9 |
103 | EXTERNAL_GCC_SUBDIR?= gcc.old | | 104 | EXTERNAL_GCC_SUBDIR?= gcc.old |
104 | .elif ${HAVE_GCC} == 10 | | 105 | .elif ${HAVE_GCC} == 10 |
105 | EXTERNAL_GCC_SUBDIR?= gcc | | 106 | EXTERNAL_GCC_SUBDIR?= gcc |
106 | .else | | 107 | .else |
107 | EXTERNAL_GCC_SUBDIR?= /does/not/exist | | 108 | EXTERNAL_GCC_SUBDIR?= /does/not/exist |
108 | .endif | | 109 | .endif |
109 | .else | | 110 | .else |
110 | MKGCCCMDS?= no | | 111 | MKGCCCMDS?= no |
111 | .endif | | 112 | .endif |
112 | | | 113 | |
113 | # | | 114 | # |
114 | # What binutils is used? | | 115 | # What binutils is used? |
115 | # | | 116 | # |
116 | HAVE_BINUTILS?= 234 | | 117 | HAVE_BINUTILS?= 234 |
117 | | | 118 | |
118 | .if ${HAVE_BINUTILS} == 234 | | 119 | .if ${HAVE_BINUTILS} == 234 |
119 | EXTERNAL_BINUTILS_SUBDIR= binutils | | 120 | EXTERNAL_BINUTILS_SUBDIR= binutils |
120 | .elif ${HAVE_BINUTILS} == 231 | | 121 | .elif ${HAVE_BINUTILS} == 231 |
121 | EXTERNAL_BINUTILS_SUBDIR= binutils.old | | 122 | EXTERNAL_BINUTILS_SUBDIR= binutils.old |
122 | .else | | 123 | .else |
123 | EXTERNAL_BINUTILS_SUBDIR= /does/not/exist | | 124 | EXTERNAL_BINUTILS_SUBDIR= /does/not/exist |
124 | .endif | | 125 | .endif |
125 | | | 126 | |
126 | # | | 127 | # |
127 | # What GDB is used? | | 128 | # What GDB is used? |
128 | # | | 129 | # |
129 | HAVE_GDB?= 1100 | | 130 | HAVE_GDB?= 1100 |
130 | | | 131 | |
131 | .if ${HAVE_GDB} == 1100 | | 132 | .if ${HAVE_GDB} == 1100 |
132 | EXTERNAL_GDB_SUBDIR= gdb | | 133 | EXTERNAL_GDB_SUBDIR= gdb |
133 | .elif ${HAVE_GDB} == 830 | | 134 | .elif ${HAVE_GDB} == 830 |
134 | EXTERNAL_GDB_SUBDIR= gdb.old | | 135 | EXTERNAL_GDB_SUBDIR= gdb.old |
135 | .else | | 136 | .else |
136 | EXTERNAL_GDB_SUBDIR= /does/not/exist | | 137 | EXTERNAL_GDB_SUBDIR= /does/not/exist |
137 | .endif | | 138 | .endif |
138 | | | 139 | |
139 | # | | 140 | # |
140 | # What OpenSSL is used? | | 141 | # What OpenSSL is used? |
141 | # | | 142 | # |
142 | HAVE_OPENSSL?= 11 | | 143 | HAVE_OPENSSL?= 11 |
143 | | | 144 | |
144 | .if ${HAVE_OPENSSL} == 11 | | 145 | .if ${HAVE_OPENSSL} == 11 |
145 | EXTERNAL_OPENSSL_SUBDIR=openssl | | 146 | EXTERNAL_OPENSSL_SUBDIR=openssl |
146 | .elif ${HAVE_OPENSSL} == 10 | | 147 | .elif ${HAVE_OPENSSL} == 10 |
147 | EXTERNAL_OPENSSL_SUBDIR=openssl.old | | 148 | EXTERNAL_OPENSSL_SUBDIR=openssl.old |
148 | .else | | 149 | .else |
149 | EXTERNAL_OPENSSL_SUBDIR=/does/not/exist | | 150 | EXTERNAL_OPENSSL_SUBDIR=/does/not/exist |
150 | .endif | | 151 | .endif |
151 | | | 152 | |
152 | # | | 153 | # |
153 | # Does the platform support ACPI? | | 154 | # Does the platform support ACPI? |
154 | # | | 155 | # |
155 | .if ${MACHINE_ARCH} == "i386" || \ | | 156 | .if ${MACHINE_ARCH} == "i386" || \ |
156 | ${MACHINE_ARCH} == "x86_64" || \ | | 157 | ${MACHINE_ARCH} == "x86_64" || \ |
157 | ${MACHINE_ARCH} == "ia64" || \ | | 158 | ${MACHINE_ARCH} == "ia64" || \ |
158 | !empty(MACHINE_ARCH:Maarch64*) | | 159 | !empty(MACHINE_ARCH:Maarch64*) |
159 | HAVE_ACPI= yes | | 160 | HAVE_ACPI= yes |
160 | .else | | 161 | .else |
161 | HAVE_ACPI= no | | 162 | HAVE_ACPI= no |
162 | .endif | | 163 | .endif |
163 | | | 164 | |
164 | # | | 165 | # |
165 | # Does the platform support UEFI? | | 166 | # Does the platform support UEFI? |
166 | # | | 167 | # |
167 | .if ${MACHINE_ARCH} == "i386" || \ | | 168 | .if ${MACHINE_ARCH} == "i386" || \ |
168 | ${MACHINE_ARCH} == "x86_64" || \ | | 169 | ${MACHINE_ARCH} == "x86_64" || \ |
169 | ${MACHINE_ARCH} == "ia64" || \ | | 170 | ${MACHINE_ARCH} == "ia64" || \ |
170 | !empty(MACHINE_ARCH:Mearmv7*) || \ | | 171 | !empty(MACHINE_ARCH:Mearmv7*) || \ |
171 | !empty(MACHINE_ARCH:Maarch64*) | | 172 | !empty(MACHINE_ARCH:Maarch64*) |
172 | HAVE_UEFI= yes | | 173 | HAVE_UEFI= yes |
173 | .else | | 174 | .else |
174 | HAVE_UEFI= no | | 175 | HAVE_UEFI= no |
175 | .endif | | 176 | .endif |
176 | | | 177 | |
177 | # | | 178 | # |
178 | # Does the platform support NVMM? | | 179 | # Does the platform support NVMM? |
179 | # | | 180 | # |
180 | .if ${MACHINE_ARCH} == "x86_64" | | 181 | .if ${MACHINE_ARCH} == "x86_64" |
181 | HAVE_NVMM= yes | | 182 | HAVE_NVMM= yes |
182 | .else | | 183 | .else |
183 | HAVE_NVMM= no | | 184 | HAVE_NVMM= no |
184 | .endif | | 185 | .endif |
185 | | | 186 | |
186 | | | 187 | |
187 | .if !empty(MACHINE_ARCH:Mearm*) | | 188 | .if !empty(MACHINE_ARCH:Mearm*) |
188 | _LIBC_COMPILER_RT.${MACHINE_ARCH}= yes | | 189 | _LIBC_COMPILER_RT.${MACHINE_ARCH}= yes |
189 | .endif | | 190 | .endif |
190 | | | 191 | |
191 | _LIBC_COMPILER_RT.aarch64= yes | | 192 | _LIBC_COMPILER_RT.aarch64= yes |
192 | _LIBC_COMPILER_RT.aarch64eb= yes | | 193 | _LIBC_COMPILER_RT.aarch64eb= yes |
193 | _LIBC_COMPILER_RT.i386= yes | | 194 | _LIBC_COMPILER_RT.i386= yes |
194 | _LIBC_COMPILER_RT.powerpc= yes | | 195 | _LIBC_COMPILER_RT.powerpc= yes |
195 | _LIBC_COMPILER_RT.powerpc64= yes | | 196 | _LIBC_COMPILER_RT.powerpc64= yes |
196 | _LIBC_COMPILER_RT.sparc= yes | | 197 | _LIBC_COMPILER_RT.sparc= yes |
197 | _LIBC_COMPILER_RT.sparc64= yes | | 198 | _LIBC_COMPILER_RT.sparc64= yes |
198 | _LIBC_COMPILER_RT.x86_64= yes | | 199 | _LIBC_COMPILER_RT.x86_64= yes |
199 | | | 200 | |
200 | .if ${HAVE_LLVM:Uno} == "yes" && ${_LIBC_COMPILER_RT.${MACHINE_ARCH}:Uno} == "yes" | | 201 | .if ${HAVE_LLVM:Uno} == "yes" && ${_LIBC_COMPILER_RT.${MACHINE_ARCH}:Uno} == "yes" |
201 | HAVE_LIBGCC?= no | | 202 | HAVE_LIBGCC?= no |
202 | .else | | 203 | .else |
203 | HAVE_LIBGCC?= yes | | 204 | HAVE_LIBGCC?= yes |
204 | .endif | | 205 | .endif |
205 | | | 206 | |
206 | | | 207 | |
207 | # Should libgcc have unwinding code? | | 208 | # Should libgcc have unwinding code? |
208 | .if ${HAVE_LLVM:Uno} == "yes" || !empty(MACHINE_ARCH:Mearm*) | | 209 | .if ${HAVE_LLVM:Uno} == "yes" || !empty(MACHINE_ARCH:Mearm*) |
209 | HAVE_LIBGCC_EH?= no | | 210 | HAVE_LIBGCC_EH?= no |
210 | .else | | 211 | .else |
211 | HAVE_LIBGCC_EH?= yes | | 212 | HAVE_LIBGCC_EH?= yes |
212 | .endif | | 213 | .endif |
213 | | | 214 | |
214 | # Coverity does not like SSP | | 215 | # Coverity does not like SSP |
215 | .if defined(COVERITY_TOP_CONFIG) || \ | | 216 | .if defined(COVERITY_TOP_CONFIG) || \ |
216 | ${MACHINE} == "alpha" || \ | | 217 | ${MACHINE} == "alpha" || \ |
217 | ${MACHINE} == "hppa" || \ | | 218 | ${MACHINE} == "hppa" || \ |
218 | ${MACHINE} == "ia64" || \ | | 219 | ${MACHINE} == "ia64" || \ |
219 | ${MACHINE_CPU} == "mips" | | 220 | ${MACHINE_CPU} == "mips" |
220 | HAVE_SSP?= no | | 221 | HAVE_SSP?= no |
221 | .else | | 222 | .else |
222 | HAVE_SSP?= yes | | 223 | HAVE_SSP?= yes |
223 | .if !defined(NOFORT) && ${USE_FORT:Uno} != "no" | | 224 | .if !defined(NOFORT) && ${USE_FORT:Uno} != "no" |
224 | USE_SSP?= yes | | 225 | USE_SSP?= yes |
225 | .endif | | 226 | .endif |
226 | .endif | | 227 | .endif |
227 | | | 228 | |
228 | # | | 229 | # |
229 | # What version of jemalloc we use (100 is the one | | 230 | # What version of jemalloc we use (100 is the one |
230 | # built-in to libc from 2005 (pre version 3). | | 231 | # built-in to libc from 2005 (pre version 3). |
231 | # | | 232 | # |
232 | .if ${MACHINE_ARCH} == "vax" || ${MACHINE} == "sun2" | | 233 | .if ${MACHINE_ARCH} == "vax" || ${MACHINE} == "sun2" |
233 | HAVE_JEMALLOC?= 100 | | 234 | HAVE_JEMALLOC?= 100 |
234 | .else | | 235 | .else |
235 | HAVE_JEMALLOC?= 510 | | 236 | HAVE_JEMALLOC?= 510 |
236 | .endif | | 237 | .endif |
237 | | | 238 | |
238 | .if empty(.MAKEFLAGS:tW:M*-V .OBJDIR*) | | 239 | .if empty(.MAKEFLAGS:tW:M*-V .OBJDIR*) |
239 | .if defined(MAKEOBJDIRPREFIX) || defined(MAKEOBJDIR) | | 240 | .if defined(MAKEOBJDIRPREFIX) || defined(MAKEOBJDIR) |
240 | PRINTOBJDIR= ${MAKE} -r -V .OBJDIR -f /dev/null xxx | | 241 | PRINTOBJDIR= ${MAKE} -r -V .OBJDIR -f /dev/null xxx |
241 | .else | | 242 | .else |
242 | PRINTOBJDIR= ${MAKE} -V .OBJDIR | | 243 | PRINTOBJDIR= ${MAKE} -V .OBJDIR |
243 | .endif | | 244 | .endif |
244 | .else | | 245 | .else |
245 | PRINTOBJDIR= echo /error/bsd.own.mk/PRINTOBJDIR # avoid infinite recursion | | 246 | PRINTOBJDIR= echo /error/bsd.own.mk/PRINTOBJDIR # avoid infinite recursion |
246 | .endif | | 247 | .endif |
247 | | | 248 | |
248 | # | | 249 | # |
249 | # Determine if running in the NetBSD source tree by checking for the | | 250 | # 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, | | 251 | # existence of build.sh and tools/ in the current or a parent directory, |
251 | # and setting _SRC_TOP_ to the result. | | 252 | # and setting _SRC_TOP_ to the result. |
252 | # | | 253 | # |
253 | .if !defined(_SRC_TOP_) # { | | 254 | .if !defined(_SRC_TOP_) # { |
254 | _SRC_TOP_!= cd "${.CURDIR}"; while :; do \ | | 255 | _SRC_TOP_!= cd "${.CURDIR}"; while :; do \ |
255 | here=`pwd`; \ | | 256 | here=`pwd`; \ |
256 | [ -f build.sh ] && [ -d tools ] && { echo $$here; break; }; \ | | 257 | [ -f build.sh ] && [ -d tools ] && { echo $$here; break; }; \ |
257 | case $$here in /) echo ""; break;; esac; \ | | 258 | case $$here in /) echo ""; break;; esac; \ |
258 | cd ..; done | | 259 | cd ..; done |
259 | | | 260 | |
260 | .MAKEOVERRIDES+= _SRC_TOP_ | | 261 | .MAKEOVERRIDES+= _SRC_TOP_ |
261 | | | 262 | |
262 | .endif # } | | 263 | .endif # } |
263 | | | 264 | |
264 | # | | 265 | # |
265 | # If _SRC_TOP_ != "", we're within the NetBSD source tree. | | 266 | # If _SRC_TOP_ != "", we're within the NetBSD source tree. |
266 | # * Set defaults for NETBSDSRCDIR and _SRC_TOP_OBJ_. | | 267 | # * Set defaults for NETBSDSRCDIR and _SRC_TOP_OBJ_. |
267 | # * Define _NETBSD_VERSION_DEPENDS. Targets that depend on the | | 268 | # * Define _NETBSD_VERSION_DEPENDS. Targets that depend on the |
268 | # NetBSD version, or on variables defined at build time, can | | 269 | # NetBSD version, or on variables defined at build time, can |
269 | # declare a dependency on ${_NETBSD_VERSION_DEPENDS}. | | 270 | # declare a dependency on ${_NETBSD_VERSION_DEPENDS}. |
270 | # | | 271 | # |
271 | .if (${_SRC_TOP_} != "") # { | | 272 | .if (${_SRC_TOP_} != "") # { |
272 | | | 273 | |
273 | NETBSDSRCDIR?= ${_SRC_TOP_} | | 274 | NETBSDSRCDIR?= ${_SRC_TOP_} |
274 | | | 275 | |
275 | .if !defined(_SRC_TOP_OBJ_) | | 276 | .if !defined(_SRC_TOP_OBJ_) |
276 | _SRC_TOP_OBJ_!= cd "${_SRC_TOP_}" && ${PRINTOBJDIR} | | 277 | _SRC_TOP_OBJ_!= cd "${_SRC_TOP_}" && ${PRINTOBJDIR} |
277 | .MAKEOVERRIDES+= _SRC_TOP_OBJ_ | | 278 | .MAKEOVERRIDES+= _SRC_TOP_OBJ_ |
278 | .endif | | 279 | .endif |
279 | | | 280 | |
280 | _NETBSD_VERSION_DEPENDS= ${_SRC_TOP_OBJ_}/params | | 281 | _NETBSD_VERSION_DEPENDS= ${_SRC_TOP_OBJ_}/params |
281 | _NETBSD_VERSION_DEPENDS+= ${NETBSDSRCDIR}/sys/sys/param.h | | 282 | _NETBSD_VERSION_DEPENDS+= ${NETBSDSRCDIR}/sys/sys/param.h |
282 | _NETBSD_VERSION_DEPENDS+= ${NETBSDSRCDIR}/sys/conf/newvers.sh | | 283 | _NETBSD_VERSION_DEPENDS+= ${NETBSDSRCDIR}/sys/conf/newvers.sh |
283 | _NETBSD_VERSION_DEPENDS+= ${NETBSDSRCDIR}/sys/conf/osrelease.sh | | 284 | _NETBSD_VERSION_DEPENDS+= ${NETBSDSRCDIR}/sys/conf/osrelease.sh |
284 | ${_SRC_TOP_OBJ_}/params: .NOTMAIN .OPTIONAL # created by top level "make build" | | 285 | ${_SRC_TOP_OBJ_}/params: .NOTMAIN .OPTIONAL # created by top level "make build" |
285 | | | 286 | |
286 | .endif # _SRC_TOP_ != "" # } | | 287 | .endif # _SRC_TOP_ != "" # } |
287 | | | 288 | |
288 | | | 289 | |
289 | .if (${_SRC_TOP_} != "") && \ | | 290 | .if (${_SRC_TOP_} != "") && \ |
290 | (${TOOLCHAIN_MISSING} == "no" || defined(EXTERNAL_TOOLCHAIN)) | | 291 | (${TOOLCHAIN_MISSING} == "no" || defined(EXTERNAL_TOOLCHAIN)) |
291 | USETOOLS?= yes | | 292 | USETOOLS?= yes |
292 | .endif | | 293 | .endif |
293 | USETOOLS?= no | | 294 | USETOOLS?= no |
294 | | | 295 | |
295 | | | 296 | |
296 | .if ${MACHINE_ARCH} == "mips" || ${MACHINE_ARCH} == "mips64" || \ | | 297 | .if ${MACHINE_ARCH} == "mips" || ${MACHINE_ARCH} == "mips64" || \ |
297 | ${MACHINE_ARCH} == "sh3" | | 298 | ${MACHINE_ARCH} == "sh3" |
298 | .BEGIN: | | 299 | .BEGIN: |
299 | @echo "Must set MACHINE_ARCH to one of ${MACHINE_ARCH}eb or ${MACHINE_ARCH}el" | | 300 | @echo "Must set MACHINE_ARCH to one of ${MACHINE_ARCH}eb or ${MACHINE_ARCH}el" |
300 | @false | | 301 | @false |
301 | .elif defined(REQUIRETOOLS) && \ | | 302 | .elif defined(REQUIRETOOLS) && \ |
302 | (${TOOLCHAIN_MISSING} == "no" || defined(EXTERNAL_TOOLCHAIN)) && \ | | 303 | (${TOOLCHAIN_MISSING} == "no" || defined(EXTERNAL_TOOLCHAIN)) && \ |
303 | ${USETOOLS} == "no" | | 304 | ${USETOOLS} == "no" |
304 | .BEGIN: | | 305 | .BEGIN: |
305 | @echo "USETOOLS=no, but this component requires a version-specific host toolchain" | | 306 | @echo "USETOOLS=no, but this component requires a version-specific host toolchain" |
306 | @false | | 307 | @false |
307 | .endif | | 308 | .endif |
308 | | | 309 | |
309 | # | | 310 | # |
310 | # Host platform information; may be overridden | | 311 | # Host platform information; may be overridden |
311 | # | | 312 | # |
312 | .include <bsd.host.mk> | | 313 | .include <bsd.host.mk> |
313 | | | 314 | |
314 | .if ${USETOOLS} == "yes" # { | | 315 | .if ${USETOOLS} == "yes" # { |
315 | | | 316 | |
316 | # | | 317 | # |
317 | # Provide a default for TOOLDIR. | | 318 | # Provide a default for TOOLDIR. |
318 | # | | 319 | # |
319 | .if !defined(TOOLDIR) | | 320 | .if !defined(TOOLDIR) |
320 | TOOLDIR:= ${_SRC_TOP_OBJ_}/tooldir.${HOST_OSTYPE} | | 321 | TOOLDIR:= ${_SRC_TOP_OBJ_}/tooldir.${HOST_OSTYPE} |
321 | .MAKEOVERRIDES+= TOOLDIR | | 322 | .MAKEOVERRIDES+= TOOLDIR |
322 | .endif | | 323 | .endif |
323 | | | 324 | |
324 | # | | 325 | # |
325 | # This is the prefix used for the NetBSD-sourced tools. | | 326 | # This is the prefix used for the NetBSD-sourced tools. |
326 | # | | 327 | # |
327 | _TOOL_PREFIX?= nb | | 328 | _TOOL_PREFIX?= nb |
328 | | | 329 | |
329 | # | | 330 | # |
330 | # If an external toolchain base is specified, use it. | | 331 | # If an external toolchain base is specified, use it. |
331 | # | | 332 | # |
332 | .if defined(EXTERNAL_TOOLCHAIN) # { | | 333 | .if defined(EXTERNAL_TOOLCHAIN) # { |
333 | AR= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-ar | | 334 | AR= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-ar |
334 | AS= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-as | | 335 | AS= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-as |
335 | LD= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-ld | | 336 | LD= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-ld |
336 | NM= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-nm | | 337 | NM= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-nm |
337 | OBJCOPY= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-objcopy | | 338 | OBJCOPY= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-objcopy |
338 | OBJDUMP= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-objdump | | 339 | OBJDUMP= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-objdump |
339 | RANLIB= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-ranlib | | 340 | RANLIB= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-ranlib |
340 | READELF= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-readelf | | 341 | READELF= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-readelf |
341 | SIZE= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-size | | 342 | SIZE= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-size |
342 | STRINGS= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-strings | | 343 | STRINGS= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-strings |
343 | STRIP= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-strip | | 344 | STRIP= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-strip |
344 | | | 345 | |
345 | TOOL_CC.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-gcc | | 346 | TOOL_CC.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-gcc |
346 | TOOL_CPP.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-cpp | | 347 | TOOL_CPP.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-cpp |
347 | TOOL_CXX.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-c++ | | 348 | TOOL_CXX.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-c++ |
348 | TOOL_FC.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-gfortran | | 349 | TOOL_FC.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-gfortran |
349 | TOOL_OBJC.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-gcc | | 350 | TOOL_OBJC.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-gcc |
350 | | | 351 | |
351 | TOOL_CC.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang | | 352 | TOOL_CC.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang |
352 | TOOL_CPP.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang-cpp | | 353 | TOOL_CPP.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang-cpp |
353 | TOOL_CXX.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang++ | | 354 | TOOL_CXX.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang++ |
354 | TOOL_OBJC.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang | | 355 | TOOL_OBJC.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang |
355 | .else # } { | | 356 | .else # } { |
356 | # Define default locations for common tools. | | 357 | # Define default locations for common tools. |
357 | .if ${USETOOLS_BINUTILS:Uyes} == "yes" # { | | 358 | .if ${USETOOLS_BINUTILS:Uyes} == "yes" # { |
358 | AR= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-ar | | 359 | AR= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-ar |
359 | AS= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-as | | 360 | AS= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-as |
360 | LD= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-ld | | 361 | LD= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-ld |
361 | NM= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-nm | | 362 | NM= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-nm |
362 | OBJCOPY= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-objcopy | | 363 | OBJCOPY= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-objcopy |
363 | OBJDUMP= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-objdump | | 364 | OBJDUMP= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-objdump |
364 | RANLIB= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-ranlib | | 365 | RANLIB= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-ranlib |
365 | READELF= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-readelf | | 366 | READELF= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-readelf |
366 | SIZE= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-size | | 367 | SIZE= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-size |
367 | STRINGS= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-strings | | 368 | STRINGS= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-strings |
368 | STRIP= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-strip | | 369 | STRIP= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-strip |
369 | | | 370 | |
370 | # GCC supports C, C++, Fortran and Objective C | | 371 | # GCC supports C, C++, Fortran and Objective C |
371 | TOOL_CC.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-gcc | | 372 | TOOL_CC.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-gcc |
372 | TOOL_CPP.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-cpp | | 373 | TOOL_CPP.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-cpp |
373 | TOOL_CXX.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-c++ | | 374 | TOOL_CXX.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-c++ |
374 | TOOL_FC.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-gfortran | | 375 | TOOL_FC.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-gfortran |
375 | TOOL_OBJC.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-gcc | | 376 | TOOL_OBJC.gcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-gcc |
376 | .endif # } | | 377 | .endif # } |
377 | | | 378 | |
378 | # Clang supports C, C++ and Objective C | | 379 | # Clang supports C, C++ and Objective C |
379 | TOOL_CC.clang= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-clang | | 380 | TOOL_CC.clang= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-clang |
380 | TOOL_CPP.clang= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-clang-cpp | | 381 | TOOL_CPP.clang= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-clang-cpp |
381 | TOOL_CXX.clang= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-clang++ | | 382 | TOOL_CXX.clang= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-clang++ |
382 | TOOL_OBJC.clang= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-clang | | 383 | TOOL_OBJC.clang= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-clang |
383 | | | 384 | |
384 | # PCC supports C and Fortran | | 385 | # PCC supports C and Fortran |
385 | TOOL_CC.pcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-pcc | | 386 | TOOL_CC.pcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-pcc |
386 | TOOL_CPP.pcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-pcpp | | 387 | TOOL_CPP.pcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-pcpp |
387 | TOOL_CXX.pcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-p++ | | 388 | TOOL_CXX.pcc= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-p++ |
388 | .endif # EXTERNAL_TOOLCHAIN # } | | 389 | .endif # EXTERNAL_TOOLCHAIN # } |
389 | | | 390 | |
390 | # | | 391 | # |
391 | # Make sure DESTDIR is set, so that builds with these tools always | | 392 | # Make sure DESTDIR is set, so that builds with these tools always |
392 | # get appropriate -nostdinc, -nostdlib, etc. handling. The default is | | 393 | # get appropriate -nostdinc, -nostdlib, etc. handling. The default is |
393 | # <empty string>, meaning start from /, the root directory. | | 394 | # <empty string>, meaning start from /, the root directory. |
394 | # | | 395 | # |
395 | DESTDIR?= | | 396 | DESTDIR?= |
396 | | | 397 | |
397 | # Don't append another copy of sysroot (coming from COMPATCPPFLAGS etc.) | | 398 | # Don't append another copy of sysroot (coming from COMPATCPPFLAGS etc.) |
398 | # because it confuses Coverity. Still we need to cov-configure specially | | 399 | # because it confuses Coverity. Still we need to cov-configure specially |
399 | # for each specific sysroot argument. | | 400 | # for each specific sysroot argument. |
400 | # Also don't add a sysroot at all if a rumpkernel build. | | 401 | # Also don't add a sysroot at all if a rumpkernel build. |
401 | .if !defined(HOSTPROG) && !defined(HOSTLIB) && !defined(RUMPRUN) | | 402 | .if !defined(HOSTPROG) && !defined(HOSTLIB) && !defined(RUMPRUN) |
402 | . if ${DESTDIR} != "" | | 403 | . if ${DESTDIR} != "" |
403 | . if empty(CPPFLAGS:M*--sysroot=*) | | 404 | . if empty(CPPFLAGS:M*--sysroot=*) |
404 | CPPFLAGS+= --sysroot=${DESTDIR} | | 405 | CPPFLAGS+= --sysroot=${DESTDIR} |
405 | . endif | | 406 | . endif |
406 | LDFLAGS+= --sysroot=${DESTDIR} | | 407 | LDFLAGS+= --sysroot=${DESTDIR} |
407 | . else | | 408 | . else |
408 | . if empty(CPPFLAGS:M*--sysroot=*) | | 409 | . if empty(CPPFLAGS:M*--sysroot=*) |
409 | CPPFLAGS+= --sysroot=/ | | 410 | CPPFLAGS+= --sysroot=/ |
410 | . endif | | 411 | . endif |
411 | LDFLAGS+= --sysroot=/ | | 412 | LDFLAGS+= --sysroot=/ |
412 | . endif | | 413 | . endif |
413 | .endif | | 414 | .endif |
414 | | | 415 | |
415 | DBSYM= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-dbsym | | 416 | DBSYM= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-dbsym |
416 | ARM_ELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}arm-elf2aout | | 417 | ARM_ELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}arm-elf2aout |
417 | M68K_ELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}m68k-elf2aout | | 418 | M68K_ELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}m68k-elf2aout |
418 | MIPS_ELF2ECOFF= ${TOOLDIR}/bin/${_TOOL_PREFIX}mips-elf2ecoff | | 419 | MIPS_ELF2ECOFF= ${TOOLDIR}/bin/${_TOOL_PREFIX}mips-elf2ecoff |
419 | INSTALL= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-install | | 420 | INSTALL= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-install |
420 | LEX= ${TOOLDIR}/bin/${_TOOL_PREFIX}lex | | 421 | LEX= ${TOOLDIR}/bin/${_TOOL_PREFIX}lex |
421 | LINT= CC=${CC:Q} ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-lint | | 422 | LINT= CC=${CC:Q} ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-lint |
422 | LORDER= NM=${NM:Q} MKTEMP=${TOOL_MKTEMP:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}lorder | | 423 | LORDER= NM=${NM:Q} MKTEMP=${TOOL_MKTEMP:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}lorder |
423 | MKDEP= CC=${CC:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}mkdep | | 424 | MKDEP= CC=${CC:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}mkdep |
424 | MKDEPCXX= CC=${CXX:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}mkdep | | 425 | MKDEPCXX= CC=${CXX:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}mkdep |
425 | PAXCTL= ${TOOLDIR}/bin/${_TOOL_PREFIX}paxctl | | 426 | PAXCTL= ${TOOLDIR}/bin/${_TOOL_PREFIX}paxctl |
426 | TSORT= ${TOOLDIR}/bin/${_TOOL_PREFIX}tsort -q | | 427 | TSORT= ${TOOLDIR}/bin/${_TOOL_PREFIX}tsort -q |
427 | YACC= ${TOOLDIR}/bin/${_TOOL_PREFIX}yacc | | 428 | YACC= ${TOOLDIR}/bin/${_TOOL_PREFIX}yacc |
428 | | | 429 | |
429 | TOOL_AMIGAAOUT2BB= ${TOOLDIR}/bin/${_TOOL_PREFIX}amiga-aout2bb | | 430 | TOOL_AMIGAAOUT2BB= ${TOOLDIR}/bin/${_TOOL_PREFIX}amiga-aout2bb |
430 | TOOL_AMIGAELF2BB= ${TOOLDIR}/bin/${_TOOL_PREFIX}amiga-elf2bb | | 431 | TOOL_AMIGAELF2BB= ${TOOLDIR}/bin/${_TOOL_PREFIX}amiga-elf2bb |
431 | TOOL_AMIGATXLT= ${TOOLDIR}/bin/${_TOOL_PREFIX}amiga-txlt | | 432 | TOOL_AMIGATXLT= ${TOOLDIR}/bin/${_TOOL_PREFIX}amiga-txlt |
432 | TOOL_ASN1_COMPILE= ${TOOLDIR}/bin/${_TOOL_PREFIX}asn1_compile | | 433 | TOOL_ASN1_COMPILE= ${TOOLDIR}/bin/${_TOOL_PREFIX}asn1_compile |
433 | TOOL_AWK= ${TOOLDIR}/bin/${_TOOL_PREFIX}awk | | 434 | TOOL_AWK= ${TOOLDIR}/bin/${_TOOL_PREFIX}awk |
434 | TOOL_CAP_MKDB= ${TOOLDIR}/bin/${_TOOL_PREFIX}cap_mkdb | | 435 | TOOL_CAP_MKDB= ${TOOLDIR}/bin/${_TOOL_PREFIX}cap_mkdb |
435 | TOOL_CAT= ${TOOLDIR}/bin/${_TOOL_PREFIX}cat | | 436 | TOOL_CAT= ${TOOLDIR}/bin/${_TOOL_PREFIX}cat |
436 | TOOL_CKSUM= ${TOOLDIR}/bin/${_TOOL_PREFIX}cksum | | 437 | TOOL_CKSUM= ${TOOLDIR}/bin/${_TOOL_PREFIX}cksum |
437 | TOOL_CLANG_TBLGEN= ${TOOLDIR}/bin/${_TOOL_PREFIX}clang-tblgen | | 438 | TOOL_CLANG_TBLGEN= ${TOOLDIR}/bin/${_TOOL_PREFIX}clang-tblgen |
438 | TOOL_COMPILE_ET= ${TOOLDIR}/bin/${_TOOL_PREFIX}compile_et | | 439 | TOOL_COMPILE_ET= ${TOOLDIR}/bin/${_TOOL_PREFIX}compile_et |
439 | TOOL_CONFIG= ${TOOLDIR}/bin/${_TOOL_PREFIX}config | | 440 | TOOL_CONFIG= ${TOOLDIR}/bin/${_TOOL_PREFIX}config |
440 | TOOL_CRUNCHGEN= MAKE=${.MAKE:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}crunchgen | | 441 | TOOL_CRUNCHGEN= MAKE=${.MAKE:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}crunchgen |
441 | TOOL_CTAGS= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctags | | 442 | TOOL_CTAGS= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctags |
442 | TOOL_CTFCONVERT= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctfconvert | | 443 | TOOL_CTFCONVERT= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctfconvert |
443 | TOOL_CTFMERGE= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctfmerge | | 444 | TOOL_CTFMERGE= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctfmerge |
444 | TOOL_CVSLATEST= ${TOOLDIR}/bin/${_TOOL_PREFIX}cvslatest | | 445 | TOOL_CVSLATEST= ${TOOLDIR}/bin/${_TOOL_PREFIX}cvslatest |
445 | TOOL_DATE= ${TOOLDIR}/bin/${_TOOL_PREFIX}date | | 446 | TOOL_DATE= ${TOOLDIR}/bin/${_TOOL_PREFIX}date |
446 | TOOL_DB= ${TOOLDIR}/bin/${_TOOL_PREFIX}db | | 447 | TOOL_DB= ${TOOLDIR}/bin/${_TOOL_PREFIX}db |
447 | TOOL_DISKLABEL= ${TOOLDIR}/bin/${_TOOL_PREFIX}disklabel | | 448 | TOOL_DISKLABEL= ${TOOLDIR}/bin/${_TOOL_PREFIX}disklabel |
448 | TOOL_DTC= ${TOOLDIR}/bin/${_TOOL_PREFIX}dtc | | 449 | TOOL_DTC= ${TOOLDIR}/bin/${_TOOL_PREFIX}dtc |
449 | TOOL_EQN= ${TOOLDIR}/bin/${_TOOL_PREFIX}eqn | | 450 | TOOL_EQN= ${TOOLDIR}/bin/${_TOOL_PREFIX}eqn |
450 | TOOL_FDISK= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk | | 451 | TOOL_FDISK= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk |
451 | TOOL_FGEN= ${TOOLDIR}/bin/${_TOOL_PREFIX}fgen | | 452 | TOOL_FGEN= ${TOOLDIR}/bin/${_TOOL_PREFIX}fgen |
452 | TOOL_GENASSYM= ${TOOLDIR}/bin/${_TOOL_PREFIX}genassym | | 453 | TOOL_GENASSYM= ${TOOLDIR}/bin/${_TOOL_PREFIX}genassym |
453 | TOOL_GENCAT= ${TOOLDIR}/bin/${_TOOL_PREFIX}gencat | | 454 | TOOL_GENCAT= ${TOOLDIR}/bin/${_TOOL_PREFIX}gencat |
454 | TOOL_GMAKE= ${TOOLDIR}/bin/${_TOOL_PREFIX}gmake | | 455 | TOOL_GMAKE= ${TOOLDIR}/bin/${_TOOL_PREFIX}gmake |
455 | TOOL_GPT= ${TOOLDIR}/bin/${_TOOL_PREFIX}gpt | | 456 | TOOL_GPT= ${TOOLDIR}/bin/${_TOOL_PREFIX}gpt |
456 | TOOL_GREP= ${TOOLDIR}/bin/${_TOOL_PREFIX}grep | | 457 | TOOL_GREP= ${TOOLDIR}/bin/${_TOOL_PREFIX}grep |
457 | GROFF_SHARE_PATH= ${TOOLDIR}/share/groff | | 458 | GROFF_SHARE_PATH= ${TOOLDIR}/share/groff |
458 | TOOL_GROFF_ENV= \ | | 459 | TOOL_GROFF_ENV= \ |
459 | GROFF_ENCODING= \ | | 460 | GROFF_ENCODING= \ |
460 | GROFF_BIN_PATH=${TOOLDIR}/lib/groff \ | | 461 | GROFF_BIN_PATH=${TOOLDIR}/lib/groff \ |
461 | GROFF_FONT_PATH=${GROFF_SHARE_PATH}/site-font:${GROFF_SHARE_PATH}/font \ | | 462 | 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 | | 463 | GROFF_TMAC_PATH=${GROFF_SHARE_PATH}/site-tmac:${GROFF_SHARE_PATH}/tmac |
463 | TOOL_GROFF= ${TOOL_GROFF_ENV} ${TOOLDIR}/bin/${_TOOL_PREFIX}groff ${GROFF_FLAGS} | | 464 | TOOL_GROFF= ${TOOL_GROFF_ENV} ${TOOLDIR}/bin/${_TOOL_PREFIX}groff ${GROFF_FLAGS} |
464 | | | 465 | |
465 | TOOL_HEXDUMP= ${TOOLDIR}/bin/${_TOOL_PREFIX}hexdump | | 466 | TOOL_HEXDUMP= ${TOOLDIR}/bin/${_TOOL_PREFIX}hexdump |
466 | TOOL_HP300MKBOOT= ${TOOLDIR}/bin/${_TOOL_PREFIX}hp300-mkboot | | 467 | TOOL_HP300MKBOOT= ${TOOLDIR}/bin/${_TOOL_PREFIX}hp300-mkboot |
467 | TOOL_HPPAMKBOOT= ${TOOLDIR}/bin/${_TOOL_PREFIX}hppa-mkboot | | 468 | TOOL_HPPAMKBOOT= ${TOOLDIR}/bin/${_TOOL_PREFIX}hppa-mkboot |
468 | TOOL_INDXBIB= ${TOOLDIR}/bin/${_TOOL_PREFIX}indxbib | | 469 | TOOL_INDXBIB= ${TOOLDIR}/bin/${_TOOL_PREFIX}indxbib |
469 | TOOL_INSTALLBOOT= ${TOOLDIR}/bin/${_TOOL_PREFIX}installboot | | 470 | TOOL_INSTALLBOOT= ${TOOLDIR}/bin/${_TOOL_PREFIX}installboot |
470 | TOOL_INSTALL_INFO= ${TOOLDIR}/bin/${_TOOL_PREFIX}install-info | | 471 | TOOL_INSTALL_INFO= ${TOOLDIR}/bin/${_TOOL_PREFIX}install-info |
471 | TOOL_JOIN= ${TOOLDIR}/bin/${_TOOL_PREFIX}join | | 472 | TOOL_JOIN= ${TOOLDIR}/bin/${_TOOL_PREFIX}join |
472 | TOOL_LLVM_TBLGEN= ${TOOLDIR}/bin/${_TOOL_PREFIX}llvm-tblgen | | 473 | TOOL_LLVM_TBLGEN= ${TOOLDIR}/bin/${_TOOL_PREFIX}llvm-tblgen |
473 | TOOL_M4= ${TOOLDIR}/bin/${_TOOL_PREFIX}m4 | | 474 | TOOL_M4= ${TOOLDIR}/bin/${_TOOL_PREFIX}m4 |
474 | TOOL_MACPPCFIXCOFF= ${TOOLDIR}/bin/${_TOOL_PREFIX}macppc-fixcoff | | 475 | TOOL_MACPPCFIXCOFF= ${TOOLDIR}/bin/${_TOOL_PREFIX}macppc-fixcoff |
475 | TOOL_MAKEFS= ${TOOLDIR}/bin/${_TOOL_PREFIX}makefs | | 476 | TOOL_MAKEFS= ${TOOLDIR}/bin/${_TOOL_PREFIX}makefs |
476 | TOOL_MAKEINFO= ${TOOLDIR}/bin/${_TOOL_PREFIX}makeinfo | | 477 | TOOL_MAKEINFO= ${TOOLDIR}/bin/${_TOOL_PREFIX}makeinfo |
477 | TOOL_MAKEKEYS= ${TOOLDIR}/bin/${_TOOL_PREFIX}makekeys | | 478 | TOOL_MAKEKEYS= ${TOOLDIR}/bin/${_TOOL_PREFIX}makekeys |
478 | TOOL_MAKESTRS= ${TOOLDIR}/bin/${_TOOL_PREFIX}makestrs | | 479 | TOOL_MAKESTRS= ${TOOLDIR}/bin/${_TOOL_PREFIX}makestrs |
479 | TOOL_MAKEWHATIS= ${TOOLDIR}/bin/${_TOOL_PREFIX}makewhatis | | 480 | TOOL_MAKEWHATIS= ${TOOLDIR}/bin/${_TOOL_PREFIX}makewhatis |
480 | TOOL_MANDOC_ASCII= ${TOOLDIR}/bin/${_TOOL_PREFIX}mandoc -Tascii | | 481 | TOOL_MANDOC_ASCII= ${TOOLDIR}/bin/${_TOOL_PREFIX}mandoc -Tascii |
481 | TOOL_MANDOC_HTML= ${TOOLDIR}/bin/${_TOOL_PREFIX}mandoc -Thtml | | 482 | TOOL_MANDOC_HTML= ${TOOLDIR}/bin/${_TOOL_PREFIX}mandoc -Thtml |
482 | TOOL_MANDOC_LINT= ${TOOLDIR}/bin/${_TOOL_PREFIX}mandoc -Tlint | | 483 | TOOL_MANDOC_LINT= ${TOOLDIR}/bin/${_TOOL_PREFIX}mandoc -Tlint |
483 | TOOL_MDSETIMAGE= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-mdsetimage | | 484 | TOOL_MDSETIMAGE= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-mdsetimage |
484 | TOOL_MENUC= MENUDEF=${TOOLDIR}/share/misc ${TOOLDIR}/bin/${_TOOL_PREFIX}menuc | | 485 | TOOL_MENUC= MENUDEF=${TOOLDIR}/share/misc ${TOOLDIR}/bin/${_TOOL_PREFIX}menuc |
485 | TOOL_ARMELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}arm-elf2aout | | 486 | TOOL_ARMELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}arm-elf2aout |
486 | TOOL_M68KELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}m68k-elf2aout | | 487 | TOOL_M68KELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}m68k-elf2aout |
487 | TOOL_MIPSELF2ECOFF= ${TOOLDIR}/bin/${_TOOL_PREFIX}mips-elf2ecoff | | 488 | TOOL_MIPSELF2ECOFF= ${TOOLDIR}/bin/${_TOOL_PREFIX}mips-elf2ecoff |
488 | TOOL_MKCSMAPPER= ${TOOLDIR}/bin/${_TOOL_PREFIX}mkcsmapper | | 489 | TOOL_MKCSMAPPER= ${TOOLDIR}/bin/${_TOOL_PREFIX}mkcsmapper |
489 | TOOL_MKESDB= ${TOOLDIR}/bin/${_TOOL_PREFIX}mkesdb | | 490 | TOOL_MKESDB= ${TOOLDIR}/bin/${_TOOL_PREFIX}mkesdb |
490 | TOOL_MKLOCALE= ${TOOLDIR}/bin/${_TOOL_PREFIX}mklocale | | 491 | TOOL_MKLOCALE= ${TOOLDIR}/bin/${_TOOL_PREFIX}mklocale |
491 | TOOL_MKMAGIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}file | | 492 | TOOL_MKMAGIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}file |
492 | TOOL_MKNOD= ${TOOLDIR}/bin/${_TOOL_PREFIX}mknod | | 493 | TOOL_MKNOD= ${TOOLDIR}/bin/${_TOOL_PREFIX}mknod |
493 | TOOL_MKTEMP= ${TOOLDIR}/bin/${_TOOL_PREFIX}mktemp | | 494 | TOOL_MKTEMP= ${TOOLDIR}/bin/${_TOOL_PREFIX}mktemp |
494 | TOOL_MKUBOOTIMAGE= ${TOOLDIR}/bin/${_TOOL_PREFIX}mkubootimage | | 495 | TOOL_MKUBOOTIMAGE= ${TOOLDIR}/bin/${_TOOL_PREFIX}mkubootimage |
495 | TOOL_ELFTOSB= ${TOOLDIR}/bin/${_TOOL_PREFIX}elftosb | | 496 | TOOL_ELFTOSB= ${TOOLDIR}/bin/${_TOOL_PREFIX}elftosb |
496 | TOOL_MSGC= MSGDEF=${TOOLDIR}/share/misc ${TOOLDIR}/bin/${_TOOL_PREFIX}msgc | | 497 | TOOL_MSGC= MSGDEF=${TOOLDIR}/share/misc ${TOOLDIR}/bin/${_TOOL_PREFIX}msgc |
497 | TOOL_MTREE= ${TOOLDIR}/bin/${_TOOL_PREFIX}mtree | | 498 | TOOL_MTREE= ${TOOLDIR}/bin/${_TOOL_PREFIX}mtree |
498 | TOOL_MVME68KWRTVID= ${TOOLDIR}/bin/${_TOOL_PREFIX}mvme68k-wrtvid | | 499 | TOOL_MVME68KWRTVID= ${TOOLDIR}/bin/${_TOOL_PREFIX}mvme68k-wrtvid |
499 | TOOL_NBPERF= ${TOOLDIR}/bin/${_TOOL_PREFIX}perf | | 500 | TOOL_NBPERF= ${TOOLDIR}/bin/${_TOOL_PREFIX}perf |
500 | TOOL_NCDCS= ${TOOLDIR}/bin/${_TOOL_PREFIX}ibmnws-ncdcs | | 501 | TOOL_NCDCS= ${TOOLDIR}/bin/${_TOOL_PREFIX}ibmnws-ncdcs |
501 | TOOL_PAX= ${TOOLDIR}/bin/${_TOOL_PREFIX}pax | | 502 | TOOL_PAX= ${TOOLDIR}/bin/${_TOOL_PREFIX}pax |
502 | TOOL_PIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}pic | | 503 | TOOL_PIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}pic |
503 | TOOL_PIGZ= ${TOOLDIR}/bin/${_TOOL_PREFIX}pigz | | 504 | TOOL_PIGZ= ${TOOLDIR}/bin/${_TOOL_PREFIX}pigz |
504 | TOOL_XZ= ${TOOLDIR}/bin/${_TOOL_PREFIX}xz | | 505 | TOOL_XZ= ${TOOLDIR}/bin/${_TOOL_PREFIX}xz |
505 | TOOL_PKG_CREATE= ${TOOLDIR}/bin/${_TOOL_PREFIX}pkg_create | | 506 | TOOL_PKG_CREATE= ${TOOLDIR}/bin/${_TOOL_PREFIX}pkg_create |
506 | TOOL_POWERPCMKBOOTIMAGE=${TOOLDIR}/bin/${_TOOL_PREFIX}powerpc-mkbootimage | | 507 | TOOL_POWERPCMKBOOTIMAGE=${TOOLDIR}/bin/${_TOOL_PREFIX}powerpc-mkbootimage |
507 | TOOL_PWD_MKDB= ${TOOLDIR}/bin/${_TOOL_PREFIX}pwd_mkdb | | 508 | TOOL_PWD_MKDB= ${TOOLDIR}/bin/${_TOOL_PREFIX}pwd_mkdb |
508 | TOOL_REFER= ${TOOLDIR}/bin/${_TOOL_PREFIX}refer | | 509 | TOOL_REFER= ${TOOLDIR}/bin/${_TOOL_PREFIX}refer |
509 | TOOL_ROFF_ASCII= ${TOOL_GROFF_ENV} ${TOOLDIR}/bin/${_TOOL_PREFIX}nroff | | 510 | TOOL_ROFF_ASCII= ${TOOL_GROFF_ENV} ${TOOLDIR}/bin/${_TOOL_PREFIX}nroff |
510 | TOOL_ROFF_DOCASCII= ${TOOL_GROFF} -Tascii | | 511 | TOOL_ROFF_DOCASCII= ${TOOL_GROFF} -Tascii |
511 | TOOL_ROFF_DOCHTML= ${TOOL_GROFF} -Thtml | | 512 | TOOL_ROFF_DOCHTML= ${TOOL_GROFF} -Thtml |
512 | TOOL_ROFF_DVI= ${TOOL_GROFF} -Tdvi ${ROFF_PAGESIZE} | | 513 | TOOL_ROFF_DVI= ${TOOL_GROFF} -Tdvi ${ROFF_PAGESIZE} |
513 | TOOL_ROFF_HTML= ${TOOL_GROFF} -Tlatin1 -mdoc2html | | 514 | TOOL_ROFF_HTML= ${TOOL_GROFF} -Tlatin1 -mdoc2html |
514 | TOOL_ROFF_PS= ${TOOL_GROFF} -Tps ${ROFF_PAGESIZE} | | 515 | TOOL_ROFF_PS= ${TOOL_GROFF} -Tps ${ROFF_PAGESIZE} |
515 | TOOL_ROFF_RAW= ${TOOL_GROFF} -Z | | 516 | TOOL_ROFF_RAW= ${TOOL_GROFF} -Z |
516 | TOOL_RPCGEN= RPCGEN_CPP=${CPP:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}rpcgen | | 517 | TOOL_RPCGEN= RPCGEN_CPP=${CPP:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}rpcgen |
517 | TOOL_SED= ${TOOLDIR}/bin/${_TOOL_PREFIX}sed | | 518 | TOOL_SED= ${TOOLDIR}/bin/${_TOOL_PREFIX}sed |
518 | TOOL_SLC= ${TOOLDIR}/bin/${_TOOL_PREFIX}slc | | 519 | TOOL_SLC= ${TOOLDIR}/bin/${_TOOL_PREFIX}slc |
519 | TOOL_SOELIM= ${TOOLDIR}/bin/${_TOOL_PREFIX}soelim | | 520 | TOOL_SOELIM= ${TOOLDIR}/bin/${_TOOL_PREFIX}soelim |
520 | TOOL_SORTINFO= ${TOOLDIR}/bin/${_TOOL_PREFIX}sortinfo | | 521 | TOOL_SORTINFO= ${TOOLDIR}/bin/${_TOOL_PREFIX}sortinfo |
521 | TOOL_SPARKCRC= ${TOOLDIR}/bin/${_TOOL_PREFIX}sparkcrc | | 522 | TOOL_SPARKCRC= ${TOOLDIR}/bin/${_TOOL_PREFIX}sparkcrc |
522 | TOOL_STAT= ${TOOLDIR}/bin/${_TOOL_PREFIX}stat | | 523 | TOOL_STAT= ${TOOLDIR}/bin/${_TOOL_PREFIX}stat |
523 | TOOL_STRFILE= ${TOOLDIR}/bin/${_TOOL_PREFIX}strfile | | 524 | TOOL_STRFILE= ${TOOLDIR}/bin/${_TOOL_PREFIX}strfile |
524 | TOOL_SUNLABEL= ${TOOLDIR}/bin/${_TOOL_PREFIX}sunlabel | | 525 | TOOL_SUNLABEL= ${TOOLDIR}/bin/${_TOOL_PREFIX}sunlabel |
525 | TOOL_TBL= ${TOOLDIR}/bin/${_TOOL_PREFIX}tbl | | 526 | TOOL_TBL= ${TOOLDIR}/bin/${_TOOL_PREFIX}tbl |
526 | TOOL_TIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}tic | | 527 | TOOL_TIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}tic |
527 | TOOL_UUDECODE= ${TOOLDIR}/bin/${_TOOL_PREFIX}uudecode | | 528 | TOOL_UUDECODE= ${TOOLDIR}/bin/${_TOOL_PREFIX}uudecode |
528 | TOOL_VGRIND= ${TOOLDIR}/bin/${_TOOL_PREFIX}vgrind -f | | 529 | TOOL_VGRIND= ${TOOLDIR}/bin/${_TOOL_PREFIX}vgrind -f |
529 | TOOL_VFONTEDPR= ${TOOLDIR}/libexec/${_TOOL_PREFIX}vfontedpr | | 530 | TOOL_VFONTEDPR= ${TOOLDIR}/libexec/${_TOOL_PREFIX}vfontedpr |
530 | TOOL_ZIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}zic | | 531 | TOOL_ZIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}zic |
531 | | | 532 | |
532 | .else # USETOOLS != yes # } { | | 533 | .else # USETOOLS != yes # } { |
533 | | | 534 | |
534 | # Clang supports C, C++ and Objective C | | 535 | # Clang supports C, C++ and Objective C |
535 | TOOL_CC.clang= clang | | 536 | TOOL_CC.clang= clang |
536 | TOOL_CPP.clang= clang-cpp | | 537 | TOOL_CPP.clang= clang-cpp |
537 | TOOL_CXX.clang= clang++ | | 538 | TOOL_CXX.clang= clang++ |
538 | TOOL_OBJC.clang= clang | | 539 | TOOL_OBJC.clang= clang |
539 | | | 540 | |
540 | # GCC supports C, C++, Fortran and Objective C | | 541 | # GCC supports C, C++, Fortran and Objective C |
541 | TOOL_CC.gcc= gcc | | 542 | TOOL_CC.gcc= gcc |
542 | TOOL_CPP.gcc= cpp | | 543 | TOOL_CPP.gcc= cpp |
543 | TOOL_CXX.gcc= c++ | | 544 | TOOL_CXX.gcc= c++ |
544 | TOOL_FC.gcc= gfortran | | 545 | TOOL_FC.gcc= gfortran |
545 | TOOL_OBJC.gcc= gcc | | 546 | TOOL_OBJC.gcc= gcc |
546 | | | 547 | |
547 | # PCC supports C and Fortran | | 548 | # PCC supports C and Fortran |
548 | TOOL_CC.pcc= pcc | | 549 | TOOL_CC.pcc= pcc |
549 | TOOL_CPP.pcc= pcpp | | 550 | TOOL_CPP.pcc= pcpp |
550 | TOOL_CXX.pcc= p++ | | 551 | TOOL_CXX.pcc= p++ |
551 | | | 552 | |
552 | TOOL_AMIGAAOUT2BB= amiga-aout2bb | | 553 | TOOL_AMIGAAOUT2BB= amiga-aout2bb |
553 | TOOL_AMIGAELF2BB= amiga-elf2bb | | 554 | TOOL_AMIGAELF2BB= amiga-elf2bb |
554 | TOOL_AMIGATXLT= amiga-txlt | | 555 | TOOL_AMIGATXLT= amiga-txlt |
555 | TOOL_ASN1_COMPILE= asn1_compile | | 556 | TOOL_ASN1_COMPILE= asn1_compile |
556 | TOOL_AWK= awk | | 557 | TOOL_AWK= awk |
557 | TOOL_CAP_MKDB= cap_mkdb | | 558 | TOOL_CAP_MKDB= cap_mkdb |
558 | TOOL_CAT= cat | | 559 | TOOL_CAT= cat |
559 | TOOL_CKSUM= cksum | | 560 | TOOL_CKSUM= cksum |
560 | TOOL_CLANG_TBLGEN= clang-tblgen | | 561 | TOOL_CLANG_TBLGEN= clang-tblgen |
561 | TOOL_COMPILE_ET= compile_et | | 562 | TOOL_COMPILE_ET= compile_et |
562 | TOOL_CONFIG= config | | 563 | TOOL_CONFIG= config |
563 | TOOL_CRUNCHGEN= crunchgen | | 564 | TOOL_CRUNCHGEN= crunchgen |
564 | TOOL_CTAGS= ctags | | 565 | TOOL_CTAGS= ctags |
565 | TOOL_CTFCONVERT= ctfconvert | | 566 | TOOL_CTFCONVERT= ctfconvert |
566 | TOOL_CTFMERGE= ctfmerge | | 567 | TOOL_CTFMERGE= ctfmerge |
567 | TOOL_CVSLATEST= cvslatest | | 568 | TOOL_CVSLATEST= cvslatest |
568 | TOOL_DATE= date | | 569 | TOOL_DATE= date |
569 | TOOL_DB= db | | 570 | TOOL_DB= db |
570 | TOOL_DISKLABEL= disklabel | | 571 | TOOL_DISKLABEL= disklabel |
571 | TOOL_DTC= dtc | | 572 | TOOL_DTC= dtc |
572 | TOOL_EQN= eqn | | 573 | TOOL_EQN= eqn |
573 | TOOL_FDISK= fdisk | | 574 | TOOL_FDISK= fdisk |
574 | TOOL_FGEN= fgen | | 575 | TOOL_FGEN= fgen |
575 | TOOL_GENASSYM= genassym | | 576 | TOOL_GENASSYM= genassym |
576 | TOOL_GENCAT= gencat | | 577 | TOOL_GENCAT= gencat |
577 | TOOL_GMAKE= gmake | | 578 | TOOL_GMAKE= gmake |
578 | TOOL_GPT= gpt | | 579 | TOOL_GPT= gpt |
579 | TOOL_GREP= grep | | 580 | TOOL_GREP= grep |
580 | TOOL_GROFF= groff | | 581 | TOOL_GROFF= groff |
581 | TOOL_HEXDUMP= hexdump | | 582 | TOOL_HEXDUMP= hexdump |
582 | TOOL_HP300MKBOOT= hp300-mkboot | | 583 | TOOL_HP300MKBOOT= hp300-mkboot |
583 | TOOL_HPPAMKBOOT= hppa-mkboot | | 584 | TOOL_HPPAMKBOOT= hppa-mkboot |
584 | TOOL_INDXBIB= indxbib | | 585 | TOOL_INDXBIB= indxbib |
585 | TOOL_INSTALLBOOT= installboot | | 586 | TOOL_INSTALLBOOT= installboot |
586 | TOOL_INSTALL_INFO= install-info | | 587 | TOOL_INSTALL_INFO= install-info |
587 | TOOL_JOIN= join | | 588 | TOOL_JOIN= join |
588 | TOOL_LLVM_TBLGEN= llvm-tblgen | | 589 | TOOL_LLVM_TBLGEN= llvm-tblgen |
589 | TOOL_M4= m4 | | 590 | TOOL_M4= m4 |
590 | TOOL_MACPPCFIXCOFF= macppc-fixcoff | | 591 | TOOL_MACPPCFIXCOFF= macppc-fixcoff |
591 | TOOL_MAKEFS= makefs | | 592 | TOOL_MAKEFS= makefs |
592 | TOOL_MAKEINFO= makeinfo | | 593 | TOOL_MAKEINFO= makeinfo |
593 | TOOL_MAKEKEYS= makekeys | | 594 | TOOL_MAKEKEYS= makekeys |
594 | TOOL_MAKESTRS= makestrs | | 595 | TOOL_MAKESTRS= makestrs |
595 | TOOL_MAKEWHATIS= /usr/libexec/makewhatis | | 596 | TOOL_MAKEWHATIS= /usr/libexec/makewhatis |
596 | TOOL_MANDOC_ASCII= mandoc -Tascii | | 597 | TOOL_MANDOC_ASCII= mandoc -Tascii |
597 | TOOL_MANDOC_HTML= mandoc -Thtml | | 598 | TOOL_MANDOC_HTML= mandoc -Thtml |
598 | TOOL_MANDOC_LINT= mandoc -Tlint | | 599 | TOOL_MANDOC_LINT= mandoc -Tlint |
599 | TOOL_MDSETIMAGE= mdsetimage | | 600 | TOOL_MDSETIMAGE= mdsetimage |
600 | TOOL_MENUC= menuc | | 601 | TOOL_MENUC= menuc |
601 | TOOL_ARMELF2AOUT= arm-elf2aout | | 602 | TOOL_ARMELF2AOUT= arm-elf2aout |
602 | TOOL_M68KELF2AOUT= m68k-elf2aout | | 603 | TOOL_M68KELF2AOUT= m68k-elf2aout |
603 | TOOL_MIPSELF2ECOFF= mips-elf2ecoff | | 604 | TOOL_MIPSELF2ECOFF= mips-elf2ecoff |
604 | TOOL_MKCSMAPPER= mkcsmapper | | 605 | TOOL_MKCSMAPPER= mkcsmapper |
605 | TOOL_MKESDB= mkesdb | | 606 | TOOL_MKESDB= mkesdb |
606 | TOOL_MKLOCALE= mklocale | | 607 | TOOL_MKLOCALE= mklocale |
607 | TOOL_MKMAGIC= file | | 608 | TOOL_MKMAGIC= file |
608 | TOOL_MKNOD= mknod | | 609 | TOOL_MKNOD= mknod |
609 | TOOL_MKTEMP= mktemp | | 610 | TOOL_MKTEMP= mktemp |
610 | TOOL_MKUBOOTIMAGE= mkubootimage | | 611 | TOOL_MKUBOOTIMAGE= mkubootimage |
611 | TOOL_ELFTOSB= elftosb | | 612 | TOOL_ELFTOSB= elftosb |
612 | TOOL_MSGC= msgc | | 613 | TOOL_MSGC= msgc |
613 | TOOL_MTREE= mtree | | 614 | TOOL_MTREE= mtree |
614 | TOOL_MVME68KWRTVID= wrtvid | | 615 | TOOL_MVME68KWRTVID= wrtvid |
615 | TOOL_NBPERF= nbperf | | 616 | TOOL_NBPERF= nbperf |
616 | TOOL_NCDCS= ncdcs | | 617 | TOOL_NCDCS= ncdcs |
617 | TOOL_PAX= pax | | 618 | TOOL_PAX= pax |
618 | TOOL_PIC= pic | | 619 | TOOL_PIC= pic |
619 | TOOL_PIGZ= pigz | | 620 | TOOL_PIGZ= pigz |
620 | TOOL_XZ= xz | | 621 | TOOL_XZ= xz |
621 | TOOL_PKG_CREATE= pkg_create | | 622 | TOOL_PKG_CREATE= pkg_create |
622 | TOOL_POWERPCMKBOOTIMAGE= powerpc-mkbootimage | | 623 | TOOL_POWERPCMKBOOTIMAGE= powerpc-mkbootimage |
623 | TOOL_PWD_MKDB= pwd_mkdb | | 624 | TOOL_PWD_MKDB= pwd_mkdb |
624 | TOOL_REFER= refer | | 625 | TOOL_REFER= refer |
625 | TOOL_ROFF_ASCII= nroff | | 626 | TOOL_ROFF_ASCII= nroff |
626 | TOOL_ROFF_DOCASCII= ${TOOL_GROFF} -Tascii | | 627 | TOOL_ROFF_DOCASCII= ${TOOL_GROFF} -Tascii |
627 | TOOL_ROFF_DOCHTML= ${TOOL_GROFF} -Thtml | | 628 | TOOL_ROFF_DOCHTML= ${TOOL_GROFF} -Thtml |
628 | TOOL_ROFF_DVI= ${TOOL_GROFF} -Tdvi ${ROFF_PAGESIZE} | | 629 | TOOL_ROFF_DVI= ${TOOL_GROFF} -Tdvi ${ROFF_PAGESIZE} |
629 | TOOL_ROFF_HTML= ${TOOL_GROFF} -Tlatin1 -mdoc2html | | 630 | TOOL_ROFF_HTML= ${TOOL_GROFF} -Tlatin1 -mdoc2html |
630 | TOOL_ROFF_PS= ${TOOL_GROFF} -Tps ${ROFF_PAGESIZE} | | 631 | TOOL_ROFF_PS= ${TOOL_GROFF} -Tps ${ROFF_PAGESIZE} |
631 | TOOL_ROFF_RAW= ${TOOL_GROFF} -Z | | 632 | TOOL_ROFF_RAW= ${TOOL_GROFF} -Z |
632 | TOOL_RPCGEN= rpcgen | | 633 | TOOL_RPCGEN= rpcgen |
633 | TOOL_SED= sed | | 634 | TOOL_SED= sed |
634 | TOOL_SOELIM= soelim | | 635 | TOOL_SOELIM= soelim |
635 | TOOL_SORTINFO= sortinfo | | 636 | TOOL_SORTINFO= sortinfo |
636 | TOOL_SPARKCRC= sparkcrc | | 637 | TOOL_SPARKCRC= sparkcrc |
637 | TOOL_STAT= stat | | 638 | TOOL_STAT= stat |
638 | TOOL_STRFILE= strfile | | 639 | TOOL_STRFILE= strfile |
639 | TOOL_SUNLABEL= sunlabel | | 640 | TOOL_SUNLABEL= sunlabel |
640 | TOOL_TBL= tbl | | 641 | TOOL_TBL= tbl |
641 | TOOL_TIC= tic | | 642 | TOOL_TIC= tic |
642 | TOOL_UUDECODE= uudecode | | 643 | TOOL_UUDECODE= uudecode |
643 | TOOL_VGRIND= vgrind -f | | 644 | TOOL_VGRIND= vgrind -f |
644 | TOOL_VFONTEDPR= /usr/libexec/vfontedpr | | 645 | TOOL_VFONTEDPR= /usr/libexec/vfontedpr |
645 | TOOL_ZIC= zic | | 646 | TOOL_ZIC= zic |
646 | | | 647 | |
647 | .endif # USETOOLS != yes # } | | 648 | .endif # USETOOLS != yes # } |
648 | | | 649 | |
649 | # Standalone code should not be compiled with PIE or CTF | | 650 | # Standalone code should not be compiled with PIE or CTF |
650 | # Should create a better test | | 651 | # Should create a better test |
651 | .if defined(BINDIR) && ${BINDIR} == "/usr/mdec" | | 652 | .if defined(BINDIR) && ${BINDIR} == "/usr/mdec" |
652 | NOPIE= # defined | | 653 | NOPIE= # defined |
653 | NOCTF= # defined | | 654 | NOCTF= # defined |
654 | .elif ${MACHINE} == "sun2" | | 655 | .elif ${MACHINE} == "sun2" |
655 | NOPIE= # we don't have PIC, so no PIE | | 656 | NOPIE= # we don't have PIC, so no PIE |
656 | .endif | | 657 | .endif |
657 | | | 658 | |
658 | # Fallback to ensure that all variables are defined to something | | 659 | # Fallback to ensure that all variables are defined to something |
659 | TOOL_CC.false= false | | 660 | TOOL_CC.false= false |
660 | TOOL_CPP.false= false | | 661 | TOOL_CPP.false= false |
661 | TOOL_CXX.false= false | | 662 | TOOL_CXX.false= false |
662 | TOOL_FC.false= false | | 663 | TOOL_FC.false= false |
663 | TOOL_OBJC.false= false | | 664 | TOOL_OBJC.false= false |
664 | | | 665 | |
665 | AVAILABLE_COMPILER?= ${HAVE_PCC:Dpcc} ${HAVE_LLVM:Dclang} ${HAVE_GCC:Dgcc} false | | 666 | AVAILABLE_COMPILER?= ${HAVE_PCC:Dpcc} ${HAVE_LLVM:Dclang} ${HAVE_GCC:Dgcc} false |
666 | | | 667 | |
667 | .for _t in CC CPP CXX FC OBJC | | 668 | .for _t in CC CPP CXX FC OBJC |
668 | ACTIVE_${_t}= ${AVAILABLE_COMPILER:@.c.@ ${ !defined(UNSUPPORTED_COMPILER.${.c.}) && defined(TOOL_${_t}.${.c.}) :? ${.c.} : }@:[1]} | | 669 | ACTIVE_${_t}= ${AVAILABLE_COMPILER:@.c.@ ${ !defined(UNSUPPORTED_COMPILER.${.c.}) && defined(TOOL_${_t}.${.c.}) :? ${.c.} : }@:[1]} |
669 | SUPPORTED_${_t}=${AVAILABLE_COMPILER:Nfalse:@.c.@ ${ !defined(UNSUPPORTED_COMPILER.${.c.}) && defined(TOOL_${_t}.${.c.}) :? ${.c.} : }@} | | 670 | SUPPORTED_${_t}=${AVAILABLE_COMPILER:Nfalse:@.c.@ ${ !defined(UNSUPPORTED_COMPILER.${.c.}) && defined(TOOL_${_t}.${.c.}) :? ${.c.} : }@} |
670 | .endfor | | 671 | .endfor |
671 | # make bugs prevent moving this into the .for loop | | 672 | # make bugs prevent moving this into the .for loop |
672 | CC= ${TOOL_CC.${ACTIVE_CC}} | | 673 | CC= ${TOOL_CC.${ACTIVE_CC}} |
673 | CPP= ${TOOL_CPP.${ACTIVE_CPP}} | | 674 | CPP= ${TOOL_CPP.${ACTIVE_CPP}} |
674 | CXX= ${TOOL_CXX.${ACTIVE_CXX}} | | 675 | CXX= ${TOOL_CXX.${ACTIVE_CXX}} |
675 | FC= ${TOOL_FC.${ACTIVE_FC}} | | 676 | FC= ${TOOL_FC.${ACTIVE_FC}} |
676 | OBJC= ${TOOL_OBJC.${ACTIVE_OBJC}} | | 677 | OBJC= ${TOOL_OBJC.${ACTIVE_OBJC}} |
677 | | | 678 | |
678 | # For each ${MACHINE_CPU}, list the ports that use it. | | 679 | # For each ${MACHINE_CPU}, list the ports that use it. |
679 | MACHINES.aarch64= evbarm | | 680 | MACHINES.aarch64= evbarm |
680 | MACHINES.alpha= alpha | | 681 | MACHINES.alpha= alpha |
681 | MACHINES.arm= acorn32 cats epoc32 evbarm hpcarm \ | | 682 | MACHINES.arm= acorn32 cats epoc32 evbarm hpcarm \ |
682 | iyonix netwinder shark zaurus | | 683 | iyonix netwinder shark zaurus |
683 | MACHINES.coldfire= evbcf | | 684 | MACHINES.coldfire= evbcf |
684 | MACHINES.i386= i386 | | 685 | MACHINES.i386= i386 |
685 | MACHINES.ia64= ia64 | | 686 | MACHINES.ia64= ia64 |
686 | MACHINES.hppa= hppa | | 687 | MACHINES.hppa= hppa |
687 | MACHINES.m68000= sun2 | | 688 | MACHINES.m68000= sun2 |
688 | MACHINES.m68k= amiga atari cesfic hp300 luna68k mac68k \ | | 689 | MACHINES.m68k= amiga atari cesfic hp300 luna68k mac68k \ |
689 | news68k next68k sun3 x68k | | 690 | news68k next68k sun3 x68k |
690 | MACHINES.mips= algor arc cobalt emips evbmips ews4800mips \ | | 691 | MACHINES.mips= algor arc cobalt emips evbmips ews4800mips \ |
691 | hpcmips mipsco newsmips pmax sbmips sgimips | | 692 | hpcmips mipsco newsmips pmax sbmips sgimips |
692 | MACHINES.or1k= or1k | | 693 | MACHINES.or1k= or1k |
693 | MACHINES.powerpc= amigappc bebox evbppc ibmnws macppc mvmeppc \ | | 694 | MACHINES.powerpc= amigappc bebox evbppc ibmnws macppc mvmeppc \ |
694 | ofppc prep rs6000 sandpoint | | 695 | ofppc prep rs6000 sandpoint |
695 | MACHINES.riscv= riscv | | 696 | MACHINES.riscv= riscv |
696 | MACHINES.sh3= dreamcast evbsh3 hpcsh landisk mmeye | | 697 | MACHINES.sh3= dreamcast evbsh3 hpcsh landisk mmeye |
697 | MACHINES.sparc= sparc sparc64 | | 698 | MACHINES.sparc= sparc sparc64 |
698 | MACHINES.sparc64= sparc64 | | 699 | MACHINES.sparc64= sparc64 |
699 | MACHINES.vax= vax | | 700 | MACHINES.vax= vax |
700 | MACHINES.x86_64= amd64 | | 701 | MACHINES.x86_64= amd64 |
701 | | | 702 | |
702 | # OBJCOPY flags to create a.out binaries for old firmware | | 703 | # OBJCOPY flags to create a.out binaries for old firmware |
703 | # shared among src/distrib and ${MACHINE}/conf/Makefile.${MACHINE}.inc | | 704 | # shared among src/distrib and ${MACHINE}/conf/Makefile.${MACHINE}.inc |
704 | .if ${MACHINE_CPU} == "arm" | | 705 | .if ${MACHINE_CPU} == "arm" |
705 | OBJCOPY_ELF2AOUT_FLAGS?= \ | | 706 | OBJCOPY_ELF2AOUT_FLAGS?= \ |
706 | -O a.out-arm-netbsd \ | | 707 | -O a.out-arm-netbsd \ |
707 | -R .ident \ | | 708 | -R .ident \ |
708 | -R .ARM.attributes \ | | 709 | -R .ARM.attributes \ |
709 | -R .ARM.exidx \ | | 710 | -R .ARM.exidx \ |
710 | -R .ARM.extab \ | | 711 | -R .ARM.extab \ |
711 | -R .SUNW_ctf \ | | 712 | -R .SUNW_ctf \ |
712 | -R .arm.atpcs \ | | 713 | -R .arm.atpcs \ |
713 | -R .comment \ | | 714 | -R .comment \ |
714 | -R .debug_abbrev \ | | 715 | -R .debug_abbrev \ |
715 | -R .debug_aranges \ | | 716 | -R .debug_aranges \ |
716 | -R .debug_info \ | | 717 | -R .debug_info \ |
717 | -R .debug_line \ | | 718 | -R .debug_line \ |
718 | -R .debug_frame \ | | 719 | -R .debug_frame \ |
719 | -R .debug_loc \ | | 720 | -R .debug_loc \ |
720 | -R .debug_pubnames \ | | 721 | -R .debug_pubnames \ |
721 | -R .debug_pubtypes \ | | 722 | -R .debug_pubtypes \ |
722 | -R .debug_ranges \ | | 723 | -R .debug_ranges \ |
723 | -R .debug_str \ | | 724 | -R .debug_str \ |
724 | -R .debug_macinfo \ | | 725 | -R .debug_macinfo \ |
725 | -R .eh_frame \ | | 726 | -R .eh_frame \ |
726 | -R .note.netbsd.ident | | 727 | -R .note.netbsd.ident |
727 | .endif | | 728 | .endif |
728 | | | 729 | |
729 | # | | 730 | # |
730 | # Targets to check if DESTDIR or RELEASEDIR is provided | | 731 | # Targets to check if DESTDIR or RELEASEDIR is provided |
731 | # | | 732 | # |
732 | .if !target(check_DESTDIR) | | 733 | .if !target(check_DESTDIR) |
733 | check_DESTDIR: .PHONY .NOTMAIN | | 734 | check_DESTDIR: .PHONY .NOTMAIN |
734 | .if !defined(DESTDIR) | | 735 | .if !defined(DESTDIR) |
735 | @echo "setenv DESTDIR before doing that!" | | 736 | @echo "setenv DESTDIR before doing that!" |
736 | @false | | 737 | @false |
737 | .else | | 738 | .else |
738 | @true | | 739 | @true |
739 | .endif | | 740 | .endif |
740 | .endif | | 741 | .endif |
741 | | | 742 | |
742 | .if !target(check_RELEASEDIR) | | 743 | .if !target(check_RELEASEDIR) |
743 | check_RELEASEDIR: .PHONY .NOTMAIN | | 744 | check_RELEASEDIR: .PHONY .NOTMAIN |
744 | .if !defined(RELEASEDIR) | | 745 | .if !defined(RELEASEDIR) |
745 | @echo "setenv RELEASEDIR before doing that!" | | 746 | @echo "setenv RELEASEDIR before doing that!" |
746 | @false | | 747 | @false |
747 | .else | | 748 | .else |
748 | @true | | 749 | @true |
749 | .endif | | 750 | .endif |
750 | .endif | | 751 | .endif |
751 | | | 752 | |
752 | # | | 753 | # |
753 | # Where the system object and source trees are kept; can be configurable | | 754 | # 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). | | 755 | # by the user in case they want them in ~/foosrc and ~/fooobj (for example). |
755 | # | | 756 | # |
756 | BSDSRCDIR?= /usr/src | | 757 | BSDSRCDIR?= /usr/src |
757 | BSDOBJDIR?= /usr/obj | | 758 | BSDOBJDIR?= /usr/obj |
758 | NETBSDSRCDIR?= ${BSDSRCDIR} | | 759 | NETBSDSRCDIR?= ${BSDSRCDIR} |
759 | | | 760 | |
760 | BINGRP?= wheel | | 761 | BINGRP?= wheel |
761 | BINOWN?= root | | 762 | BINOWN?= root |
762 | BINMODE?= 555 | | 763 | BINMODE?= 555 |
763 | NONBINMODE?= 444 | | 764 | NONBINMODE?= 444 |
764 | | | 765 | |
765 | # These are here mainly because we don't want suid root in case | | 766 | # These are here mainly because we don't want suid root in case |
766 | # a Makefile defines BINMODE. | | 767 | # a Makefile defines BINMODE. |
767 | RUMPBINGRP?= wheel | | 768 | RUMPBINGRP?= wheel |
768 | RUMPBINOWN?= root | | 769 | RUMPBINOWN?= root |
769 | RUMPBINMODE?= 555 | | 770 | RUMPBINMODE?= 555 |
770 | RUMPNONBINMODE?=444 | | 771 | RUMPNONBINMODE?=444 |
771 | | | 772 | |
772 | MANDIR?= /usr/share/man | | 773 | MANDIR?= /usr/share/man |
773 | MANGRP?= wheel | | 774 | MANGRP?= wheel |
774 | MANOWN?= root | | 775 | MANOWN?= root |
775 | MANMODE?= ${NONBINMODE} | | 776 | MANMODE?= ${NONBINMODE} |
776 | MANINSTALL?= ${_MANINSTALL} | | 777 | MANINSTALL?= ${_MANINSTALL} |
777 | | | 778 | |
778 | INFODIR?= /usr/share/info | | 779 | INFODIR?= /usr/share/info |
779 | INFOGRP?= wheel | | 780 | INFOGRP?= wheel |
780 | INFOOWN?= root | | 781 | INFOOWN?= root |
781 | INFOMODE?= ${NONBINMODE} | | 782 | INFOMODE?= ${NONBINMODE} |
782 | | | 783 | |
783 | LIBDIR?= /usr/lib | | 784 | LIBDIR?= /usr/lib |
784 | | | 785 | |
785 | LINTLIBDIR?= /usr/libdata/lint | | 786 | LINTLIBDIR?= /usr/libdata/lint |
786 | LIBGRP?= ${BINGRP} | | 787 | LIBGRP?= ${BINGRP} |
787 | LIBOWN?= ${BINOWN} | | 788 | LIBOWN?= ${BINOWN} |
788 | LIBMODE?= ${NONBINMODE} | | 789 | LIBMODE?= ${NONBINMODE} |
789 | | | 790 | |
790 | DOCDIR?= /usr/share/doc | | 791 | DOCDIR?= /usr/share/doc |
791 | DOCGRP?= wheel | | 792 | DOCGRP?= wheel |
792 | DOCOWN?= root | | 793 | DOCOWN?= root |
793 | DOCMODE?= ${NONBINMODE} | | 794 | DOCMODE?= ${NONBINMODE} |
794 | | | 795 | |
795 | NLSDIR?= /usr/share/nls | | 796 | NLSDIR?= /usr/share/nls |
796 | NLSGRP?= wheel | | 797 | NLSGRP?= wheel |
797 | NLSOWN?= root | | 798 | NLSOWN?= root |
798 | NLSMODE?= ${NONBINMODE} | | 799 | NLSMODE?= ${NONBINMODE} |
799 | | | 800 | |
800 | KMODULEGRP?= wheel | | 801 | KMODULEGRP?= wheel |
801 | KMODULEOWN?= root | | 802 | KMODULEOWN?= root |
802 | KMODULEMODE?= ${NONBINMODE} | | 803 | KMODULEMODE?= ${NONBINMODE} |
803 | | | 804 | |
804 | LOCALEDIR?= /usr/share/locale | | 805 | LOCALEDIR?= /usr/share/locale |
805 | LOCALEGRP?= wheel | | 806 | LOCALEGRP?= wheel |
806 | LOCALEOWN?= root | | 807 | LOCALEOWN?= root |
807 | LOCALEMODE?= ${NONBINMODE} | | 808 | LOCALEMODE?= ${NONBINMODE} |
808 | | | 809 | |
809 | FIRMWAREDIR?= /libdata/firmware | | 810 | FIRMWAREDIR?= /libdata/firmware |
810 | FIRMWAREGRP?= wheel | | 811 | FIRMWAREGRP?= wheel |
811 | FIRMWAREOWN?= root | | 812 | FIRMWAREOWN?= root |
812 | FIRMWAREMODE?= ${NONBINMODE} | | 813 | FIRMWAREMODE?= ${NONBINMODE} |
813 | | | 814 | |
814 | DEBUGDIR?= /usr/libdata/debug | | 815 | DEBUGDIR?= /usr/libdata/debug |
815 | DEBUGGRP?= wheel | | 816 | DEBUGGRP?= wheel |
816 | DEBUGOWN?= root | | 817 | DEBUGOWN?= root |
817 | DEBUGMODE?= ${NONBINMODE} | | 818 | DEBUGMODE?= ${NONBINMODE} |
818 | | | 819 | |
819 | DTBDIR?= /boot/dtb | | 820 | DTBDIR?= /boot/dtb |
820 | DTBGRP?= wheel | | 821 | DTBGRP?= wheel |
821 | DTBOWN?= root | | 822 | DTBOWN?= root |
822 | DTBMODE?= ${NONBINMODE} | | 823 | DTBMODE?= ${NONBINMODE} |
823 | | | 824 | |
824 | MKDIRMODE?= 0755 | | 825 | MKDIRMODE?= 0755 |
825 | MKDIRPERM?= -m ${MKDIRMODE} | | 826 | MKDIRPERM?= -m ${MKDIRMODE} |
826 | | | 827 | |
827 | # | | 828 | # |
828 | # Data-driven table using make variables to control how | | 829 | # Data-driven table using make variables to control how |
829 | # toolchain-dependent targets and shared libraries are built | | 830 | # toolchain-dependent targets and shared libraries are built |
830 | # for different platforms and object formats. | | 831 | # for different platforms and object formats. |
831 | # | | 832 | # |
832 | # OBJECT_FMT: currently either "ELF" or "a.out". | | 833 | # OBJECT_FMT: currently either "ELF" or "a.out". |
833 | # | | 834 | # |
834 | # All platforms are ELF. | | 835 | # All platforms are ELF. |
835 | # | | 836 | # |
836 | OBJECT_FMT= ELF | | 837 | OBJECT_FMT= ELF |
837 | | | 838 | |
838 | # | | 839 | # |
839 | # If this platform's toolchain is missing, we obviously cannot build it. | | 840 | # If this platform's toolchain is missing, we obviously cannot build it. |
840 | # | | 841 | # |
841 | .if ${TOOLCHAIN_MISSING} != "no" | | 842 | .if ${TOOLCHAIN_MISSING} != "no" |
842 | MKBINUTILS:= no | | 843 | MKBINUTILS:= no |
843 | MKGDB:= no | | 844 | MKGDB:= no |
844 | MKGCC:= no | | 845 | MKGCC:= no |
845 | .endif | | 846 | .endif |
846 | | | 847 | |
847 | # | | 848 | # |
848 | # If we are using an external toolchain, we can still build the target's | | 849 | # 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 | | 850 | # binutils, but we cannot build GCC's support libraries, since those are |
850 | # tightly-coupled to the version of GCC being used. | | 851 | # tightly-coupled to the version of GCC being used. |
851 | # | | 852 | # |
852 | .if defined(EXTERNAL_TOOLCHAIN) | | 853 | .if defined(EXTERNAL_TOOLCHAIN) |
853 | MKGCC:= no | | 854 | MKGCC:= no |
854 | .endif | | 855 | .endif |
855 | | | 856 | |
856 | MKGDB.or1k= no | | 857 | MKGDB.or1k= no |
857 | MKGDB.riscv32= no | | 858 | MKGDB.riscv32= no |
858 | MKGDB.riscv64= no | | 859 | MKGDB.riscv64= no |
859 | | | 860 | |
860 | # No kernel modules for or1k, riscv or mips (yet) | | 861 | # No kernel modules for or1k, riscv or mips (yet) |
861 | MKKMOD.or1k= no | | 862 | MKKMOD.or1k= no |
862 | MKKMOD.riscv32= no | | 863 | MKKMOD.riscv32= no |
863 | MKKMOD.riscv64= no | | 864 | MKKMOD.riscv64= no |
864 | | | 865 | |
865 | # No profiling for or1k (yet) | | 866 | # No profiling for or1k (yet) |
866 | MKPROFILE.or1k= no | | 867 | MKPROFILE.or1k= no |
867 | MKPROFILE.riscv32=no | | 868 | MKPROFILE.riscv32=no |
868 | MKPROFILE.riscv64=no | | 869 | MKPROFILE.riscv64=no |
869 | | | 870 | |
870 | # | | 871 | # |
871 | # The m68000 port is incomplete. | | 872 | # The m68000 port is incomplete. |
872 | # | | 873 | # |
873 | .if ${MACHINE_ARCH} == "m68000" | | 874 | .if ${MACHINE_ARCH} == "m68000" |
874 | NOPIC= # defined | | 875 | NOPIC= # defined |
875 | MKISCSI= no | | 876 | MKISCSI= no |
876 | # XXX GCC 4 outputs mcount() calling sequences that try to load values | | 877 | # XXX GCC 4 outputs mcount() calling sequences that try to load values |
877 | # from over 64KB away and this fails to assemble. | | 878 | # from over 64KB away and this fails to assemble. |
878 | .if defined(HAVE_GCC) | | 879 | .if defined(HAVE_GCC) |
879 | NOPROFILE= # defined | | 880 | NOPROFILE= # defined |
880 | .endif | | 881 | .endif |
881 | .endif | | 882 | .endif |
882 | | | 883 | |
883 | # | | 884 | # |
884 | # GCC warnings with simple disables. Use these with eg | | 885 | # GCC warnings with simple disables. Use these with eg |
885 | # COPTS.foo.c+= ${GCC_NO_STRINGOP_TRUNCATION}. | | 886 | # COPTS.foo.c+= ${GCC_NO_STRINGOP_TRUNCATION}. |
886 | # | | 887 | # |
887 | GCC_NO_FORMAT_TRUNCATION= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-format-truncation :} | | 888 | GCC_NO_FORMAT_TRUNCATION= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-format-truncation :} |
888 | GCC_NO_FORMAT_OVERFLOW= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-format-overflow :} | | 889 | GCC_NO_FORMAT_OVERFLOW= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-format-overflow :} |
889 | GCC_NO_STRINGOP_OVERFLOW= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-stringop-overflow :} | | 890 | GCC_NO_STRINGOP_OVERFLOW= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-stringop-overflow :} |
890 | GCC_NO_IMPLICIT_FALLTHRU= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-implicit-fallthrough :} | | 891 | GCC_NO_IMPLICIT_FALLTHRU= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-implicit-fallthrough :} |
891 | GCC_NO_STRINGOP_TRUNCATION= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -Wno-stringop-truncation :} | | 892 | GCC_NO_STRINGOP_TRUNCATION= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -Wno-stringop-truncation :} |
892 | GCC_NO_CAST_FUNCTION_TYPE= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -Wno-cast-function-type :} | | 893 | GCC_NO_CAST_FUNCTION_TYPE= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -Wno-cast-function-type :} |
893 | GCC_NO_ADDR_OF_PACKED_MEMBER= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 9:? -Wno-address-of-packed-member :} | | 894 | GCC_NO_ADDR_OF_PACKED_MEMBER= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 9:? -Wno-address-of-packed-member :} |
894 | GCC_NO_MAYBE_UNINITIALIZED= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-maybe-uninitialized :} | | 895 | GCC_NO_MAYBE_UNINITIALIZED= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-maybe-uninitialized :} |
895 | GCC_NO_RETURN_LOCAL_ADDR= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-return-local-addr :} | | 896 | GCC_NO_RETURN_LOCAL_ADDR= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-return-local-addr :} |
896 | | | 897 | |
897 | # | | 898 | # |
898 | # Clang warnings | | 899 | # Clang warnings |
899 | # | | 900 | # |
900 | CLANG_NO_ADDR_OF_PACKED_MEMBER= ${${ACTIVE_CC} == "clang" :? -Wno-error=address-of-packed-member :} | | 901 | CLANG_NO_ADDR_OF_PACKED_MEMBER= ${${ACTIVE_CC} == "clang" :? -Wno-error=address-of-packed-member :} |
901 | | | 902 | |
902 | NO_ADDR_OF_PACKED_MEMBER= ${CLANG_NO_ADDR_OF_PACKED_MEMBER} ${GCC_NO_ADDR_OF_PACKED_MEMBER} | | 903 | NO_ADDR_OF_PACKED_MEMBER= ${CLANG_NO_ADDR_OF_PACKED_MEMBER} ${GCC_NO_ADDR_OF_PACKED_MEMBER} |
903 | | | 904 | |
904 | # | | 905 | # |
905 | # The ia64 port is incomplete. | | 906 | # The ia64 port is incomplete. |
906 | # | | 907 | # |
907 | MKGDB.ia64= no | | 908 | MKGDB.ia64= no |
908 | | | 909 | |
909 | # | | 910 | # |
910 | # On VAX using ELF, all objects are PIC, not just shared libraries, | | 911 | # 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, | | 912 | # so don't build the _pic version. VAX has no native TLS support either, |
912 | # so differences between TLS models are not relevant. | | 913 | # so differences between TLS models are not relevant. |
913 | # | | 914 | # |
914 | MKPICLIB.vax= no | | 915 | MKPICLIB.vax= no |
915 | | | 916 | |
916 | # | | 917 | # |
917 | # Location of the file that contains the major and minor numbers of the | | 918 | # 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 | | 919 | # version of a shared library. If this file exists a shared library |
919 | # will be built by <bsd.lib.mk>. | | 920 | # will be built by <bsd.lib.mk>. |
920 | # | | 921 | # |
921 | SHLIB_VERSION_FILE?= ${.CURDIR}/shlib_version | | 922 | SHLIB_VERSION_FILE?= ${.CURDIR}/shlib_version |
922 | | | 923 | |
923 | # | | 924 | # |
924 | # GNU sources and packages sometimes see architecture names differently. | | 925 | # GNU sources and packages sometimes see architecture names differently. |
925 | # | | 926 | # |
926 | GNU_ARCH.aarch64eb=aarch64_be | | 927 | GNU_ARCH.aarch64eb=aarch64_be |
927 | GNU_ARCH.coldfire=m5407 | | 928 | GNU_ARCH.coldfire=m5407 |
928 | GNU_ARCH.earm=arm | | 929 | GNU_ARCH.earm=arm |
929 | GNU_ARCH.earmhf=arm | | 930 | GNU_ARCH.earmhf=arm |
930 | GNU_ARCH.earmeb=armeb | | 931 | GNU_ARCH.earmeb=armeb |
931 | GNU_ARCH.earmhfeb=armeb | | 932 | GNU_ARCH.earmhfeb=armeb |
932 | GNU_ARCH.earmv4=armv4 | | 933 | GNU_ARCH.earmv4=armv4 |
933 | GNU_ARCH.earmv4eb=armv4eb | | 934 | GNU_ARCH.earmv4eb=armv4eb |
934 | GNU_ARCH.earmv5=arm | | 935 | GNU_ARCH.earmv5=arm |
935 | GNU_ARCH.earmv5hf=arm | | 936 | GNU_ARCH.earmv5hf=arm |
936 | GNU_ARCH.earmv5eb=armeb | | 937 | GNU_ARCH.earmv5eb=armeb |
937 | GNU_ARCH.earmv5hfeb=armeb | | 938 | GNU_ARCH.earmv5hfeb=armeb |
938 | GNU_ARCH.earmv6=armv6 | | 939 | GNU_ARCH.earmv6=armv6 |
939 | GNU_ARCH.earmv6hf=armv6 | | 940 | GNU_ARCH.earmv6hf=armv6 |
940 | GNU_ARCH.earmv6eb=armv6eb | | 941 | GNU_ARCH.earmv6eb=armv6eb |
941 | GNU_ARCH.earmv6hfeb=armv6eb | | 942 | GNU_ARCH.earmv6hfeb=armv6eb |
942 | GNU_ARCH.earmv7=armv7 | | 943 | GNU_ARCH.earmv7=armv7 |
943 | GNU_ARCH.earmv7hf=armv7 | | 944 | GNU_ARCH.earmv7hf=armv7 |
944 | GNU_ARCH.earmv7eb=armv7eb | | 945 | GNU_ARCH.earmv7eb=armv7eb |
945 | GNU_ARCH.earmv7hfeb=armv7eb | | 946 | GNU_ARCH.earmv7hfeb=armv7eb |
946 | GNU_ARCH.i386=i486 | | 947 | GNU_ARCH.i386=i486 |
947 | GCC_CONFIG_ARCH.i386=i486 | | 948 | GCC_CONFIG_ARCH.i386=i486 |
948 | GCC_CONFIG_TUNE.i386=nocona | | 949 | GCC_CONFIG_TUNE.i386=nocona |
949 | GCC_CONFIG_TUNE.x86_64=nocona | | 950 | GCC_CONFIG_TUNE.x86_64=nocona |
950 | GNU_ARCH.m68000=m68010 | | 951 | GNU_ARCH.m68000=m68010 |
951 | GNU_ARCH.sh3eb=sh | | 952 | GNU_ARCH.sh3eb=sh |
952 | GNU_ARCH.sh3el=shle | | 953 | GNU_ARCH.sh3el=shle |
953 | GNU_ARCH.mips64eb=mips64 | | 954 | GNU_ARCH.mips64eb=mips64 |
954 | MACHINE_GNU_ARCH=${GNU_ARCH.${MACHINE_ARCH}:U${MACHINE_ARCH}} | | 955 | MACHINE_GNU_ARCH=${GNU_ARCH.${MACHINE_ARCH}:U${MACHINE_ARCH}} |
955 | | | 956 | |
956 | # | | 957 | # |
957 | # In order to identify NetBSD to GNU packages, we sometimes need | | 958 | # In order to identify NetBSD to GNU packages, we sometimes need |
958 | # an "elf" tag for historically a.out platforms. | | 959 | # an "elf" tag for historically a.out platforms. |
959 | # | | 960 | # |
960 | .if (!empty(MACHINE_ARCH:Mearm*)) | | 961 | .if (!empty(MACHINE_ARCH:Mearm*)) |
961 | MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH}--netbsdelf-${MACHINE_ARCH:C/eb//:C/v[4-7]//:S/earm/eabi/} | | 962 | MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH}--netbsdelf-${MACHINE_ARCH:C/eb//:C/v[4-7]//:S/earm/eabi/} |
962 | .elif (${MACHINE_GNU_ARCH} == "arm" || \ | | 963 | .elif (${MACHINE_GNU_ARCH} == "arm" || \ |
963 | ${MACHINE_GNU_ARCH} == "armeb" || \ | | 964 | ${MACHINE_GNU_ARCH} == "armeb" || \ |
964 | ${MACHINE_ARCH} == "i386" || \ | | 965 | ${MACHINE_ARCH} == "i386" || \ |
965 | ${MACHINE_CPU} == "m68k" || \ | | 966 | ${MACHINE_CPU} == "m68k" || \ |
966 | ${MACHINE_GNU_ARCH} == "sh" || \ | | 967 | ${MACHINE_GNU_ARCH} == "sh" || \ |
967 | ${MACHINE_GNU_ARCH} == "shle" || \ | | 968 | ${MACHINE_GNU_ARCH} == "shle" || \ |
968 | ${MACHINE_ARCH} == "sparc" || \ | | 969 | ${MACHINE_ARCH} == "sparc" || \ |
969 | ${MACHINE_ARCH} == "vax") | | 970 | ${MACHINE_ARCH} == "vax") |
970 | MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH}--netbsdelf | | 971 | MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH}--netbsdelf |
971 | .else | | 972 | .else |
972 | MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH}--netbsd | | 973 | MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH}--netbsd |
973 | .endif | | 974 | .endif |
974 | | | 975 | |
975 | .if !empty(MACHINE_ARCH:M*arm*) | | 976 | .if !empty(MACHINE_ARCH:M*arm*) |
976 | # Flags to pass to CC for using the old APCS ABI on ARM for compat or stand. | | 977 | # Flags to pass to CC for using the old APCS ABI on ARM for compat or stand. |
977 | ARM_APCS_FLAGS= -mabi=apcs-gnu -mfloat-abi=soft -marm | | 978 | ARM_APCS_FLAGS= -mabi=apcs-gnu -mfloat-abi=soft -marm |
978 | ARM_APCS_FLAGS+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -mno-thumb-interwork :} | | 979 | ARM_APCS_FLAGS+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -mno-thumb-interwork :} |
979 | ARM_APCS_FLAGS+=${${ACTIVE_CC} == "clang":? -target ${MACHINE_GNU_ARCH}--netbsdelf -B ${TOOLDIR}/${MACHINE_GNU_PLATFORM}/bin :} | | 980 | ARM_APCS_FLAGS+=${${ACTIVE_CC} == "clang":? -target ${MACHINE_GNU_ARCH}--netbsdelf -B ${TOOLDIR}/${MACHINE_GNU_PLATFORM}/bin :} |
980 | .endif | | 981 | .endif |
981 | | | 982 | |
982 | GENASSYM_CPPFLAGS+= ${${ACTIVE_CC} == "clang":? -no-integrated-as :} | | 983 | GENASSYM_CPPFLAGS+= ${${ACTIVE_CC} == "clang":? -no-integrated-as :} |
983 | | | 984 | |
984 | TARGETS+= all clean cleandir depend dependall includes \ | | 985 | TARGETS+= all clean cleandir depend dependall includes \ |
985 | install lint obj regress tags html analyze describe \ | | 986 | install lint obj regress tags html analyze describe \ |
986 | rumpdescribe | | 987 | rumpdescribe |
987 | PHONY_NOTMAIN = all clean cleandir depend dependall distclean includes \ | | 988 | PHONY_NOTMAIN = all clean cleandir depend dependall distclean includes \ |
988 | install lint obj regress beforedepend afterdepend \ | | 989 | install lint obj regress beforedepend afterdepend \ |
989 | beforeinstall afterinstall realinstall realdepend realall \ | | 990 | beforeinstall afterinstall realinstall realdepend realall \ |
990 | html subdir-all subdir-install subdir-depend analyze describe \ | | 991 | html subdir-all subdir-install subdir-depend analyze describe \ |
991 | rumpdescribe | | 992 | rumpdescribe |
992 | .PHONY: ${PHONY_NOTMAIN} | | 993 | .PHONY: ${PHONY_NOTMAIN} |
993 | .NOTMAIN: ${PHONY_NOTMAIN} | | 994 | .NOTMAIN: ${PHONY_NOTMAIN} |
994 | | | 995 | |
995 | .if ${NEED_OWN_INSTALL_TARGET} != "no" | | 996 | .if ${NEED_OWN_INSTALL_TARGET} != "no" |
996 | .if !target(install) | | 997 | .if !target(install) |
997 | install: beforeinstall .WAIT subdir-install realinstall .WAIT afterinstall | | 998 | install: beforeinstall .WAIT subdir-install realinstall .WAIT afterinstall |
998 | beforeinstall: | | 999 | beforeinstall: |
999 | subdir-install: | | 1000 | subdir-install: |
1000 | realinstall: | | 1001 | realinstall: |
1001 | afterinstall: | | 1002 | afterinstall: |
1002 | .endif | | 1003 | .endif |
1003 | all: realall subdir-all | | 1004 | all: realall subdir-all |
1004 | subdir-all: | | 1005 | subdir-all: |
1005 | realall: | | 1006 | realall: |
1006 | depend: realdepend subdir-depend | | 1007 | depend: realdepend subdir-depend |
1007 | subdir-depend: | | 1008 | subdir-depend: |
1008 | realdepend: | | 1009 | realdepend: |
1009 | distclean: cleandir | | 1010 | distclean: cleandir |
1010 | cleandir: clean | | 1011 | cleandir: clean |
1011 | | | 1012 | |
1012 | dependall: .NOTMAIN realdepend .MAKE | | 1013 | dependall: .NOTMAIN realdepend .MAKE |
1013 | @cd "${.CURDIR}"; ${MAKE} realall | | 1014 | @cd "${.CURDIR}"; ${MAKE} realall |
1014 | .endif | | 1015 | .endif |
1015 | | | 1016 | |
1016 | # | | 1017 | # |
1017 | # Define MKxxx variables (which are either yes or no) for users | | 1018 | # Define MKxxx variables (which are either yes or no) for users |
1018 | # to set in /etc/mk.conf and override in the make environment. | | 1019 | # to set in /etc/mk.conf and override in the make environment. |
1019 | # These should be tested with `== "no"' or `!= "no"'. | | 1020 | # These should be tested with `== "no"' or `!= "no"'. |
1020 | # The NOxxx variables should only be set by Makefiles. | | 1021 | # The NOxxx variables should only be set by Makefiles. |
1021 | # | | 1022 | # |
1022 | # Please keep etc/Makefile and share/man/man5/mk.conf.5 in sync | | 1023 | # Please keep etc/Makefile and share/man/man5/mk.conf.5 in sync |
1023 | # with changes to the MK* variables here. | | 1024 | # with changes to the MK* variables here. |
1024 | # | | 1025 | # |
1025 | | | 1026 | |
1026 | # | | 1027 | # |
1027 | # Supported NO* options (if defined, MK* will be forced to "no", | | 1028 | # Supported NO* options (if defined, MK* will be forced to "no", |
1028 | # regardless of user's mk.conf setting). | | 1029 | # regardless of user's mk.conf setting). |
1029 | # | | 1030 | # |
1030 | # Source makefiles should set NO*, and not MK*, and must do so before | | 1031 | # Source makefiles should set NO*, and not MK*, and must do so before |
1031 | # including bsd.own.mk. | | 1032 | # including bsd.own.mk. |
1032 | # | | 1033 | # |
1033 | .for var in \ | | 1034 | .for var in \ |
1034 | NOCOMPAT NOCRYPTO NODOC NOHTML NOINFO NOLIBCSANITIZER NOLINKLIB \ | | 1035 | NOCOMPAT NOCRYPTO NODOC NOHTML NOINFO NOLIBCSANITIZER NOLINKLIB \ |
1035 | NOLINT NOMAN NONLS NOOBJ NOPIC NOPICINSTALL NOPROFILE NOSHARE \ | | 1036 | NOLINT NOMAN NONLS NOOBJ NOPIC NOPICINSTALL NOPROFILE NOSHARE \ |
1036 | NOSTATICLIB NODEBUGLIB NOSANITIZER NORELRO | | 1037 | NOSTATICLIB NODEBUGLIB NOSANITIZER NORELRO |
1037 | .if defined(${var}) | | 1038 | .if defined(${var}) |
1038 | MK${var:S/^NO//}:= no | | 1039 | MK${var:S/^NO//}:= no |
1039 | .endif | | 1040 | .endif |
1040 | .endfor | | 1041 | .endfor |
1041 | | | 1042 | |
1042 | # | | 1043 | # |
1043 | # Older-style variables that enabled behaviour when set. | | 1044 | # Older-style variables that enabled behaviour when set. |
1044 | # | | 1045 | # |
1045 | .for var in MANZ UNPRIVED UPDATE | | 1046 | .for var in MANZ UNPRIVED UPDATE |
1046 | .if defined(${var}) | | 1047 | .if defined(${var}) |
1047 | MK${var}:= yes | | 1048 | MK${var}:= yes |
1048 | .endif | | 1049 | .endif |
1049 | .endfor | | 1050 | .endfor |
1050 | | | 1051 | |
1051 | # | | 1052 | # |
1052 | # MK* options which have variable defaults. | | 1053 | # MK* options which have variable defaults. |
1053 | # | | 1054 | # |
1054 | # aarch64eb is not yet supported. | | 1055 | # aarch64eb is not yet supported. |
1055 | # | | 1056 | # |
1056 | .if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "sparc64" \ | | 1057 | .if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "sparc64" \ |
1057 | || ${MACHINE_MIPS64} \ | | 1058 | || ${MACHINE_MIPS64} \ |
1058 | || ${MACHINE_ARCH} == "powerpc64" || ${MACHINE_ARCH} == "aarch64" \ | | 1059 | || ${MACHINE_ARCH} == "powerpc64" || ${MACHINE_ARCH} == "aarch64" \ |
1059 | || ${MACHINE_ARCH} == "riscv64" || !empty(MACHINE_ARCH:Mearm*) | | 1060 | || ${MACHINE_ARCH} == "riscv64" || !empty(MACHINE_ARCH:Mearm*) |
1060 | MKCOMPAT?= yes | | 1061 | MKCOMPAT?= yes |
1061 | .else | | 1062 | .else |
1062 | # Don't let this build where it really isn't supported. | | 1063 | # Don't let this build where it really isn't supported. |
1063 | MKCOMPAT:= no | | 1064 | MKCOMPAT:= no |
1064 | .endif | | 1065 | .endif |
1065 | | | 1066 | |
1066 | .if ${MKCOMPAT} == "no" | | 1067 | .if ${MKCOMPAT} == "no" |
1067 | MKCOMPATTESTS:= no | | 1068 | MKCOMPATTESTS:= no |
1068 | MKCOMPATX11:= no | | 1069 | MKCOMPATX11:= no |
1069 | .endif | | 1070 | .endif |
1070 | | | 1071 | |
1071 | .if ${MACHINE_MIPS64} \ | | 1072 | .if ${MACHINE_MIPS64} \ |
1072 | || (${MACHINE} == "evbppc" && ${MACHINE_ARCH} == "powerpc") | | 1073 | || (${MACHINE} == "evbppc" && ${MACHINE_ARCH} == "powerpc") |
1073 | MKCOMPATMODULES?= yes | | 1074 | MKCOMPATMODULES?= yes |
1074 | .else | | 1075 | .else |
1075 | MKCOMPATMODULES:= no | | 1076 | MKCOMPATMODULES:= no |
1076 | .endif | | 1077 | .endif |
1077 | | | 1078 | |
1078 | # | | 1079 | # |
1079 | # These platforms use softfloat by default. | | 1080 | # These platforms use softfloat by default. |