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

Annotation of src/Makefile.cross, Revision 1.1

1.1     ! espie       1: # $OpenBSD$
        !             2:
        !             3: cross-tools:   cross-includes cross-binutils cross-gcc cross-lib
        !             4: cross-distrib: cross-tools cross-bin cross-etc-root-var
        !             5:
        !             6: CROSSCPPFLAGS?=        -nostdinc -I${CROSSDIR}/usr/include
        !             7: CROSSLDFLAGS?= -nostdlib -L${CROSSDIR}/usr/lib -static
        !             8: CROSSCFLAGS?=  ${CROSSCPPFLAGS}
        !             9: CROSSCXXFLAGS?=        ${CROSSCPPFLAGS}
        !            10: LDSTATIC?=     -static
        !            11:
        !            12: CROSSDIR=      ${DESTDIR}/usr/cross/${TARGET}
        !            13: CROSSENV=      AR=${CROSSDIR}/usr/bin/ar AS=${CROSSDIR}/usr/bin/as \
        !            14:                CC=${CROSSDIR}/usr/bin/cc CPP=${CROSSDIR}/usr/bin/cpp \
        !            15:                CXX=${CROSSDIR}/usr/bin/c++ \
        !            16:                LD=${CROSSDIR}/usr/bin/ld NM=${CROSSDIR}/usr/bin/nm \
        !            17:                LORDER=/usr/bin/lorder RANLIB=${CROSSDIR}/usr/bin/ranlib \
        !            18:                SIZE=${CROSSDIR}/usr/bin/size STRIP=${CROSSDIR}/usr/bin/strip \
        !            19:                HOSTCC=\"${CC}\" HOSTCXX=\"${CXX}\" NOMAN= DESTDIR=${CROSSDIR} \
        !            20:                HOSTCFLAGS=\"${CFLAGS}\" HOSTCXXFLAGS=\"${CXXFLAGS}\" \
        !            21:                HOSTLDFLAGS=\"${LDFLAGS} \" \
        !            22:                CFLAGS=\"${CROSSCFLAGS}\" CPPFLAGS=\"${CROSSCPPFLAGS}\" \
        !            23:                CXXFLAGS=\"${CROSSCXXFLAGS}\" \
        !            24:                LDFLAGS=\"${CROSSLDFLAGS}\"
        !            25: CROSSPATH=     ${PATH}:${CROSSDIR}/usr/bin
        !            26: CROSSLANGS?=   c c++
        !            27:
        !            28: CROSSDIRS=     ${CROSSDIR}/.dirs_done
        !            29: CROSSOBJ=      ${CROSSDIR}/usr/obj/.obj_done
        !            30: CROSSINCLUDES= ${CROSSDIR}/usr/include/.includes_done
        !            31: CROSSBINUTILS= ${CROSSDIR}/usr/bin/.binutils_done
        !            32: CROSSGCC=      ${CROSSDIR}/usr/bin/.gcc_done
        !            33: NO_CROSS=      isakmpd tn3270 less sudo openssl libkeynote libssl \
        !            34:                photurisd keynote sectok ssh
        !            35:
        !            36: cross-dirs:    ${CROSSDIRS}
        !            37: cross-obj:     ${CROSSOBJ}
        !            38: cross-includes:        ${CROSSINCLUDES}
        !            39: cross-binutils:        ${CROSSBINUTILS}
        !            40: cross-gcc:     ${CROSSGCC}
        !            41:
        !            42: cross-env:
        !            43:        @echo ${CROSSENV} MACHINE=${TARGET} \
        !            44:            MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`
        !            45:
        !            46: ${CROSSDIRS}:
        !            47:        @-mkdir -p ${CROSSDIR}
        !            48:        @case ${TARGET} in \
        !            49:                alpha|amd64|hppa|hppa64|i386|m68k|m88k|powerpc|sparc|sparc64|vax) \
        !            50:                        echo ${TARGET} ;;\
        !            51:                amiga|hp300|mac68k|mvme68k) \
        !            52:                        echo m68k ;;\
        !            53:                luna88k|mvme88k) \
        !            54:                        echo m88k ;;\
        !            55:                macppc|mvmeppc) \
        !            56:                        echo powerpc ;;\
        !            57:                sgi) \
        !            58:                        echo mips64 ;;\
        !            59:                *) \
        !            60:                        (echo Unknown arch ${TARGET} >&2) ; exit 1;; \
        !            61:        esac > ${CROSSDIR}/TARGET_ARCH
        !            62:        @echo TARGET_ARCH is `cat ${CROSSDIR}/TARGET_ARCH`
        !            63:        @eval `grep '^osr=' sys/conf/newvers.sh`; \
        !            64:           sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \
        !            65:           ${CROSSDIR}/TARGET_CANON
        !            66:        @-mkdir -p ${CROSSDIR}
        !            67:        @-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`
        !            68:        @ln -sf ${CROSSDIR}/usr/include \
        !            69:            ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/include
        !            70:        @ln -sf ${CROSSDIR}/usr/lib \
        !            71:            ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/lib
        !            72:        @-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin
        !            73:        @(cd ${.CURDIR}/etc && DESTDIR=${CROSSDIR} ${MAKE} distrib-dirs)
        !            74:        @touch ${CROSSDIRS}
        !            75:
        !            76: ${CROSSOBJ}:   ${CROSSDIRS}
        !            77:        @-mkdir -p ${CROSSDIR}/usr/obj
        !            78:        @(cd ${.CURDIR} && \
        !            79:            BSDOBJDIR=${CROSSDIR}/usr/obj \
        !            80:            MACHINE=${TARGET} \
        !            81:            MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
        !            82:            BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !            83:            ${MAKE} obj)
        !            84:        @touch ${CROSSOBJ}
        !            85:
        !            86: ${CROSSINCLUDES}:      ${CROSSOBJ}
        !            87:        @-mkdir -p ${CROSSDIR}/usr/include
        !            88:        @(cd ${.CURDIR}/include && \
        !            89:            MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
        !            90:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !            91:            ${MAKE} prereq && \
        !            92:            MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
        !            93:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !            94:            ${MAKE} DESTDIR=${CROSSDIR} includes)
        !            95:        @touch ${CROSSINCLUDES}
        !            96:
        !            97: .if ${MACHINE_ARCH} == "m68k" || ${MACHINE_ARCH} == "m88k" || \
        !            98:     ${MACHINE_ARCH} == "vax"
        !            99: BINUTILS=      ar as ld nm ranlib objcopy objdump strings strip
        !           100: NEW_BINUTILS?= No
        !           101: .else
        !           102: BINUTILS=      ar as gasp ld nm objcopy objdump ranlib readelf size \
        !           103:                strings strip
        !           104: NEW_BINUTILS?= Yes
        !           105: .endif
        !           106:
        !           107: ${CROSSBINUTILS}:      ${CROSSINCLUDES}
        !           108: .if ${NEW_BINUTILS:L} == "yes"
        !           109:        (cd ${.CURDIR}/gnu/usr.bin/binutils; \
        !           110:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           111:            TARGET_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
        !           112:            ${MAKE} -f Makefile.bsd-wrapper depend && \
        !           113:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           114:            TARGET_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
        !           115:            ${MAKE} -f Makefile.bsd-wrapper all && \
        !           116:            DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           117:            ${MAKE} -f Makefile.bsd-wrapper install)
        !           118: .else
        !           119:        (cd ${.CURDIR}/gnu/usr.bin/gas; \
        !           120:            TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
        !           121:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} depend all; \
        !           122:            TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
        !           123:            DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           124:            ${MAKE} NOMAN= install)
        !           125:        ln -sf ${CROSSDIR}/usr/bin/as \
        !           126:            ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/as
        !           127:        (cd ${.CURDIR}/gnu/usr.bin/ld; \
        !           128:            TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
        !           129:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           130:            ${MAKE} NOPIC= NOMAN= depend all; \
        !           131:            TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
        !           132:            DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           133:            ${MAKE} NOPIC= NOMAN= install)
        !           134:        ln -sf ${CROSSDIR}/usr/bin/ld \
        !           135:            ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ld
        !           136:        (cd ${.CURDIR}/usr.bin/ar; \
        !           137:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \
        !           138:            DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           139:            ${MAKE} NOMAN= install)
        !           140:        ln -sf ${CROSSDIR}/usr/bin/ar \
        !           141:            ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ar
        !           142:        (cd ${.CURDIR}/usr.bin/ranlib; \
        !           143:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \
        !           144:            DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           145:            ${MAKE} NOMAN= install)
        !           146:        ln -sf ${CROSSDIR}/usr/bin/ranlib \
        !           147:            ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ranlib
        !           148:        (cd ${.CURDIR}/usr.bin/strip; \
        !           149:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           150:            ${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
        !           151:            NOMAN= depend all; \
        !           152:            DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           153:            ${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
        !           154:            NOMAN= install)
        !           155:        ln -sf ${CROSSDIR}/usr/bin/strip \
        !           156:            ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/strip
        !           157: .endif
        !           158:        @for cmd in ${BINUTILS}; do \
        !           159:         if [ ! -e ${CROSSDIR}/usr/bin/$$cmd -a \
        !           160:         -e ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd ]; then \
        !           161:            ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd \
        !           162:                ${CROSSDIR}/usr/bin/$$cmd ;\
        !           163:         elif [ -e ${CROSSDIR}/usr/bin/$$cmd -a \
        !           164:         ! -e ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd ]; then \
        !           165:            ln -sf ${CROSSDIR}/usr/bin/$$cmd \
        !           166:                ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd; \
        !           167:         fi ;\
        !           168:         if [ -e ${CROSSDIR}/usr/bin/$$cmd -a \
        !           169:         ! -e ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/$$cmd ]; then \
        !           170:            ln -sf ${CROSSDIR}/usr/bin/$$cmd \
        !           171:                ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/$$cmd; \
        !           172:         fi ;\
        !           173:        done
        !           174:        @touch ${CROSSBINUTILS}
        !           175:
        !           176: # bsd.own.mk can't do it for us
        !           177: .if ${TARGET} == "amd64" || ${TARGET} == "cats" || \
        !           178:     ${TARGET} == "hppa" || ${TARGET} == "hppa64" || \
        !           179:     ${TARGET} == "i386" || \
        !           180:     ${TARGET} == "sparc64" || ${TARGET} == "sgi"
        !           181: USE_GCC3=yes
        !           182: .else
        !           183: USE_GCC3=no
        !           184: .endif
        !           185:
        !           186: ${CROSSGCC}:           ${CROSSBINUTILS}
        !           187: .if ${USE_GCC3:L} == "yes"
        !           188:        (cd ${.CURDIR}/gnu/usr.bin/gcc; \
        !           189:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           190:            TARGET_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` CROSSDIR=${CROSSDIR} \
        !           191:            ${MAKE} -f Makefile.bsd-wrapper depend && \
        !           192:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           193:            TARGET_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` CROSSDIR=${CROSSDIR} \
        !           194:            ${MAKE} -f Makefile.bsd-wrapper all && \
        !           195:            DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           196:            ${MAKE} -f Makefile.bsd-wrapper install)
        !           197:        ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-g++ \
        !           198:            ${CROSSDIR}/usr/bin/c++
        !           199:        ln -sf ${CROSSDIR}/usr/libexec/cpp \
        !           200:            ${CROSSDIR}/usr/bin/cpp
        !           201: .else
        !           202:        (cd ${CROSSDIR}/usr/obj/gnu/egcs/gcc; \
        !           203:            /bin/sh ${.CURDIR}/gnu/egcs/gcc/configure \
        !           204:            --with-gnu-as --with-gnu-ld --prefix ${CROSSDIR}/usr \
        !           205:            --target `cat ${CROSSDIR}/TARGET_CANON` \
        !           206:            --enable-languages="c,c++" --enable-cpp --disable-nls \
        !           207:            --with-gxx-include-dir=${CROSSDIR}/usr/include/g++ && \
        !           208:            PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" \
        !           209:            CFLAGS="${CFLAGS} -I${.CURDIR}/gnu/lib/libiberty/include" \
        !           210:            LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \
        !           211:            DEMANGLER_PROG= DEMANGLE_H= LDFLAGS="${LDSTATIC}" build_infodir=. \
        !           212:            GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \
        !           213:            ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" LDFLAGS="${LDSTATIC}" \
        !           214:            GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \
        !           215:            CFLAGS="${CFLAGS} -I${.CURDIR}/gnu/lib/libiberty/include" \
        !           216:            LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \
        !           217:            build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install)
        !           218:        ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-gcc \
        !           219:            ${CROSSDIR}/usr/bin/cc
        !           220:        ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-g++ \
        !           221:            ${CROSSDIR}/usr/bin/c++
        !           222:        ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
        !           223:            ${CROSSDIR}/usr/obj/gnu/egcs/gcc/cpp \
        !           224:            ${CROSSDIR}/usr/libexec/cpp
        !           225:        sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/libexec/cpp#' \
        !           226:            -e 's#/usr/include#${CROSSDIR}/usr/include#' \
        !           227:            ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/bin/cpp
        !           228:        chmod ${BINMODE} ${CROSSDIR}/usr/bin/cpp
        !           229:        chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/bin/cpp
        !           230: .endif
        !           231:        @touch ${CROSSGCC}
        !           232:
        !           233: # XXX MAKEOBJDIR maybe should be obj.${TARGET} here, revisit later
        !           234: cross-lib:     ${CROSSGCC}
        !           235:        MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \
        !           236:        export MACHINE MACHINE_ARCH; \
        !           237:        (cd ${.CURDIR}/lib; \
        !           238:            for lib in csu libc; do \
        !           239:            (cd $$lib; \
        !           240:                eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           241:                    ${MAKE} depend all install); \
        !           242:            done; \
        !           243:            eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           244:                SKIPDIR=\"${NO_CROSS} libocurses/PSD.doc\" \
        !           245:                ${MAKE} depend all install)
        !           246:
        !           247: cross-bin:     ${CROSSOBJ}
        !           248:        MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \
        !           249:        export MACHINE MACHINE_ARCH; \
        !           250:        for i in libexec bin sbin usr.bin usr.sbin; do \
        !           251:        (cd ${.CURDIR}/$$i; \
        !           252:            eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           253:                SKIPDIR=\"${BINUTILS} ${NO_CROSS}\" \
        !           254:                ${MAKE} depend all install); \
        !           255:        done
        !           256:
        !           257: cross-etc-root-var:    ${CROSSOBJ}
        !           258:        (cd ${.CURDIR}/etc && \
        !           259:            DESTDIR=${CROSSDIR} ${MAKE} distribution-etc-root-var)
        !           260:
        !           261: cross-depend:
        !           262:        @(cd ${.CURDIR} && \
        !           263:            BSDOBJDIR=${CROSSDIR}/usr/obj \
        !           264:            BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           265:            SKIPDIR="${NO_CROSS}" \
        !           266:            ${MAKE} depend)
        !           267:
        !           268: cross-clean:
        !           269:        @(cd ${.CURDIR} && \
        !           270:            BSDOBJDIR=${CROSSDIR}/usr/obj \
        !           271:            BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           272:            SKIPDIR="${NO_CROSS}" \
        !           273:            ${MAKE} clean)
        !           274:
        !           275: cross-cleandir:
        !           276:        @(cd ${.CURDIR} && \
        !           277:            BSDOBJDIR=${CROSSDIR}/usr/obj \
        !           278:            BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           279:            SKIPDIR="${NO_CROSS}" \
        !           280:            ${MAKE} cleandir)
        !           281: