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

Diff for /src/Makefile between version 1.64 and 1.89

version 1.64, 2001/01/27 01:59:43 version 1.89, 2003/01/05 22:52:19
Line 4 
Line 4 
 # For more information on building in tricky environments, please see  # For more information on building in tricky environments, please see
 # the list of possible environment variables described in  # the list of possible environment variables described in
 # /usr/share/mk/bsd.README.  # /usr/share/mk/bsd.README.
 #  #
 # Building recommendations:  # Building recommendations:
 #  #
 # 1) If at all possible, put this source tree in /usr/src.  If /usr/src  # 1) If at all possible, put this source tree in /usr/src.  If /usr/src
 # must be a symbolic link, setenv BSDSRCDIR to point to the real location.  # must be a symbolic link, setenv BSDSRCDIR to point to the real location.
 #  #
Line 25 
Line 25 
 # "make build" target supplied here. Good luck.  # "make build" target supplied here. Good luck.
 #  #
 # 5) If you want to setup a cross-build environment, there is a "cross-tools"  # 5) If you want to setup a cross-build environment, there is a "cross-tools"
 # target available which upon completion of "make TARGET=<target> cross-tools"  # target available which upon completion of "make TARGET=<target> cross-tools"
 # (where <target> is one of the names in the /sys/arch directory) will produce  # (where <target> is one of the names in the /sys/arch directory) will produce
 # a set of compilation tools along with the includes in the /usr/cross/<target>  # a set of compilation tools along with the includes in the /usr/cross/<target>
 # directory.  # directory. The "cross-distrib" target will build cross-tools as well as
   # binaries for a given <target>.
 #  #
   
 .include <bsd.own.mk>   # for NOMAN, if it's there.  .include <bsd.own.mk>   # for NOMAN, if it's there.
