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

Diff for /src/Makefile.cross between version 1.32 and 1.93

version 1.32, 2010/07/09 17:36:08 version 1.93, 2017/03/21 10:41:33
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} == "beagle" || \  .if     (${TARGET} == "arm64")
          ${TARGET} == "gumstix" || ${TARGET} == "palm" || \  TARGET_ARCH=    aarch64
          ${TARGET} == "zaurus")  .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} == "loongson")  .elif   (${TARGET} == "loongson")
 TARGET_ARCH=    mips64el  TARGET_ARCH=    mips64el
 TARGET_CPU=     mips64  TARGET_CPU=     mips64
 .elif   (${TARGET} == "solbourne")  .elif   (${TARGET} == "macppc" || ${TARGET} == "socppc")
 TARGET_ARCH=    sparc  
 .elif   (${TARGET} == "macppc" || ${TARGET} == "mvmeppc" || \  
          ${TARGET} == "socppc")  
 TARGET_ARCH=    powerpc  TARGET_ARCH=    powerpc
 .elif   (${TARGET} == "landisk")  .elif   (${TARGET} == "landisk")
 TARGET_ARCH=    sh  TARGET_ARCH=    sh
Line 33 
Line 26 
 .endif  .endif
 TARGET_CPU?=    ${TARGET_ARCH}  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 59 
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 71 
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
   
 # bsd.own.mk can't do it for us  .include <bsd.own.mk>
 .if ${TARGET_ARCH} == "m68k" || ${TARGET_ARCH} == "m88k" || \  
     ${TARGET_ARCH} == "sparc" || ${TARGET_ARCH} == "vax"  .for _arch in ${TARGET_ARCH}
 TARGET_USE_GCC3=No  .if !empty(CLANG_ARCH:M${_arch})
 COMPILER_VERSION=gcc2  COMPILER_VERSION=clang
 .elif ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "sparc64"  .elif !empty(GCC3_ARCH:M${_arch})
 TARGET_USE_GCC4=Yes  COMPILER_VERSION=gcc3
   .else
 COMPILER_VERSION=gcc4  COMPILER_VERSION=gcc4
   .endif
   
   .if !empty(PIE_ARCH:M${_arch})
   NOPIE_FLAGS=-fno-pie
   NOPIE_LDFLAGS=-nopie
   PIE_DEFAULT=${DEFAULT_PIE_DEF}
 .else  .else
 TARGET_USE_GCC3=Yes  NOPIE_FLAGS=
 COMPILER_VERSION=gcc3  PIE_DEFAULT=
 .endif  .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 112 
Line 126 
             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_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`
Line 132 
Line 152 
   
 ${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} \              COMPILER_VERSION=${COMPILER_VERSION} \
Line 158 
Line 180 
             ${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} TARGET_CPU=${TARGET_CPU} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             PATH=${CROSSPATH} \              PATH=${CROSSPATH} \
             ${MAKE} -f Makefile.bsd-wrapper depend && \              ${MAKE} -f Makefile.bsd-wrapper depend && \
               env CROSSDIR=${CROSSDIR} \
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             USING_NEW_BINUTILS=${NEW_BINUTILS} \              PIE_DEFAULT=${PIE_DEFAULT} \
             TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \              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} \
             COMPILER_VERSION=${COMPILER_VERSION} \              COMPILER_VERSION=${COMPILER_VERSION} \
             USING_NEW_BINUTILS=${NEW_BINUTILS} \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             USING_NEW_BINUTILS=${NEW_BINUTILS} \              PIE_DEFAULT=${PIE_DEFAULT} \
             TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             ${MAKE} -f Makefile.bsd-wrapper install)              ${MAKE} -f Makefile.bsd-wrapper install)
 .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} \  
             ${MAKE} NOPIC= NOMAN= depend all; \  
             TARGET_MACHINE_ARCH=${TARGET_ARCH} \  
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${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 252 
Line 221 
   
   
 ${CROSSGCC}:            ${CROSSBINUTILS}  ${CROSSGCC}:            ${CROSSBINUTILS}
 .if ${COMPILER_VERSION:L} == "gcc4"  .if ${COMPILER_VERSION:L} == "clang"
         (cd ${.CURDIR}/gnu/usr.bin/cc; \          (cd ${.CURDIR}/gnu/usr.bin/clang; \
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \              MACHINE_ARCH=${TARGET_ARCH} \
             CROSSDIR=${CROSSDIR} \              ${MAKE} obj)
             MACHINE=${TARGET} \          (cd ${.CURDIR}/gnu/usr.bin/clang; \
             PATH=${CROSSPATH} ${MAKE} depend  )  
         (cd ${.CURDIR}/gnu/usr.bin/cc; \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \              MACHINE_ARCH=${TARGET_ARCH} \
             CROSSDIR=${CROSSDIR} \              ${MAKE} depend)
             MACHINE=${TARGET} \          (cd ${.CURDIR}/gnu/usr.bin/clang; \
             ${MAKE} all )              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
         (cd ${.CURDIR}/gnu/usr.bin/cc; \              MACHINE_ARCH=${TARGET_ARCH} \
             env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              ${MAKE} all)
             TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \          (cd ${.CURDIR}/gnu/usr.bin/clang; \
             MACHINE=${TARGET} \              DESTDIR=${CROSSDIR} \
             PATH=${CROSSPATH} ${MAKE} install)              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
         cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++              MACHINE_ARCH=${TARGET_ARCH} \
         cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp              ${MAKE} install)
         rm -f ${CROSSDIR}/usr/bin/gcc  ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp          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}-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          echo "#!/bin/sh\n${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-clang --sysroot ${CROSSDIR} \"$$""@\"" > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc; \
         sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \          chmod +x ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc;
             -e 's/@GNUC@//' \          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++; \
             -e 's#/usr/include#${CROSSDIR}/usr/include#' \          chmod +x ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++;
             -e 's/@dollaropt@//' \  
             ${.CURDIR}/usr.bin/cpp/cpp.sh > ${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  
         ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp  
 .elif ${COMPILER_VERSION:L} == "gcc3"  .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} \
Line 312 
Line 276 
         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=. \              PIE_DEFAULT=${PIE_DEFAULT} \
             GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" LDFLAGS="${LDSTATIC}" \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \              MACHINE=${TARGET} \
             CFLAGS="${CFLAGS} -I${.CURDIR}/gnu/lib/libiberty/include" \              ${MAKE} all )
             LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \          (cd ${.CURDIR}/gnu/usr.bin/cc; \
             build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install)              env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} \
         mv -f ${CROSSDIR}/usr/bin/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp              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          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/@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=${TARGET} \
             MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \              MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \
         export MACHINE MACHINE_ARCH MACHINE_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 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=${TARGET} \
Line 403 
Line 375 
             (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
   
Line 414 
Line 387 
             (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
   

Legend:
Removed from v.1.32  
changed lines
  Added in v.1.93