Makefile.cross revision 1.66
1# $OpenBSD: Makefile.cross,v 1.66 2013/07/06 17:52:57 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(GCC2_ARCH:M${_arch}) 87COMPILER_VERSION=gcc2 88.elif !empty(GCC4_ARCH:M${_arch}) 89COMPILER_VERSION=gcc4 90.else 91COMPILER_VERSION=gcc3 92.endif 93 94.if !empty(BINUTILS217_ARCH:M${_arch}) 95BINUTILS_VERSION=binutils-2.17 96.else 97BINUTILS_VERSION=binutils 98.endif 99 100.if !empty(PIE_ARCH:M${_arch}) 101NOPIE_FLAGS=-fno-pie 102NOPIE_LDFLAGS=-nopie 103PIE_DEFAULT=${DEFAULT_PIE_DEF} 104.else 105NOPIE_FLAGS= 106PIE_DEFAULT= 107.endif 108 109BINUTILS= ar as gasp ld nm objcopy objdump ranlib readelf size \ 110 strings strip 111BINUTILS_DIR=gnu/usr.bin/${BINUTILS_VERSION} 112.endfor 113 114# no libcrypto.... these won't build 115#NO_CROSS+= dc login_krb5 login_krb5-or-pwd passwd ppp tcpdump telnet \ 116# ftp gzsig sasyncd vnconfig 117 118# explicit cross-compile 119NO_CROSS+=bind 120NO_CROSS+=httpd 121NO_CROSS+=microcode 122NO_CROSS+=groff lynx binutils binutils-2.17 perl texinfo gcc cvs 123NO_CROSS+=nsd 124NO_CROSS+=nginx 125NO_CROSS+=sqlite3 126 127cross-dirs: ${CROSSDIRS} 128cross-obj: ${CROSSOBJ} 129cross-includes: ${CROSSINCLUDES} 130cross-binutils: ${CROSSBINUTILS} 131cross-gcc: ${CROSSGCC} 132 133cross-env: 134 @echo ${CROSSENV} MACHINE=${TARGET} \ 135 MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ 136 MACHINE_CPU=`cat ${CROSSDIR}/TARGET_CPU` \ 137 BSDOBJDIR=${CROSSDIR}/usr/obj \ 138 BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} 139 140${CROSSDIRS}: 141.if ${TARGET_ARCH} == "arm" && ${MACHINE_IS_LP64} == "yes" 142 # this config is allowed 143.elif ${TARGET_IS_LP64} != ${MACHINE_IS_LP64} 144 @echo "host and target have different size longs" 145 @echo "cross compiler generates bad code; aborting"; exit 1 146.endif 147 @-mkdir -p ${CROSSDIR} 148 @echo ${TARGET_ARCH} > ${CROSSDIR}/TARGET_ARCH 149 @echo TARGET_ARCH is `cat ${CROSSDIR}/TARGET_ARCH` 150 @echo ${TARGET_CPU} > ${CROSSDIR}/TARGET_CPU 151 @echo TARGET_CPU is `cat ${CROSSDIR}/TARGET_CPU` 152 @eval `grep '^osr=' sys/conf/newvers.sh`; \ 153 echo ${TARGET_ARCH}-unknown-openbsd$$osr > \ 154 ${CROSSDIR}/TARGET_CANON 155 @-mkdir -p ${CROSSDIR} 156 @-mkdir -p ${CROSSDIR}/usr/${TARGET_CANON} 157 @ln -sf ${CROSSDIR}/usr/include \ 158 ${CROSSDIR}/usr/${TARGET_CANON}/include 159 @ln -sf ${CROSSDIR}/usr/lib \ 160 ${CROSSDIR}/usr/${TARGET_CANON}/lib 161 @-mkdir -p ${CROSSDIR}/usr/${TARGET_CANON}/bin 162 @(cd ${.CURDIR}/etc && DESTDIR=${CROSSDIR} ${MAKE} distrib-dirs) 163 @touch ${CROSSDIRS} 164 165${CROSSOBJ}: ${CROSSDIRS} 166 @-mkdir -p ${CROSSDIR}/usr/obj 167 @(cd ${.CURDIR} && \ 168 BSDOBJDIR=${CROSSDIR}/usr/obj \ 169 COMPILER_VERSION=${COMPILER_VERSION} \ 170 MACHINE=${TARGET} \ 171 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \ 172 BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 173 ${MAKE} obj) 174 @touch ${CROSSOBJ} 175 176${CROSSINCLUDES}: ${CROSSOBJ} 177 @-mkdir -p ${CROSSDIR}/usr/include 178 @(cd ${.CURDIR}/include && \ 179 COMPILER_VERSION=${COMPILER_VERSION} \ 180 MACHINE=${TARGET} \ 181 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \ 182 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 183 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 184 ${MAKE} prereq && \ 185 COMPILER_VERSION=${COMPILER_VERSION} \ 186 MACHINE=${TARGET} \ 187 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \ 188 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 189 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 190 ${MAKE} DESTDIR=${CROSSDIR} includes) 191 @touch ${CROSSINCLUDES} 192 193${CROSSBINUTILS}: ${CROSSINCLUDES} 194 (cd ${.CURDIR}/${BINUTILS_DIR}; \ 195 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 196 PIE_DEFAULT=${PIE_DEFAULT} \ 197 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 198 PATH=${CROSSPATH} \ 199 ${MAKE} -f Makefile.bsd-wrapper depend && \ 200 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 201 PIE_DEFAULT=${PIE_DEFAULT} \ 202 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 203 ${MAKE} -f Makefile.bsd-wrapper all && \ 204 DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 205 COMPILER_VERSION=${COMPILER_VERSION} \ 206 PIE_DEFAULT=${PIE_DEFAULT} \ 207 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 208 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 209 ${MAKE} -f Makefile.bsd-wrapper install) 210 @for cmd in ${BINUTILS}; do \ 211 if [ -e ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd ] ; then \ 212 cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd \ 213 ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-$$cmd ; \ 214 ln -sf ${TARGET_CANON}-$$cmd \ 215 ${CROSSDIR}/usr/${TARGET_CANON}/bin/$$cmd ;\ 216 if [ -e ${CROSSDIR}/usr/bin/$$cmd ] ; then \ 217 rm -f ${CROSSDIR}/usr/bin/$$cmd ;\ 218 fi ;\ 219 elif [ -e ${CROSSDIR}/usr/bin/$$cmd ] ; then \ 220 cp -f ${CROSSDIR}/usr/bin/$$cmd \ 221 ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-$$cmd ; \ 222 ln -sf ${TARGET_CANON}-$$cmd \ 223 ${CROSSDIR}/usr/${TARGET_CANON}/bin/$$cmd ;\ 224 mv ${CROSSDIR}/usr/bin/$$cmd \ 225 ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd ;\ 226 fi ;\ 227 done 228 @touch ${CROSSBINUTILS} 229 230 231${CROSSGCC}: ${CROSSBINUTILS} 232.if ${COMPILER_VERSION:L} == "gcc4" 233 (cd ${.CURDIR}/gnu/usr.bin/cc; \ 234 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 235 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 236 CROSSDIR=${CROSSDIR} \ 237 MACHINE=${TARGET} \ 238 PATH=${CROSSPATH} ${MAKE} depend ) 239 (cd ${.CURDIR}/gnu/usr.bin/cc; \ 240 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 241 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 242 CROSSDIR=${CROSSDIR} \ 243 MACHINE=${TARGET} \ 244 ${MAKE} all ) 245 (cd ${.CURDIR}/gnu/usr.bin/cc; \ 246 env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 247 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 248 MACHINE=${TARGET} \ 249 PATH=${CROSSPATH} ${MAKE} install) 250 cp -f ${CROSSDIR}/usr/bin/g++ ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ 251 cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++ 252 cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp 253 cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc 254 ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc 255 256 cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc 257 rm -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/bin/g++ ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp 258 # fix links 259 rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 260 sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \ 261 -e 's/@GNUC@//' \ 262 -e 's#/usr/include#${CROSSDIR}/usr/include#' \ 263 -e 's/@dollaropt@//' \ 264 ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 265 chmod ${BINMODE} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 266 chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 267 ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp 268.elif ${COMPILER_VERSION:L} == "gcc3" 269 (cd ${.CURDIR}/gnu/usr.bin/gcc; \ 270 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 271 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 272 CROSSDIR=${CROSSDIR} \ 273 PATH=${CROSSPATH} ${MAKE} -f Makefile.bsd-wrapper depend && \ 274 MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 275 TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ 276 CROSSDIR=${CROSSDIR} \ 277 ${MAKE} -f Makefile.bsd-wrapper all && \ 278 env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 279 PATH=${CROSSPATH} ${MAKE} -f Makefile.bsd-wrapper install) 280 cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++ 281 cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc 282 cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp 283 rm -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp 284 ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc 285 ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++ 286 rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 287 sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \ 288 -e 's/@GNUC@/-D__GNUC__/' \ 289 -e 's#/usr/include#${CROSSDIR}/usr/include#' \ 290 -e 's/@dollaropt@//' \ 291 ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 292 chmod ${BINMODE} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 293 chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 294 ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp 295.else 296 (cd ${CROSSDIR}/usr/obj/gnu/egcs/gcc; \ 297 /bin/sh ${.CURDIR}/gnu/egcs/gcc/configure \ 298 --with-gnu-as --with-gnu-ld --prefix ${CROSSDIR}/usr \ 299 --target ${TARGET_CANON} \ 300 --enable-languages="c,c++" --enable-cpp --disable-nls \ 301 --with-gxx-include-dir=${CROSSDIR}/usr/include/g++ && \ 302 PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" \ 303 CFLAGS="${CFLAGS} -DOPENBSD_CROSS -I${.CURDIR}/gnu/lib/libiberty/include" \ 304 LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \ 305 DEMANGLER_PROG= DEMANGLE_H= LDFLAGS="${LDSTATIC}" build_infodir=. \ 306 GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \ 307 ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" LDFLAGS="${LDSTATIC}" \ 308 GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \ 309 CFLAGS="${CFLAGS} -DOPENBSD_CROSS -I${.CURDIR}/gnu/lib/libiberty/include" \ 310 LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \ 311 build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install) 312 mv -f ${CROSSDIR}/usr/bin/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp 313 rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 314 sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \ 315 -e 's/@GNUC@/-D__GNUC__/' \ 316 -e 's#/usr/include#${CROSSDIR}/usr/include#' \ 317 -e 's/@dollaropt@/-$$/' ${.CURDIR}/usr.bin/cpp/cpp.sh > \ 318 ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 319 chmod ${BINMODE} \ 320 ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 321 chown ${BINOWN}:${BINGRP}\ 322 ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp 323 ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp 324 ln -sf gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc 325 ln -sf gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc 326 cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++ 327 ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++ 328.endif 329 @touch ${CROSSGCC} 330 331# XXX MAKEOBJDIR maybe should be obj.${TARGET} here, revisit later 332cross-lib: ${CROSSGCC} 333 MACHINE=${TARGET} \ 334 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \ 335 export MACHINE MACHINE_ARCH MACHINE_CPU; \ 336 (cd ${.CURDIR}/lib; \ 337 for lib in csu libc; do \ 338 (cd $$lib; \ 339 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 340 ${MAKE} depend all ;\ 341 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \ 342 ${MAKE} install); \ 343 done; \ 344 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 345 SKIPDIR=\"${NO_CROSS} libocurses/PSD.doc\" \ 346 ${MAKE} depend all ; \ 347 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \ 348 SKIPDIR=\"${NO_CROSS} libocurses/PSD.doc\" \ 349 ${MAKE} install) 350 351cross-bin: ${CROSSOBJ} 352 MACHINE=${TARGET} \ 353 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \ 354 export MACHINE MACHINE_ARCH MACHINE_CPU; \ 355 for i in libexec bin sbin usr.bin usr.sbin; do \ 356 (cd ${.CURDIR}/$$i; \ 357 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 358 SKIPDIR=\"${BINUTILS} ${NO_CROSS}\" \ 359 ${MAKE} depend all ; \ 360 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \ 361 SKIPDIR=\"${BINUTILS} ${NO_CROSS}\" \ 362 ${MAKE} install); \ 363 done 364 365cross-gnu: ${CROSSOBJ} 366 MACHINE=${TARGET} \ 367 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \ 368 export MACHINE MACHINE_ARCH MACHINE_CPU; \ 369 for i in gnu/lib gnu/usr.sbin gnu/usr.bin ; do \ 370 (cd ${.CURDIR}/$$i; \ 371 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 372 SKIPDIR=\"${NO_CROSS}\" \ 373 ${MAKE} depend all ; \ 374 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \ 375 SKIPDIR=\"${NO_CROSS}\" \ 376 ${MAKE} install); \ 377 done 378 379cross-share: ${CROSSOBJ} 380 MACHINE=${TARGET} \ 381 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \ 382 export MACHINE MACHINE_ARCH MACHINE_CPU; \ 383 for i in share; do \ 384 (cd ${.CURDIR}/$$i; \ 385 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 386 SKIPDIR=\"${NO_CROSS}\" \ 387 ${MAKE} depend all install); \ 388 done 389 390cross-sys: ${CROSSOBJ} 391 MACHINE=${TARGET} \ 392 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \ 393 export MACHINE MACHINE_ARCH MACHINE_CPU; \ 394 for i in sys; do \ 395 (cd ${.CURDIR}/$$i; \ 396 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 397 SKIPDIR=\"${NO_CROSS}\" \ 398 ${MAKE} depend all install); \ 399 done 400 401cross-etc-root-var: ${CROSSOBJ} 402 (cd ${.CURDIR}/etc && \ 403 MACHINE=${TARGET} \ 404 MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \ 405 DESTDIR=${CROSSDIR} \ 406 ${MAKE} distribution-etc-root-var) 407 408cross-depend: 409 @(cd ${.CURDIR} && \ 410 BSDOBJDIR=${CROSSDIR}/usr/obj \ 411 BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 412 SKIPDIR="${NO_CROSS}" \ 413 ${MAKE} depend) 414 415cross-clean: 416 @(cd ${.CURDIR} && \ 417 BSDOBJDIR=${CROSSDIR}/usr/obj \ 418 BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 419 SKIPDIR="${NO_CROSS}" \ 420 ${MAKE} clean) 421 422cross-cleandir: 423 @(cd ${.CURDIR} && \ 424 BSDOBJDIR=${CROSSDIR}/usr/obj \ 425 BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 426 SKIPDIR="${NO_CROSS}" \ 427 ${MAKE} cleandir) 428