Line 42 
Line 43 
 SUBDIR+= kerberosIV  SUBDIR+= kerberosIV
 .endif  .endif
   
 .if   make(clean) || make(cleandir) || make(obj)  .if (${KERBEROS5:L} == "yes")
 SUBDIR+= distrib  SUBDIR+= kerberosV
 .endif  .endif
   
 .if exists(regress)  .if   make(clean) || make(cleandir) || make(obj)
 .ifmake !(install)  SUBDIR+= distrib regress
 SUBDIR+= regress  
 .endif  .endif
   
   .if exists(regress)
 regression-tests:  regression-tests:
         @echo Running regression tests...          @echo Running regression tests...
         @(cd ${.CURDIR}/regress && ${MAKE} regress)          @cd ${.CURDIR}/regress && ${MAKE} depend && exec ${MAKE} regress
 .endif  .endif
   
 includes:  includes:
         (cd ${.CURDIR}/include; ${MAKE} prereq; ${MAKE} includes)          cd ${.CURDIR}/include && ${MAKE} prereq && exec ${SUDO} ${MAKE} includes
   
 beforeinstall:  beforeinstall:
 .ifndef DESTDIR          cd ${.CURDIR}/etc && exec ${MAKE} DESTDIR=${DESTDIR} distrib-dirs
         (cd ${.CURDIR}/etc && ${MAKE} DESTDIR= distrib-dirs)          cd ${.CURDIR}/include && exec ${MAKE} includes
 .else  
         (cd ${.CURDIR}/etc && ${MAKE} distrib-dirs)  
 .endif  
         (cd ${.CURDIR}/include; ${MAKE} includes)  
   
 afterinstall:  afterinstall:
 .ifndef NOMAN  .ifndef NOMAN
         (cd ${.CURDIR}/share/man && ${MAKE} makedb)          cd ${.CURDIR}/share/man && exec ${MAKE} makedb
 .endif  .endif
   
 build:  build:
 .ifdef GLOBAL_AUTOCONF_CACHE  .ifdef GLOBAL_AUTOCONF_CACHE
         cp /dev/null ${GLOBAL_AUTOCONF_CACHE}          cp /dev/null ${GLOBAL_AUTOCONF_CACHE}
 .endif  .endif
         (cd ${.CURDIR}/share/mk && ${SUDO} ${MAKE} install)          cd ${.CURDIR}/share/mk && exec ${SUDO} ${MAKE} install
         (cd ${.CURDIR}/include; ${MAKE} prereq; ${SUDO} ${MAKE} includes)          cd ${.CURDIR}/include && ${MAKE} prereq && exec ${SUDO} ${MAKE} includes
         ${SUDO} ${MAKE} cleandir          ${SUDO} ${MAKE} cleandir
         (cd ${.CURDIR}/lib && ${MAKE} depend && ${MAKE} && \          cd ${.CURDIR}/lib && ${MAKE} depend && ${MAKE} && \
             NOMAN=1 ${SUDO} ${MAKE} install)              NOMAN=1 exec ${SUDO} ${MAKE} install
         (cd ${.CURDIR}/gnu/lib && ${MAKE} depend && ${MAKE} && \          cd ${.CURDIR}/gnu/lib && ${MAKE} depend && ${MAKE} && \
             NOMAN=1 ${SUDO} ${MAKE} install)              NOMAN=1 exec ${SUDO} ${MAKE} install
 .if (${KERBEROS:L} == "yes")  .if (${KERBEROS:L} == "yes")
         (cd ${.CURDIR}/kerberosIV/lib && ${MAKE} depend && ${MAKE} && \          cd ${.CURDIR}/kerberosIV/lib && ${MAKE} depend && ${MAKE} && \
             NOMAN=1 ${SUDO} ${MAKE} install)              NOMAN=1 exec ${SUDO} ${MAKE} install
 .endif  .endif
         (cd ${.CURDIR}/gnu/usr.bin/perl && \  .if (${KERBEROS5:L} == "yes")
           cd ${.CURDIR}/kerberosV/lib && ${MAKE} depend && ${MAKE} && \
               NOMAN=1 exec ${SUDO} ${MAKE} install
   .endif
           cd ${.CURDIR}/gnu/usr.bin/perl && \
             ${MAKE} -f Makefile.bsd-wrapper depend && \              ${MAKE} -f Makefile.bsd-wrapper depend && \
             ${MAKE} -f Makefile.bsd-wrapper perl.lib && \              ${MAKE} -f Makefile.bsd-wrapper perl.lib && \
             ${SUDO} ${MAKE} -f Makefile.bsd-wrapper install.lib)              exec ${SUDO} ${MAKE} -f Makefile.bsd-wrapper install.lib
 .if (${MACHINE_ARCH} == "mips")          ${MAKE} depend && ${MAKE} && exec ${SUDO} ${MAKE} install
         ldconfig -R  
 .endif  
         ${MAKE} depend && ${MAKE} && ${SUDO} ${MAKE} install  
   
 .if !defined(TARGET)  .if !defined(TARGET)
 cross-tools:  cross-tools cross-distrib:
         echo "TARGET must be set"; exit 1          echo "TARGET must be set"; exit 1
 .else  .else
 cross-tools:    cross-helpers cross-dirs cross-includes cross-binutils \  cross-tools:    cross-includes cross-binutils cross-gcc cross-lib
         cross-gcc cross-lib  cross-distrib:  cross-tools cross-bin cross-etc-root-var
   
   CROSSCPPFLAGS?= -nostdinc -I${CROSSDIR}/usr/include
   CROSSLDFLAGS?=  -nostdlib -L${CROSSDIR}/usr/lib -static
   CROSSCFLAGS?=   ${CROSSCPPFLAGS}
   CROSSCXXFLAGS?= ${CROSSCPPFLAGS}
   LDSTATIC?=      -static
   
 CROSSDIR=       ${DESTDIR}/usr/cross/${TARGET}  CROSSDIR=       ${DESTDIR}/usr/cross/${TARGET}
 CROSSENV=       AR=${CROSSDIR}/usr/bin/ar AS=${CROSSDIR}/usr/bin/as \  CROSSENV=       AR=${CROSSDIR}/usr/bin/ar AS=${CROSSDIR}/usr/bin/as \
                 CC=${CROSSDIR}/usr/bin/cc CPP=${CROSSDIR}/usr/bin/cpp \                  CC=${CROSSDIR}/usr/bin/cc CPP=${CROSSDIR}/usr/bin/cpp \
                   CXX=${CROSSDIR}/usr/bin/c++ \
                 LD=${CROSSDIR}/usr/bin/ld NM=${CROSSDIR}/usr/bin/nm \                  LD=${CROSSDIR}/usr/bin/ld NM=${CROSSDIR}/usr/bin/nm \
                 LORDER=${CROSSDIR}/usr/bin/lorder \                  LORDER=/usr/bin/lorder RANLIB=${CROSSDIR}/usr/bin/ranlib \
                 RANLIB=${CROSSDIR}/usr/bin/ranlib \  
                 SIZE=${CROSSDIR}/usr/bin/size STRIP=${CROSSDIR}/usr/bin/strip \                  SIZE=${CROSSDIR}/usr/bin/size STRIP=${CROSSDIR}/usr/bin/strip \
                 HOSTCC=cc                  HOSTCC=\"${CC}\" HOSTCXX=\"${CXX}\" NOMAN= DESTDIR=${CROSSDIR} \
                   HOSTCFLAGS=\"${CFLAGS}\" HOSTCXXFLAGS=\"${CXXFLAGS}\" \
                   HOSTLDFLAGS=\"${LDFLAGS} \" \
                   CFLAGS=\"${CROSSCFLAGS}\" CPPFLAGS=\"${CROSSCPPFLAGS}\" \
                   CXXFLAGS=\"${CROSSCXXFLAGS}\" \
                   LDFLAGS=\"${CROSSLDFLAGS}\"
 CROSSPATH=      ${PATH}:${CROSSDIR}/usr/bin  CROSSPATH=      ${PATH}:${CROSSDIR}/usr/bin
   CROSSLANGS?=    c c++
   
 cross-helpers:  CROSSDIRS=      ${CROSSDIR}/.dirs_done
         mkdir -p ${CROSSDIR}  CROSSOBJ=       ${CROSSDIR}/usr/obj/.obj_done
         echo _MACHINE_ARCH | \  CROSSINCLUDES=  ${CROSSDIR}/usr/include/.includes_done
             cat ${.CURDIR}/sys/arch/${TARGET}/include/param.h - | \  CROSSBINUTILS=  ${CROSSDIR}/usr/bin/.binutils_done
             ${CPP} -E -I${.CURDIR}/sys/arch | \  CROSSGCC=       ${CROSSDIR}/usr/bin/.gcc_done
             sed -n '$$p' >${CROSSDIR}/TARGET_ARCH  NO_CROSS=       isakmpd tn3270 less sudo openssl libkeynote libssl \
 # GROSS KLUDGE  MACHINE_ARCH is mips, but we use mipsel for gnu tools.                  photurisd keynote sectok ssh
 .if ${TARGET} == "arc" || ${TARGET} == "pmax"  
         eval `grep '^osr=' sys/conf/newvers.sh`; \  cross-dirs:     ${CROSSDIRS}
            sed "s/\$$/el-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \  cross-obj:      ${CROSSOBJ}
            ${CROSSDIR}/TARGET_CANON  cross-includes: ${CROSSINCLUDES}
 .else  cross-binutils: ${CROSSBINUTILS}
         eval `grep '^osr=' sys/conf/newvers.sh`; \  cross-gcc:      ${CROSSGCC}
   
   cross-env:      .PHONY
           @echo ${CROSSENV} MACHINE=${TARGET} \
               MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`
   
   ${CROSSDIRS}:
           @-mkdir -p ${CROSSDIR}
           @case ${TARGET} in \
                   sparc|i386|m68k|alpha|hppa|powerpc|sparc64|m88k|vax) \
                           echo ${TARGET} ;;\
                   amiga|sun3|mac68k|hp300|mvme68k) \
                           echo m68k ;;\
                   mvme88k) \
                           echo m88k ;;\
                   mvmeppc|macppc) \
                           echo powerpc ;;\
                   sgi) \
                           echo mips ;;\
                   *) \
                           (echo Unknown arch ${TARGET} >&2) ; exit 1;; \
           esac > ${CROSSDIR}/TARGET_ARCH
           @echo TARGET_ARCH is `cat ${CROSSDIR}/TARGET_ARCH`
           @eval `grep '^osr=' sys/conf/newvers.sh`; \
            sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \             sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \
            ${CROSSDIR}/TARGET_CANON             ${CROSSDIR}/TARGET_CANON
 .endif  
   
 cross-dirs:     ${CROSSDIR}/stamp.dirs  
         @-mkdir -p ${CROSSDIR}          @-mkdir -p ${CROSSDIR}
         @-mkdir -p ${CROSSDIR}/usr/obj  
         @-mkdir -p ${CROSSDIR}/usr/bin  
         @-mkdir -p ${CROSSDIR}/usr/include  
         @-mkdir -p ${CROSSDIR}/usr/include/kerberosIV  
         @-mkdir -p ${CROSSDIR}/usr/lib  
         @-mkdir -p ${CROSSDIR}/usr/libexec  
         @-mkdir -p ${CROSSDIR}/var/db  
         @-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`          @-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`
         @ln -sf ${CROSSDIR}/usr/include \          @ln -sf ${CROSSDIR}/usr/include \
                 ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/include              ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/include
         @ln -sf ${CROSSDIR}/usr/lib \          @ln -sf ${CROSSDIR}/usr/lib \
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/lib              ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/lib
         @-mkdir -p ${CROSSDIR}/usr/obj  
         @-mkdir -p ${CROSSDIR}/usr/bin  
         @-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin          @-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin
           @(cd ${.CURDIR}/etc && DESTDIR=${CROSSDIR} ${MAKE} distrib-dirs)
           @touch ${CROSSDIRS}
   
 ${CROSSDIR}/stamp.dirs:  ${CROSSOBJ}:    ${CROSSDIRS}
         @touch ${CROSSDIR}/stamp.dirs          @-mkdir -p ${CROSSDIR}/usr/obj
           @(cd ${.CURDIR} && \
               BSDOBJDIR=${CROSSDIR}/usr/obj \
               MACHINE=${TARGET} \
               MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
               BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
               ${MAKE} obj)
           @touch ${CROSSOBJ}
   
 cross-includes: cross-dirs  ${CROSSINCLUDES}:       ${CROSSOBJ}
         cd include; \          @-mkdir -p ${CROSSDIR}/usr/include
           @(cd ${.CURDIR}/include && \
             MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \              MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
             ${MAKE} prereq && \              ${MAKE} prereq && \
             MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \              MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
             ${MAKE} DESTDIR=${CROSSDIR} includes              ${MAKE} DESTDIR=${CROSSDIR} includes)
           @touch ${CROSSINCLUDES}
   
 .if ${TARGET} == "powerpc" || ${TARGET} == "alpha" || ${TARGET} == "arc" || \  .if ${TARGET} == "alpha" || ${TARGET} == "hppa" || ${TARGET} == "macppc" || \
     ${TARGET} == "pmax" || ${TARGET} == "wgrisc" || ${TARGET} == "hppa"      ${TARGET} == "mvmeppc" || ${TARGET} == "sgi" || ${TARGET} == "sparc" || \
 cross-binutils: cross-binutils-new      ${TARGET} == "sparc64"
   BINUTILS=       ar as gasp ld nm objcopy objdump ranlib readelf size \
                   strings strip
   NEW_BINUTILS?=  Yes
 .else  .else
 cross-binutils: cross-binutils-old  BINUTILS=       ar as ld nm ranlib objcopy objdump size strings strip
   NEW_BINUTILS?=  No
 .endif  .endif
   
 cross-binutils-new:     cross-dirs  ${CROSSBINUTILS}:       ${CROSSINCLUDES}
         export BSDSRCDIR=`pwd`; \  .if ${NEW_BINUTILS:L} == "yes"
             (cd ${.CURDIR}/gnu/usr.bin/binutils; \          export BSDSRCDIR=${.CURDIR}; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} -f Makefile.bsd-wrapper obj); \  
             (cd ${CROSSDIR}/usr/obj/gnu/usr.bin/binutils; \              (cd ${CROSSDIR}/usr/obj/gnu/usr.bin/binutils; \
             /bin/sh ${BSDSRCDIR}/gnu/usr.bin/binutils/configure \              /bin/sh ${BSDSRCDIR}/gnu/usr.bin/binutils/configure \
             --prefix ${CROSSDIR}/usr \              --prefix ${CROSSDIR}/usr \
             --disable-nls --disable-gdbtk --disable-commonbfdlib \              --disable-nls --disable-gdbtk --disable-commonbfdlib \
             --target `cat ${CROSSDIR}/TARGET_CANON` && \              --target `cat ${CROSSDIR}/TARGET_CANON` && \
             ${MAKE} CFLAGS=${CFLAGS} && ${MAKE} install && \              ${MAKE} CFLAGS="${CFLAGS}" && ${MAKE} install )
         ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \  .else
             ${.CURDIR}/usr.bin/lorder/lorder.sh \  
             ${CROSSDIR}/usr/bin/lorder  
   
 cross-binutils-old: cross-gas cross-ar cross-ld cross-strip cross-size \  
         cross-ranlib cross-nm  
         for cmd in ar as ld nm ranlib size strip; do \  
             ln -sf $$cmd \  
             ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd; done  
   
 cross-gas:      cross-dirs  
         (cd ${.CURDIR}/gnu/usr.bin/gas; \          (cd ${.CURDIR}/gnu/usr.bin/gas; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \              TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
             ${MAKE} obj; \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} depend all; \
             TARGET_MACHINE_ARCH=${TARGET} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
             ${MAKE}; \              MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
             TARGET_MACHINE_ARCH=${TARGET} \  
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             ${MAKE} NOMAN= install)              ${MAKE} NOMAN= install)
         ln -sf ${CROSSDIR}/usr/bin/as \          ln -sf ${CROSSDIR}/usr/bin/as \
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/as              ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/as
   
 cross-ld:       cross-dirs  
         (cd ${.CURDIR}/gnu/usr.bin/ld; \          (cd ${.CURDIR}/gnu/usr.bin/ld; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \              TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
             ${MAKE} obj; \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             TARGET_MACHINE_ARCH=${TARGET} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              ${MAKE} NOPIC= NOMAN= depend all; \
             ${MAKE} NOMAN=; \              TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
             TARGET_MACHINE_ARCH=${TARGET} \              MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             ${MAKE} NOMAN= install)              ${MAKE} NOPIC= NOMAN= install)
         ln -sf ${CROSSDIR}/usr/bin/ld \          ln -sf ${CROSSDIR}/usr/bin/ld \
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ld              ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ld
   
 cross-ar:       cross-dirs  
         (cd ${.CURDIR}/usr.bin/ar; \          (cd ${.CURDIR}/usr.bin/ar; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} obj; \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \  
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             ${MAKE} NOMAN= install)              ${MAKE} NOMAN= install)
         ln -sf ${CROSSDIR}/usr/bin/ar \          ln -sf ${CROSSDIR}/usr/bin/ar \
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ar              ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ar
   
 cross-ranlib:   cross-dirs  
         (cd ${.CURDIR}/usr.bin/ranlib; \          (cd ${.CURDIR}/usr.bin/ranlib; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} obj; \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \  
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             ${MAKE} NOMAN= install)              ${MAKE} NOMAN= install)
         ln -sf ${CROSSDIR}/usr/bin/ranlib \          ln -sf ${CROSSDIR}/usr/bin/ranlib \
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ranlib              ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ranlib
   
 cross-strip:    cross-dirs  
         (cd ${.CURDIR}/usr.bin/strip; \          (cd ${.CURDIR}/usr.bin/strip; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \  
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} obj; \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \              ${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
               MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
               NOMAN= depend all; \
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN= install)              ${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
               MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
               NOMAN= install)
         ln -sf ${CROSSDIR}/usr/bin/strip \          ln -sf ${CROSSDIR}/usr/bin/strip \
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/strip              ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/strip
   
 cross-size:     cross-dirs  
         (cd ${.CURDIR}/usr.bin/size; \          (cd ${.CURDIR}/usr.bin/size; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \  
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} obj; \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \              ${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
               MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
               NOMAN= depend all; \
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             ${MAKE} NOMAN= install)              ${MAKE} NOMAN= install)
         ln -sf ${CROSSDIR}/usr/bin/size \          ln -sf ${CROSSDIR}/usr/bin/size \
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/size              ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/size
   
 cross-nm:       cross-dirs  
         (cd ${.CURDIR}/usr.bin/nm; \          (cd ${.CURDIR}/usr.bin/nm; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \  
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} obj; \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \              ${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
               MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
               NOMAN= depend all; \
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             ${MAKE} NOMAN= install)              ${MAKE} NOMAN= install)
         ln -sf ${CROSSDIR}/usr/bin/nm \          ln -sf ${CROSSDIR}/usr/bin/nm \
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/nm              ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/nm
   .endif
           @for cmd in ${BINUTILS}; do \
            if [ ! -e ${CROSSDIR}/usr/bin/$$cmd -a \
            -e ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd ]; then \
               ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd \
                   ${CROSSDIR}/usr/bin/$$cmd ;\
            elif [ -e ${CROSSDIR}/usr/bin/$$cmd -a \
            ! -e ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd ]; then \
               ln -sf ${CROSSDIR}/usr/bin/$$cmd \
                   ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd; \
            fi ;\
           done
           @touch ${CROSSBINUTILS}
   
 cross-gcc:      cross-dirs  ${CROSSGCC}:            ${CROSSBINUTILS}
         cd ${.CURDIR}/gnu/egcs/gcc; \  
             BSDOBJDIR=${CROSSDIR}/usr/obj BSDSRCDIR=${.CURDIR} \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} -f Makefile.bsd-wrapper obj  
         (cd ${CROSSDIR}/usr/obj/gnu/egcs/gcc; \          (cd ${CROSSDIR}/usr/obj/gnu/egcs/gcc; \
             /bin/sh ${.CURDIR}/gnu/egcs/gcc/configure \              /bin/sh ${.CURDIR}/gnu/egcs/gcc/configure \
             --prefix ${CROSSDIR}/usr \              --prefix ${CROSSDIR}/usr \
             --target `cat ${CROSSDIR}/TARGET_CANON` && \              --target `cat ${CROSSDIR}/TARGET_CANON` \
             PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES=c \              --with-gxx-include-dir=${CROSSDIR}/usr/include/g++ && \
             LDFLAGS=${LDSTATIC} build_infodir=. \              PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" \
               LDFLAGS="${LDSTATIC}" build_infodir=. \
             GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \              GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \
             ${MAKE} BISON=yacc LANGUAGES=c LDFLAGS=${LDSTATIC} \              ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" LDFLAGS="${LDSTATIC}" \
             GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \              GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \
             build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install)              build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install)
         ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-gcc \          ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-gcc \
             ${CROSSDIR}/usr/bin/cc              ${CROSSDIR}/usr/bin/cc
           ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-g++ \
               ${CROSSDIR}/usr/bin/c++
         ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \          ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
             ${CROSSDIR}/usr/obj/gnu/egcs/gcc/xcpp \              ${CROSSDIR}/usr/obj/gnu/egcs/gcc/cpp \
             ${CROSSDIR}/usr/libexec/cpp              ${CROSSDIR}/usr/libexec/cpp
         sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/libexec/cpp#' \          sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/libexec/cpp#' \
             -e 's#/usr/include#${CROSSDIR}/usr/include#' \              -e 's#/usr/include#${CROSSDIR}/usr/include#' \
             ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/bin/cpp              ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/bin/cpp
         chmod ${BINMODE} ${CROSSDIR}/usr/bin/cpp          chmod ${BINMODE} ${CROSSDIR}/usr/bin/cpp
         chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/bin/cpp          chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/bin/cpp
           @touch ${CROSSGCC}
   
 # XXX MAKEOBJDIR maybe should be obj.${TARGET} here, revisit later  # XXX MAKEOBJDIR maybe should be obj.${TARGET} here, revisit later
 cross-lib:      cross-dirs  cross-lib:      ${CROSSGCC}
         MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \          MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \
         export MACHINE MACHINE_ARCH; \          export MACHINE MACHINE_ARCH; \
         (cd ${.CURDIR}/lib; \          (cd ${.CURDIR}/lib; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \  
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} obj; \  
             for lib in csu libc; do \              for lib in csu libc; do \
                 (cd $$lib; \              (cd $$lib; \
                     ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \                  ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                     ${MAKE} NOMAN= depend; \                      ${MAKE} depend all install); \
                     ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
                     ${MAKE} NOMAN=; \  
                     ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
                     DESTDIR=${CROSSDIR} ${MAKE} NOMAN= install); \  
             done; \              done; \
             ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             ${MAKE} NOMAN= depend; \                  SKIPDIR="${NO_CROSS} libocurses/PSD.doc" \
             ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \                  ${MAKE} depend all install)
             ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             DESTDIR=${CROSSDIR} SKIPDIR=libocurses/PSD.doc \  
             ${MAKE} NOMAN= install)  
 .if (${KERBEROS:L} == "yes")  .if (${KERBEROS:L} == "yes")
         MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \          MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \
         export MACHINE MACHINE_ARCH; \          export MACHINE MACHINE_ARCH; \
         cd kerberosIV/lib; \          cd kerberosIV/lib; \
         BSDOBJDIR=${CROSSDIR}/usr/obj BSDSRCDIR=${.CURDIR} \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} obj; \  
         ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \          ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             ${MAKE} NOMAN= depend; \              ${MAKE} depend all install
         ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \  
         ${CROSSENV} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} NOMAN= install  
 .endif  .endif
   .if (${KERBEROS5:L} == "yes")
           MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \
           export MACHINE MACHINE_ARCH; \
           cd kerberosV/lib; \
           ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
               ${MAKE} depend all install
 .endif  .endif
   
   cross-bin:      ${CROSSOBJ}
           MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \
           export MACHINE MACHINE_ARCH; \
           for i in libexec bin sbin usr.bin usr.sbin; do \
           (cd ${.CURDIR}/$$i; \
               ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                   SKIPDIR="${BINUTILS} ${NO_CROSS}" \
                   ${MAKE} depend all install); \
           done
   
   cross-etc-root-var:     ${CROSSOBJ}
           (cd ${.CURDIR}/etc && \
               DESTDIR=${CROSSDIR} ${MAKE} distribution-etc-root-var)
   
   cross-depend:   .PHONY
           @(cd ${.CURDIR} && \
               BSDOBJDIR=${CROSSDIR}/usr/obj \
               BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
               SKIPDIR="${NO_CROSS}" \
               ${MAKE} depend)
   
   cross-clean:    .PHONY
           @(cd ${.CURDIR} && \
               BSDOBJDIR=${CROSSDIR}/usr/obj \
               BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
               SKIPDIR="${NO_CROSS}" \
               ${MAKE} clean)
   
   cross-cleandir: .PHONY
           @(cd ${.CURDIR} && \
               BSDOBJDIR=${CROSSDIR}/usr/obj \
               BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
               SKIPDIR="${NO_CROSS}" \
               ${MAKE} cleandir)
   
   .endif # defined(TARGET)
   
 .include <bsd.subdir.mk>  .include <bsd.subdir.mk>

Legend:
Removed from v.1.64  
changed lines
  Added in v.1.89