[BACK]Return to Makefile.cross CVS log [TXT][DIR] Up to [local] / src

Diff for /src/Makefile.cross between version 1.27 and 1.104

version 1.27, 2009/09/09 12:10:34 version 1.104, 2019/10/14 14:38:06
Line 6 
Line 6 
   
 # Have to compute TARGET_ARCH directly in the Makefile, for .if tests involving  # Have to compute TARGET_ARCH directly in the Makefile, for .if tests involving
 # this variable to work.  # this variable to work.
 .if     (${TARGET} == "armish" || ${TARGET} == "zaurus" || \  .if     (${TARGET} == "arm64")
          ${TARGET} == "palm")  TARGET_ARCH=    aarch64
   .elif   (${TARGET} == "armv7")
 TARGET_ARCH=    arm  TARGET_ARCH=    arm
 .elif   (${TARGET} == "hp300" || ${TARGET} == "mac68k" || \  .elif   (${TARGET} == "luna88k")
          ${TARGET} == "mvme68k")  
 TARGET_ARCH=    m68k  
 .elif   (${TARGET} == "aviion" || ${TARGET} == "luna88k" || \  
          ${TARGET} == "mvme88k")  
 TARGET_ARCH=    m88k  TARGET_ARCH=    m88k
 .elif   (${TARGET} == "sgi")  .elif   (${TARGET} == "sgi" || ${TARGET} == "octeon")
 TARGET_ARCH=    mips64  TARGET_ARCH=    mips64
 .elif   (${TARGET} == "solbourne")  .elif   (${TARGET} == "loongson")
 TARGET_ARCH=    sparc  TARGET_ARCH=    mips64el
 .elif   (${TARGET} == "macppc" || ${TARGET} == "mvmeppc" || \  TARGET_CPU=     mips64
          ${TARGET} == "socppc")  .elif   (${TARGET} == "macppc")
 TARGET_ARCH=    powerpc  TARGET_ARCH=    powerpc
 .elif   (${TARGET} == "landisk")  .elif   (${TARGET} == "landisk")
 TARGET_ARCH=    sh  TARGET_ARCH=    sh
 .else  .else
 TARGET_ARCH=    ${TARGET}  TARGET_ARCH=    ${TARGET}
 .endif  .endif
   TARGET_CPU?=    ${TARGET_ARCH}
   
   # List of LP64 archs
   # XXX move to bsd.*.mk?
   LP64_ARCH = aarch64 amd64 alpha mips64 sparc64
   
   TARGET_IS_LP64 =
   MACHINE_IS_LP64 =
   .for _ in ${LP64_ARCH}
   . if !empty(TARGET_ARCH:M$_)
       TARGET_IS_LP64 = yes
   . endif
   . if !empty(MACHINE_ARCH:M$_)
       MACHINE_IS_LP64 = yes
   . endif
   .endfor
   
 #CROSSCPPFLAGS?=        -nostdinc -I${CROSSDIR}/usr/include  #CROSSCPPFLAGS?=        -nostdinc -I${CROSSDIR}/usr/include
 #CROSSLDFLAGS?= -nostdlib -L${CROSSDIR}/usr/lib -static  #CROSSLDFLAGS?= -nostdlib -L${CROSSDIR}/usr/lib -static
 CROSSCFLAGS?=   ${CROSSCPPFLAGS} -O2 ${PIPE} ${DEBUG}  CROSSCFLAGS?=   ${CROSSCPPFLAGS} -O2 ${PIPE} ${DEBUG}
 CROSSCXXFLAGS?= ${CROSSCPPFLAGS}  CROSSCXXFLAGS?= ${CROSSCPPFLAGS}
 #LDSTATIC?=     -static  #LDSTATIC?=     -static
   
 # XXX  
 BINMODE?=555  
 BINOWN?=root  
 BINOWN?=bin  
   
 CROSSDIR=       ${DESTDIR}/usr/cross/${TARGET}  CROSSDIR=       ${DESTDIR}/usr/cross/${TARGET}
 CROSSENV=       AR=${CROSSDIR}/usr/${TARGET_CANON}/bin/ar \  CROSSENV=       AR=${CROSSDIR}/usr/${TARGET_CANON}/bin/ar \
                 AS=${CROSSDIR}/usr/${TARGET_CANON}/bin/as \                  AS=${CROSSDIR}/usr/${TARGET_CANON}/bin/as \
