Makefile.cross revision 1.67
1# $OpenBSD: Makefile.cross,v 1.67 2013/08/06 19:11:53 miod Exp $ 2 3cross-tools: cross-includes cross-binutils cross-gcc cross-lib 4cross-distrib: cross-tools cross-bin cross-share cross-sys cross-etc-root-var 5# cross-gnu \ 6 7# Have to compute TARGET_ARCH directly in the Makefile, for .if tests involving 8# this variable to work. 9.if (${TARGET} == "armish" || ${TARGET} == "beagle" || \ 10 ${TARGET} == "zaurus") 11TARGET_ARCH= arm 12.elif (${TARGET} == "hp300" || ${TARGET} == "mvme68k") 13TARGET_ARCH= m68k 14.elif (${TARGET} == "aviion" || ${TARGET} == "luna88k" || \ 15 ${TARGET} == "mvme88k") 16TARGET_ARCH= m88k 17.elif (${TARGET} == "sgi" || ${TARGET} == "octeon") 18TARGET_ARCH= mips64 19.elif (${TARGET} == "loongson") 20TARGET_ARCH= mips64el 21TARGET_CPU= mips64 22.elif (${TARGET} == "solbourne") 23TARGET_ARCH= sparc 24.elif (${TARGET} == "macppc" || ${TARGET} == "socppc") 25TARGET_ARCH= powerpc 26.elif (${TARGET} == "landisk") 27TARGET_ARCH= sh 28.else 29TARGET_ARCH= ${TARGET} 30.endif 31TARGET_CPU?= ${TARGET_ARCH} 32 33# List of LP64 archs 34# XXX move to bsd.*.mk? 35LP64_ARCH = amd64 alpha hppa64 ia64 mips64 sparc64 vax64 36 37TARGET_IS_LP64 = 38MACHINE_IS_LP64 = 39.for _ in ${LP64_ARCH} 40. if !empty(TARGET_ARCH:M$_) 41 TARGET_IS_LP64 = yes 42. endif 43. if !empty(MACHINE_ARCH:M$_) 44 MACHINE_IS_LP64 = yes 45. endif 46.endfor 47 48#CROSSCPPFLAGS?= -nostdinc -I${CROSSDIR}/usr/include 49#CROSSLDFLAGS?= -nostdlib -L${CROSSDIR}/usr/lib -static 50CROSSCFLAGS?= ${CROSSCPPFLAGS} -O2 ${PIPE} ${DEBUG} 51CROSSCXXFLAGS?= ${CROSSCPPFLAGS} 52#LDSTATIC?= -static 53 54CROSSDIR= ${DESTDIR}/usr/cross/${TARGET} 55CROSSENV= AR=${CROSSDIR}/usr/${TARGET_CANON}/bin/ar \ 56 AS=${CROSSDIR}/usr/${TARGET_CANON}/bin/as \ 57 CC=${CROSSDIR}/usr/${TARGET_CANON}/bin/cc \ 58 CPP=${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp \ 59 CXX=${CROSSDIR}/usr/${TARGET_CANON}/bin/c++ \ 60 LD=${CROSSDIR}/usr/${TARGET_CANON}/bin/ld \ 61 OBJCOPY=${CROSSDIR}/usr/${TARGET_CANON}/bin/objcopy \ 62 LORDER=/usr/bin/lorder RANLIB=${CROSSDIR}/usr/${TARGET_CANON}/bin/ranlib \ 63 STRIP=${CROSSDIR}/usr/${TARGET_CANON}/bin/strip \ 64 HOSTCC=\"${CC}\" HOSTCXX=\"${CXX}\" NOMAN= \ 65 HOSTCFLAGS=\"${CFLAGS}\" HOSTCXXFLAGS=\"${CXXFLAGS}\" \ 66 HOSTLDFLAGS=\"${LDFLAGS}\" \ 67 CFLAGS=\"${CROSSCFLAGS}\" CPPFLAGS=\"${CROSSCPPFLAGS}\" \ 68 CXXFLAGS=\"${CROSSCXXFLAGS}\" \ 69 LDFLAGS=\"${CROSSLDFLAGS}\" 70CROSSADDPATH=:${CROSSDIR}/usr/${TARGET_CANON}/bin 71CROSSPATH= /usr/bin:/bin:/usr/sbin:/sbin${CROSSADDPATH} 72CROSSLANGS?= c c++ 73 74TARGET_CANON=`cat ${CROSSDIR}/TARGET_CANON` 75 76CROSSDIRS= ${CROSSDIR}/.dirs_done 77CROSSOBJ= ${CROSSDIR}/.obj_done 78CROSSINCLUDES= ${CROSSDIR}/.includes_done 79CROSSBINUTILS= ${CROSSDIR}/.binutils_done 80CROSSGCC= ${CROSSDIR}/.gcc_done 81#NO_CROSS= isakmpd keynote ssh 82 83.include <bsd.own.mk> 84 85.for _arch in ${TARGET_ARCH} 86.if !empty(GCC3_ARCH:M${_arch}) 87COMPILER_VERSION=gcc3 88.else 89COMPILER_VERSION=gcc4 90.endif 91 92.if !empty(BINUTILS217_ARCH:M${_arch}) 93BINUTILS_VERSION=binutils-2.17 94.else 95BINUTILS_VERSION=binutils 96.endif 97 98.if !empty(PIE_ARCH:M${_arch}) 99NOPIE_FLAGS=-fno-pie 100NOPIE_LDFLAGS=-nopie 101PIE_DEFAULT=${DEFAULT_PIE_DEF} 102.else 103NOPIE_FLAGS= 104PIE_DEFAULT= 105.endif 106 107BINUTILS= ar as gasp ld nm objcopy objdump ranlib readelf size \ 108 strings strip 109BINUTILS_DIR=gnu/usr.bin/${BINUTILS_VERSION} 110.endfor 111 112# no libcrypto.... these won't build 113#NO_CROSS+= dc login_krb5 login_krb5-or-pwd passwd ppp tcpdump telnet \ 114# ftp gzsig sasyncd vnconfig 115 116# explicit cross-compile 117NO_CROSS+=bind 118NO_CROSS+=httpd 119NO_CROSS+=microcode 120NO_CROSS+=groff lynx binutils binutils-2.17 perl texinfo gcc cvs 121NO_CROSS+=nsd 122NO_CROSS+=nginx 123NO_CROSS+=sqlite3 124 125cross-dirs: ${CROSSDIRS} 126cross-obj: ${CROSSOBJ} 127cross-includes: ${CROSSINCLUDES} 128cross-binutils: ${CROSSBINUTILS} 129cross-gcc: ${CROSSGCC} 130 131cross-env: 132 @echo ${CROSSENV} MACHINE=${TARGET} \ 133 MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ 134 MACHINE_CPU=`cat ${CROSSDIR}/TARGET_CPU` \ 135 BSDOBJDIR=${CROSSDIR}/usr/obj \ 136 BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} 137 138${CROSSDIRS}: 139.if ${TARGET_ARCH} == "arm" && ${MACHINE_IS_LP64} == "yes" 140 # this config is allowed 141.elif ${TARGET_IS_LP64} != ${MACHINE_IS_LP64} 142 @echo "host and target have different size longs" 143 @echo "cross compiler generates bad code; aborting"; exit 1 144.endif 145 @-mkdir -p ${CROSSDIR} 146 @echo ${TARGET_ARCH} > ${CROSSDIR}/TARGET_ARCH 147 @echo TARGET_ARCH is `cat ${CROSSDIR}/TARGET_ARCH` 148 @echo ${TARGET_CPU} > ${CROSSDIR}/TARGET_CPU 149 @echo TARGET_CPU is `cat ${CROSSDIR}/TARGET_CPU` 150 @eval `grep '^osr=' sys/conf/newvers.sh`; \ 151 echo ${TARGET_ARCH}-unknown-openbsd$$osr > \ 152 ${CROSSDIR}/TARGET_CANON 153 @-mkdir -p ${CROSSDIR} 154 @-mkdir -p ${CROSSDIR}/usr/${TARGET_CANON} 155 @ln -sf ${CROSSDIR}/usr/include \ 156 ${CROSSDIR}/usr/${TARGET_CANON}/include 157 @ln -sf ${CROSSDIR}/usr/lib \ 158 ${CROSSDIR}/usr/${TARGET_CANON}/lib 159 @-mkdir -p ${CROSSDIR}/usr/${TARGET_CANON}/bin 160 @(cd ${.CURDIR}/etc && DESTDIR=${CROSSDIR} ${MAKE} distrib-dirs) 161 @touch ${CROSSDIRS} 162 163${CROSSOBJ}: ${CROSSDIRS} 164 @-mkdir -p ${CROSSDIR}/usr/obj 165 @(cd ${.CURDIR} && \ 166 BSDOBJDIR=${CROSSDIR}/usr/obj \ 167 COMPILER_VERSION=${COMPILER_VERSION} \ 168 MACHINE=${TARGET} \ 169 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \ 170 BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 171 ${MAKE} obj) 172 @touch ${CROSSOBJ} 173 174${CROSSINCLUDES}: ${CROSSOBJ} 175 @-mkdir -p ${CROSSDIR}/usr/include 176 @(cd ${.CURDIR}/include && \ 177 COMPILER_VERSION=${COMPILER_VERSION} \ 178 MACHINE=${TARGET} \ 179 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \ 180 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 181 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 182 ${MAKE} prereq && \ 183 COMPILER_VERSION=${COMPILER_VERSION} \ 184 MACHINE=${TARGET} \ 185 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \ 186 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 187 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 188 ${MAKE} DESTDIR=${CROSSDIR} includes) 189 @touch ${CROSSINCLUDES} 190 191${CROSSBINUTILS}: ${CROSSINCLUDES} 192 (cd ${.CURDIR}/${BINUTILS_DIR}; \ 193 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 194 PIE_DEFAULT=${PIE_DEFAULT} \ 195 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 196 PATH=${CROSSPATH} \ 197 ${MAKE} -f Makefile.bsd-wrapper depend && \ 198 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 199 PIE_DEFAULT=${PIE_DEFAULT} \ 200 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 201 ${MAKE} -f Makefile.bsd-wrapper all && \ 202 DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 203 COMPILER_VERSION=${COMPILER_VERSION} \ 204 PIE_DEFAULT=${PIE_DEFAULT} \ 205 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 206 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 207 ${MAKE} -f Makefile.bsd-wrapper install) 208 @for cmd in ${BINUTILS}; do \ 209 if [ -e ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd ] ; then \ 210 cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd \ 211 ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-$$cmd ; \ 212 ln -sf ${TARGET_CANON}-$$cmd \ 213 ${CROSSDIR}/usr/${TARGET_CANON}/bin/$$cmd ;\ 214 if [ -e ${CROSSDIR}/usr/bin/$$cmd ] ; then \ 215 rm -f ${CROSSDIR}/usr/bin/$$cmd ;\ 216 fi ;\ 217 elif [ -e ${CROSSDIR}/usr/bin/$$cmd ] ; then \ 218 cp -f ${CROSSDIR}/usr/bin/$$cmd \ 219 ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-$$cmd ; \ 220 ln -sf ${TARGET_CANON}-$$cmd \ 221 ${CROSSDIR}/usr/${TARGET_CANON}/bin/$$cmd ;\ 222 mv ${CROSSDIR}/usr/bin/$$cmd \ 223 ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd ;\ 224 fi ;\ 225 done 226 @touch ${CROSSBINUTILS} 227 228 229${CROSSGCC}: ${CROSSBINUTILS} 230.if ${COMPILER_VERSION:L} == "gcc3" 231 (cd ${.CURDIR}/gnu/usr.bin/gcc; \ 232 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 233 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 234 CROSSDIR=${CROSSDIR} \ 235 PATH=${CROSSPATH} ${MAKE} -f Makefile.bsd-wrapper depend && \ 236 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 237 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 238 CROSSDIR=${CROSSDIR} \ 239 ${MAKE} -f Makefile.bsd-wrapper all && \ 240 env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 241 PATH=${CROSSPATH} ${MAKE} -f Makefile.bsd-wrapper install) 242 cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++ 243 cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc 244 cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp 245 rm -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp 246 ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc 247 ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++ 248 rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 249 sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \ 250 -e 's/@GNUC@/-D__GNUC__/' \ 251 -e 's#/usr/include#${CROSSDIR}/usr/include#' \ 252 -e 's/@dollaropt@//' \ 253 ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 254 chmod ${BINMODE} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 255 chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 256 ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp 257.else 258 (cd ${.CURDIR}/gnu/usr.bin/cc; \ 259 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 260 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 261 CROSSDIR=${CROSSDIR} \ 262 MACHINE=${TARGET} \ 263 PATH=${CROSSPATH} ${MAKE} depend ) 264 (cd ${.CURDIR}/gnu/usr.bin/cc; \ 265 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 266 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 267 CROSSDIR=${CROSSDIR} \ 268 MACHINE=${TARGET} \ 269 ${MAKE} all ) 270 (cd ${.CURDIR}/gnu/usr.bin/cc; \ 271 env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 272 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 273 MACHINE=${TARGET} \ 274 PATH=${CROSSPATH} ${MAKE} install) 275 cp -f ${CROSSDIR}/usr/bin/g++ ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ 276 cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++ 277 cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp 278 cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc 279 ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc 280 281 cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc 282 rm -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/bin/g++ ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp 283 # fix links 284 rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 285 sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \ 286 -e 's/@GNUC@//' \ 287 -e 's#/usr/include#${CROSSDIR}/usr/include#' \ 288 -e 's/@dollaropt@//' \ 289 ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 290 chmod ${BINMODE} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 291 chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 292 ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp 293.endif 294 @touch ${CROSSGCC} 295 296# XXX MAKEOBJDIR maybe should be obj.${TARGET} here, revisit later 297cross-lib: ${CROSSGCC} 298 MACHINE=${TARGET} \ 299 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \ 300 export MACHINE MACHINE_ARCH MACHINE_CPU; \ 301 (cd ${.CURDIR}/lib; \ 302 for lib in csu libc; do \ 303 (cd $$lib; \ 304 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 305 ${MAKE} depend all ;\ 306 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \ 307 ${MAKE} install); \ 308 done; \ 309 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 310 SKIPDIR=\"${NO_CROSS} libocurses/PSD.doc\" \ 311 ${MAKE} depend all ; \ 312 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \ 313 SKIPDIR=\"${NO_CROSS} libocurses/PSD.doc\" \ 314 ${MAKE} install) 315 316cross-bin: ${CROSSOBJ} 317 MACHINE=${TARGET} \ 318 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \ 319 export MACHINE MACHINE_ARCH MACHINE_CPU; \ 320 for i in libexec bin sbin usr.bin usr.sbin; do \ 321 (cd ${.CURDIR}/$$i; \ 322 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 323 SKIPDIR=\"${BINUTILS} ${NO_CROSS}\" \ 324 ${MAKE} depend all ; \ 325 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \ 326 SKIPDIR=\"${BINUTILS} ${NO_CROSS}\" \ 327 ${MAKE} install); \ 328 done 329 330cross-gnu: ${CROSSOBJ} 331 MACHINE=${TARGET} \ 332 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \ 333 export MACHINE MACHINE_ARCH MACHINE_CPU; \ 334 for i in gnu/lib gnu/usr.sbin gnu/usr.bin ; do \ 335 (cd ${.CURDIR}/$$i; \ 336 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 337 SKIPDIR=\"${NO_CROSS}\" \ 338 ${MAKE} depend all ; \ 339 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \ 340 SKIPDIR=\"${NO_CROSS}\" \ 341 ${MAKE} install); \ 342 done 343 344cross-share: ${CROSSOBJ} 345 MACHINE=${TARGET} \ 346 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \ 347 export MACHINE MACHINE_ARCH MACHINE_CPU; \ 348 for i in share; do \ 349 (cd ${.CURDIR}/$$i; \ 350 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 351 SKIPDIR=\"${NO_CROSS}\" \ 352 ${MAKE} depend all install); \ 353 done 354 355cross-sys: ${CROSSOBJ} 356 MACHINE=${TARGET} \ 357 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \ 358 export MACHINE MACHINE_ARCH MACHINE_CPU; \ 359 for i in sys; do \ 360 (cd ${.CURDIR}/$$i; \ 361 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 362 SKIPDIR=\"${NO_CROSS}\" \ 363 ${MAKE} depend all install); \ 364 done 365 366cross-etc-root-var: ${CROSSOBJ} 367 (cd ${.CURDIR}/etc && \ 368 MACHINE=${TARGET} \ 369 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \ 370 DESTDIR=${CROSSDIR} \ 371 ${MAKE} distribution-etc-root-var) 372 373cross-depend: 374 @(cd ${.CURDIR} && \ 375 BSDOBJDIR=${CROSSDIR}/usr/obj \ 376 BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 377 SKIPDIR="${NO_CROSS}" \ 378 ${MAKE} depend) 379 380cross-clean: 381 @(cd ${.CURDIR} && \ 382 BSDOBJDIR=${CROSSDIR}/usr/obj \ 383 BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 384 SKIPDIR="${NO_CROSS}" \ 385 ${MAKE} clean) 386 387cross-cleandir: 388 @(cd ${.CURDIR} && \ 389 BSDOBJDIR=${CROSSDIR}/usr/obj \ 390 BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 391 SKIPDIR="${NO_CROSS}" \ 392 ${MAKE} cleandir) 393