Line 54 
Line 62 
                 HOSTLDFLAGS=\"${LDFLAGS}\" \                  HOSTLDFLAGS=\"${LDFLAGS}\" \
                 CFLAGS=\"${CROSSCFLAGS}\" CPPFLAGS=\"${CROSSCPPFLAGS}\" \                  CFLAGS=\"${CROSSCFLAGS}\" CPPFLAGS=\"${CROSSCPPFLAGS}\" \
                 CXXFLAGS=\"${CROSSCXXFLAGS}\" \                  CXXFLAGS=\"${CROSSCXXFLAGS}\" \
                 LDFLAGS=\"${CROSSLDFLAGS}\"                  LDFLAGS=\"${CROSSLDFLAGS}\" \
                   CROSSDIR=\"${CROSSDIR}\"
 CROSSADDPATH=:${CROSSDIR}/usr/${TARGET_CANON}/bin  CROSSADDPATH=:${CROSSDIR}/usr/${TARGET_CANON}/bin
 CROSSPATH=      /usr/bin:/bin:/usr/sbin:/sbin${CROSSADDPATH}  CROSSPATH=      /usr/bin:/bin:/usr/sbin:/sbin${CROSSADDPATH}
 CROSSLANGS?=    c c++  CROSSLANGS?=    c c++
Line 66 
Line 75 
 CROSSINCLUDES=  ${CROSSDIR}/.includes_done  CROSSINCLUDES=  ${CROSSDIR}/.includes_done
 CROSSBINUTILS=  ${CROSSDIR}/.binutils_done  CROSSBINUTILS=  ${CROSSDIR}/.binutils_done
 CROSSGCC=       ${CROSSDIR}/.gcc_done  CROSSGCC=       ${CROSSDIR}/.gcc_done
 #NO_CROSS=      isakmpd tn3270 keynote sectok ssh  #NO_CROSS=      isakmpd keynote ssh
   
   .include <bsd.own.mk>
   
   .for _arch in ${TARGET_ARCH}
   .if !empty(CLANG_ARCH:M${_arch})
   COMPILER_VERSION=clang
   BUILD_CLANG=yes
   CC=clang
   CXX=clang++
   .elif !empty(GCC3_ARCH:M${_arch})
   COMPILER_VERSION=gcc3
   CC=gcc
   CXX=g++
   .else
   COMPILER_VERSION=gcc4
   CC=gcc
   CXX=g++
   .endif
   
   .if !empty(LLD_ARCH:M${_arch})
   LINKER_VERSION=lld
   .else
   LINKER_VERSION=bfd
   .endif
   
   .if !empty(PIE_ARCH:M${_arch})
   NOPIE_FLAGS=-fno-pie
   NOPIE_LDFLAGS=-nopie
   PIE_DEFAULT=${DEFAULT_PIE_DEF}
   .else
   NOPIE_FLAGS=
   PIE_DEFAULT=
   .endif
   
   BINUTILS=       ar as gasp ld nm objcopy objdump ranlib readelf size \
                   strings strip
   BINUTILS_DIR=gnu/usr.bin/binutils-2.17
   .endfor
   
 # no libcrypto.... these won't build  # no libcrypto.... these won't build
 #NO_CROSS+=     dc login_krb5 login_krb5-or-pwd passwd ppp tcpdump telnet \  #NO_CROSS+=     dc passwd ppp tcpdump telnet ftp sasyncd vnconfig
 #               ftp gzsig sasyncd vnconfig  
   
 # need host setup for ydr  
 NO_CROSS+=afs  
 # explicit cross-compile  # explicit cross-compile
 NO_CROSS+=bind  
 NO_CROSS+=httpd  
 NO_CROSS+=microcode  NO_CROSS+=microcode
 NO_CROSS+=groff lynx binutils perl texinfo gcc cvs  NO_CROSS+=groff binutils binutils-2.17 perl texinfo gcc cvs
   NO_CROSS+=nsd
   NO_CROSS+=bind
   NO_CROSS+=unbound
   
 cross-dirs:     ${CROSSDIRS}  cross-dirs:     ${CROSSDIRS}
 cross-obj:      ${CROSSOBJ}  cross-obj:      ${CROSSOBJ}
Line 89 
Line 134 
 cross-env:  cross-env:
         @echo ${CROSSENV} MACHINE=${TARGET} \          @echo ${CROSSENV} MACHINE=${TARGET} \
             MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \              MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
               MACHINE_CPU=`cat ${CROSSDIR}/TARGET_CPU` \
             BSDOBJDIR=${CROSSDIR}/usr/obj \              BSDOBJDIR=${CROSSDIR}/usr/obj \
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET}              BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET}
   
 ${CROSSDIRS}:  ${CROSSDIRS}:
   .if ${TARGET_ARCH} == "arm" && ${MACHINE_IS_LP64} == "yes"
           # this config is allowed
   .elif ${TARGET_ARCH} == "powerpc" && ${MACHINE_IS_LP64} == "yes"
           # this config is allowed
   .elif ${TARGET_IS_LP64} != ${MACHINE_IS_LP64}
           @echo "host and target have different size longs"
           @echo "cross compiler generates bad code; aborting"; exit 1
   .endif
         @-mkdir -p ${CROSSDIR}          @-mkdir -p ${CROSSDIR}
         @echo ${TARGET_ARCH} > ${CROSSDIR}/TARGET_ARCH          @echo ${TARGET_ARCH} > ${CROSSDIR}/TARGET_ARCH
         @echo TARGET_ARCH is `cat ${CROSSDIR}/TARGET_ARCH`          @echo TARGET_ARCH is `cat ${CROSSDIR}/TARGET_ARCH`
           @echo ${TARGET_CPU} > ${CROSSDIR}/TARGET_CPU
           @echo TARGET_CPU is `cat ${CROSSDIR}/TARGET_CPU`
         @eval `grep '^osr=' sys/conf/newvers.sh`; \          @eval `grep '^osr=' sys/conf/newvers.sh`; \
            sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \             echo ${TARGET_ARCH}-unknown-openbsd$$osr > \
            ${CROSSDIR}/TARGET_CANON             ${CROSSDIR}/TARGET_CANON
         @-mkdir -p ${CROSSDIR}          @-mkdir -p ${CROSSDIR}
         @-mkdir -p ${CROSSDIR}/usr/${TARGET_CANON}          @-mkdir -p ${CROSSDIR}/usr/${TARGET_CANON}
Line 111 
Line 167 
   
 ${CROSSOBJ}:    ${CROSSDIRS}  ${CROSSOBJ}:    ${CROSSDIRS}
         @-mkdir -p ${CROSSDIR}/usr/obj          @-mkdir -p ${CROSSDIR}/usr/obj
           @-chgrp ${WOBJGROUP} ${CROSSDIR}/usr/obj
           @-chmod g+w ${CROSSDIR}/usr/obj
         @(cd ${.CURDIR} && \          @(cd ${.CURDIR} && \
             BSDOBJDIR=${CROSSDIR}/usr/obj \              BSDOBJDIR=${CROSSDIR}/usr/obj \
               COMPILER_VERSION=${COMPILER_VERSION} \
             MACHINE=${TARGET} \              MACHINE=${TARGET} \
             MACHINE_ARCH=${TARGET_ARCH} \              MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             ${MAKE} obj)              ${MAKE} obj)
         @touch ${CROSSOBJ}          @touch ${CROSSOBJ}
Line 122 
Line 181 
 ${CROSSINCLUDES}:       ${CROSSOBJ}  ${CROSSINCLUDES}:       ${CROSSOBJ}
         @-mkdir -p ${CROSSDIR}/usr/include          @-mkdir -p ${CROSSDIR}/usr/include
         @(cd ${.CURDIR}/include && \          @(cd ${.CURDIR}/include && \
             MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \              COMPILER_VERSION=${COMPILER_VERSION} \
               MACHINE=${TARGET} \
               MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             TARGET_ARCH=${TARGET_ARCH} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             ${MAKE} prereq && \              ${MAKE} prereq && \
             MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \              COMPILER_VERSION=${COMPILER_VERSION} \
               MACHINE=${TARGET} \
               MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             TARGET_ARCH=${TARGET_ARCH} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             ${MAKE} DESTDIR=${CROSSDIR} includes)              ${MAKE} DESTDIR=${CROSSDIR} includes)
         @touch ${CROSSINCLUDES}          @touch ${CROSSINCLUDES}
   
 .if (${TARGET_ARCH} == "m68k" || ${TARGET_ARCH} == "m88k" || \  
      ${TARGET_ARCH} == "vax")  
 BINUTILS=       ar as ld nm ranlib objcopy objdump strings strip  
 NEW_BINUTILS?=  No  
 .else  
 BINUTILS=       ar as gasp ld nm objcopy objdump ranlib readelf size \  
                 strings strip  
 NEW_BINUTILS?=  Yes  
 .endif  
   
 ${CROSSBINUTILS}:       ${CROSSINCLUDES}  ${CROSSBINUTILS}:       ${CROSSINCLUDES}
         (cd ${.CURDIR}/gnu/usr.bin/binutils; \          (cd ${.CURDIR}/${BINUTILS_DIR}; \
               env CROSSDIR=${CROSSDIR} \
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             USING_NEW_BINUTILS=${NEW_BINUTILS} \              PIE_DEFAULT=${PIE_DEFAULT} \
             TARGET_ARCH=${TARGET_ARCH} PATH=${CROSSPATH} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
               PATH=${CROSSPATH} \
             ${MAKE} -f Makefile.bsd-wrapper depend && \              ${MAKE} -f Makefile.bsd-wrapper depend && \
               env CROSSDIR=${CROSSDIR} \
               CC=${CC} CXX=${CXX} \
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             USING_NEW_BINUTILS=${NEW_BINUTILS} \              PIE_DEFAULT=${PIE_DEFAULT} \
             TARGET_ARCH=${TARGET_ARCH} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             ${MAKE} -f Makefile.bsd-wrapper all && \              ${MAKE} -f Makefile.bsd-wrapper all && \
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} \
             USING_NEW_BINUTILS=${NEW_BINUTILS} \              COMPILER_VERSION=${COMPILER_VERSION} \
             ${MAKE} -f Makefile.bsd-wrapper install)              LINKER_VERSION=${LINKER_VERSION} \
 .if ${NEW_BINUTILS:L} != "yes"  
         (cd ${.CURDIR}/gnu/usr.bin/gas; \  
             TARGET_MACHINE_ARCH=${TARGET_ARCH} \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} depend all; \  
             TARGET_MACHINE_ARCH=${TARGET_ARCH} \  
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} NOMAN= install)  
         ln -sf ${CROSSDIR}/usr/bin/as \  
             ${CROSSDIR}/usr/${TARGET_CANON}/bin/as  
         (cd ${.CURDIR}/gnu/usr.bin/ld; \  
             TARGET_MACHINE_ARCH=${TARGET_ARCH} \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             ${MAKE} NOPIC= NOMAN= depend all; \              PIE_DEFAULT=${PIE_DEFAULT} \
             TARGET_MACHINE_ARCH=${TARGET_ARCH} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              ${MAKE} -f Makefile.bsd-wrapper install)
             ${MAKE} NOPIC= NOMAN= install)  
         ln -sf ${CROSSDIR}/usr/bin/ld \  
             ${CROSSDIR}/usr/${TARGET_CANON}/bin/ld  
         (cd ${.CURDIR}/usr.bin/ar; \  
             ELF_TOOLCHAIN=no \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \  
             ELF_TOOLCHAIN=no \  
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} NOMAN= install)  
         ln -sf ${CROSSDIR}/usr/bin/ar \  
             ${CROSSDIR}/usr/${TARGET_CANON}/bin/ar  
         (cd ${.CURDIR}/usr.bin/ranlib; \  
             ELF_TOOLCHAIN=no \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \  
             ELF_TOOLCHAIN=no \  
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} NOMAN= install)  
         ln -sf ${CROSSDIR}/usr/bin/ranlib \  
             ${CROSSDIR}/usr/${TARGET_CANON}/bin/ranlib  
         (cd ${.CURDIR}/usr.bin/strip; \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} TARGET_MACHINE_ARCH=${TARGET_ARCH} \  
             NOMAN= depend all; \  
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} TARGET_MACHINE_ARCH=${TARGET_ARCH} \  
             NOMAN= install)  
         ln -sf ${CROSSDIR}/usr/bin/strip \  
             ${CROSSDIR}/usr/${TARGET_CANON}/bin/strip  
 .endif  
         @for cmd in ${BINUTILS}; do \          @for cmd in ${BINUTILS}; do \
          if [ -e ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd ] ; then \           if [ -e ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd ] ; then \
             cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd \              cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd \
Line 219 
Line 236 
         done          done
         @touch ${CROSSBINUTILS}          @touch ${CROSSBINUTILS}
   
 # bsd.own.mk can't do it for us  
 .if ${TARGET_ARCH} == "m68k" || ${TARGET_ARCH} == "m88k" || \  
     ${TARGET_ARCH} == "sparc" || ${TARGET_ARCH} == "vax"  
 TARGET_USE_GCC3=No  
 .else  
 TARGET_USE_GCC3=Yes  
 .endif  
   
 ${CROSSGCC}:            ${CROSSBINUTILS}  ${CROSSGCC}:            ${CROSSBINUTILS}
 .if ${TARGET_USE_GCC3:L} == "yes"  .if ${COMPILER_VERSION:L} == "clang"
           (cd ${.CURDIR}/gnu/usr.bin/clang; \
               CC=${CC} CXX=${CXX} \
               BSDOBJDIR=${CROSSDIR}/usr/obj \
               MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
               MACHINE_ARCH=${TARGET_ARCH} \
               ${MAKE} all)
           (cd ${.CURDIR}/gnu/usr.bin/clang; \
               DESTDIR=${CROSSDIR} \
               BSDOBJDIR=${CROSSDIR}/usr/obj \
               LINKER_VERSION=${LINKER_VERSION} \
               MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
               MACHINE_ARCH=${TARGET_ARCH} \
               ${MAKE} install)
           (cd ${.CURDIR}/gnu/usr.bin/clang; \
               BSDOBJDIR=${CROSSDIR}/usr/obj \
               MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
               MACHINE_ARCH=${TARGET_ARCH} \
               ${MAKE} clean)
           mv ${CROSSDIR}/usr/bin/clang ${CROSSDIR}/usr/bin/${TARGET_CANON}-clang
           mv ${CROSSDIR}/usr/bin/clang++ ${CROSSDIR}/usr/bin/${TARGET_CANON}-clang++
           cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-clang ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-clang
           ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc
           ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++
           @if [ -e ${CROSSDIR}/usr/bin/ld ]; then \
                   mv ${CROSSDIR}/usr/bin/ld ${CROSSDIR}/usr/bin/${TARGET_CANON}-ld ;\
                   cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-ld \
                       ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-ld ;\
                   ln -sf ${TARGET_CANON}-ld ${CROSSDIR}/usr/${TARGET_CANON}/bin/ld ;\
           fi
           echo "#!/bin/sh\n${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-clang --sysroot ${CROSSDIR} \"$$""@\"" > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc; \
           chmod +x ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc;
           echo "#!/bin/sh\n${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-clang --driver-mode=g++ --sysroot ${CROSSDIR} \"$$""@\"" > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++; \
           chmod +x ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++;
   .elif ${COMPILER_VERSION:L} == "gcc3"
         (cd ${.CURDIR}/gnu/usr.bin/gcc; \          (cd ${.CURDIR}/gnu/usr.bin/gcc; \
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             TARGET_ARCH=${TARGET_ARCH} CROSSDIR=${CROSSDIR} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
               CROSSDIR=${CROSSDIR} \
             PATH=${CROSSPATH} ${MAKE} -f Makefile.bsd-wrapper depend && \              PATH=${CROSSPATH} ${MAKE} -f Makefile.bsd-wrapper depend && \
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             TARGET_ARCH=${TARGET_ARCH} CROSSDIR=${CROSSDIR} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
               CROSSDIR=${CROSSDIR} \
               CC=${CC} CXX=${CXX} \
             ${MAKE} -f Makefile.bsd-wrapper all && \              ${MAKE} -f Makefile.bsd-wrapper all && \
             env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             PATH=${CROSSPATH} ${MAKE} -f Makefile.bsd-wrapper install)              PATH=${CROSSPATH} ${MAKE} -f Makefile.bsd-wrapper install)
         cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++          cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++
         cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc          cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc
         cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp          cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp
         rm -f ${CROSSDIR}/usr/bin/gcc  ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp          rm -f ${CROSSDIR}/usr/bin/gcc  ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp
         ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc          ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc
         ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++          ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++
         rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp          rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
         sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \          sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \
               -e 's/@GNUC@/-D__GNUC__/' \
             -e 's#/usr/include#${CROSSDIR}/usr/include#' \              -e 's#/usr/include#${CROSSDIR}/usr/include#' \
             -e 's/@dollaropt@//' \              -e 's/@dollaropt@//' \
             ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp              ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
         chmod ${BINMODE} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp          chmod ${BINMODE} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
         chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp          chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
         ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp          ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp
 .else  .else
         (cd ${CROSSDIR}/usr/obj/gnu/egcs/gcc; \          (cd ${.CURDIR}/gnu/usr.bin/cc; \
             /bin/sh ${.CURDIR}/gnu/egcs/gcc/configure \              env CROSSDIR=${CROSSDIR} \
             --with-gnu-as --with-gnu-ld --prefix ${CROSSDIR}/usr \              PIE_DEFAULT=${PIE_DEFAULT} \
             --target ${TARGET_CANON} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             --enable-languages="c,c++" --enable-cpp --disable-nls \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             --with-gxx-include-dir=${CROSSDIR}/usr/include/g++ && \              MACHINE=${TARGET} \
             PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" \              PATH=${CROSSPATH} ${MAKE} depend)
             CFLAGS="${CFLAGS} -I${.CURDIR}/gnu/lib/libiberty/include" \          (cd ${.CURDIR}/gnu/usr.bin/cc; \
             LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \              env CROSSDIR=${CROSSDIR} \
             DEMANGLER_PROG= DEMANGLE_H= LDFLAGS="${LDSTATIC}" build_infodir=. \              COMPILER_VERSION=${COMPILER_VERSION} \
             GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \              CC=${CC} CXX=${CXX} \
             ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" LDFLAGS="${LDSTATIC}" \              PIE_DEFAULT=${PIE_DEFAULT} \
             GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             CFLAGS="${CFLAGS} -I${.CURDIR}/gnu/lib/libiberty/include" \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \              MACHINE=${TARGET} \
             build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install)              ${MAKE} all)
         mv -f ${CROSSDIR}/usr/bin/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp          (cd ${.CURDIR}/gnu/usr.bin/cc; \
         rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp              env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} \
               COMPILER_VERSION=${COMPILER_VERSION} \
               PIE_DEFAULT=${PIE_DEFAULT} \
               MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
               TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
               MACHINE=${TARGET} \
               PATH=${CROSSPATH} ${MAKE} install)
           cp -f ${CROSSDIR}/usr/bin/g++  ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++
           cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++
           cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp
           cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc
           ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc
   
           cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc
           rm -f ${CROSSDIR}/usr/bin/gcc  ${CROSSDIR}/usr/bin/g++  ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp
           # fix links
           rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
         sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \          sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \
               -e 's/@GNUC@//' \
             -e 's#/usr/include#${CROSSDIR}/usr/include#' \              -e 's#/usr/include#${CROSSDIR}/usr/include#' \
             -e 's/@dollaropt@/-$$/' ${.CURDIR}/usr.bin/cpp/cpp.sh > \              -e 's/@dollaropt@//' \
             ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp              ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
         chmod ${BINMODE} \          chmod ${BINMODE} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
             ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp          chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
         chown ${BINOWN}:${BINGRP}\  
             ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp  
         ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp          ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp
         ln -sf gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc  
         ln -sf gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc  
         cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++  
         ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++  
 .endif  .endif
         @touch ${CROSSGCC}          @touch ${CROSSGCC}
   
 # XXX MAKEOBJDIR maybe should be obj.${TARGET} here, revisit later  # XXX MAKEOBJDIR maybe should be obj.${TARGET} here, revisit later
 cross-lib:      ${CROSSGCC}  cross-lib:      ${CROSSGCC}
         MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH}; \          MACHINE=${TARGET} \
         export MACHINE MACHINE_ARCH; \              MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \
               BSDOBJDIR=${CROSSDIR}/usr/obj; \
           export MACHINE MACHINE_ARCH MACHINE_CPU BSDOBJDIR; \
         (cd ${.CURDIR}/lib; \          (cd ${.CURDIR}/lib; \
             for lib in csu libc; do \              for lib in csu libcompiler_rt libc; do \
             (cd $$lib; \              (cd $$lib; \
                 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \                  eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                     ${MAKE} WANTLINT=no depend all ;\                      ${MAKE} depend all ;\
                 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \                  eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \
                     ${MAKE} WANTLINT=no install); \                      ${MAKE} install); \
             done; \              done; \
             eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                 SKIPDIR=\"${NO_CROSS} libocurses/PSD.doc\" \                  SKIPDIR=\"${NO_CROSS}\" \
                 ${MAKE} WANTLINT=no depend all ; \                  ${MAKE} depend all ; \
             eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \              eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \
                 SKIPDIR=\"${NO_CROSS} libocurses/PSD.doc\" \                  SKIPDIR=\"${NO_CROSS}\" \
                 ${MAKE} WANTLINT=no install)                  ${MAKE} install)
   
 cross-bin:      ${CROSSOBJ}  cross-bin:      ${CROSSOBJ}
         MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH}; \          MACHINE=${TARGET} \
         export MACHINE MACHINE_ARCH; \              MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \
           export MACHINE MACHINE_ARCH MACHINE_CPU; \
         for i in libexec bin sbin usr.bin usr.sbin; do \          for i in libexec bin sbin usr.bin usr.sbin; do \
         (cd ${.CURDIR}/$$i; \          (cd ${.CURDIR}/$$i; \
             eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
Line 320 
Line 382 
         done          done
   
 cross-gnu:      ${CROSSOBJ}  cross-gnu:      ${CROSSOBJ}
         MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH}; \          MACHINE=${TARGET} \
         export MACHINE MACHINE_ARCH; \              MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \
           export MACHINE MACHINE_ARCH MACHINE_CPU; \
         for i in gnu/lib gnu/usr.sbin gnu/usr.bin ; do \          for i in gnu/lib gnu/usr.sbin gnu/usr.bin ; do \
         (cd ${.CURDIR}/$$i; \          (cd ${.CURDIR}/$$i; \
             eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
Line 333 
Line 396 
         done          done
   
 cross-share:   ${CROSSOBJ}  cross-share:   ${CROSSOBJ}
         MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \          MACHINE=${TARGET} \
         export MACHINE MACHINE_ARCH; \              MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \
           export MACHINE MACHINE_ARCH MACHINE_CPU; \
         for i in share; do \          for i in share; do \
             (cd ${.CURDIR}/$$i; \              (cd ${.CURDIR}/$$i; \
                 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \                  eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                 SKIPDIR=\"${NO_CROSS}\" \                  SKIPDIR=\"${NO_CROSS}\" \
                   DESTDIR=${CROSSDIR} \
                 ${MAKE} depend all install); \                  ${MAKE} depend all install); \
         done          done
   
 cross-sys:   ${CROSSOBJ}  cross-sys:   ${CROSSOBJ}
         MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \          MACHINE=${TARGET} \
         export MACHINE MACHINE_ARCH; \              MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \
           export MACHINE MACHINE_ARCH MACHINE_CPU; \
         for i in sys; do \          for i in sys; do \
             (cd ${.CURDIR}/$$i; \              (cd ${.CURDIR}/$$i; \
                 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \                  eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                 SKIPDIR=\"${NO_CROSS}\" \                  SKIPDIR=\"${NO_CROSS}\" \
                 ${MAKE} depend all install); \                  ${MAKE} depend all); \
               (cd ${.CURDIR}/$$i; \
                   eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                   SKIPDIR=\"${NO_CROSS}\" \
                   DESTDIR=${CROSSDIR} \
                   ${MAKE} install); \
         done          done
   
 cross-etc-root-var:     ${CROSSOBJ}  cross-etc-root-var:     ${CROSSOBJ}
         (cd ${.CURDIR}/etc && \          (cd ${.CURDIR}/etc && \
             MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \              MACHINE=${TARGET} \
             DESTDIR=${CROSSDIR} ${MAKE} distribution-etc-root-var)              MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \
               DESTDIR=${CROSSDIR} \
               ${MAKE} distribution-etc-root-var)
   
 cross-depend:  cross-depend:
         @(cd ${.CURDIR} && \          @(cd ${.CURDIR} && \

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.104