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

Annotation of src/Makefile, Revision 1.32

1.32    ! niklas      1: #      $OpenBSD: Makefile,v 1.31 1998/05/14 21:43:02 niklas Exp $
1.1       deraadt     2:
1.16      deraadt     3: #
                      4: # For more information on building in tricky environments, please see
                      5: # the list of possible environment variables described in
                      6: # /usr/share/mk/bsd.README.
                      7: #
                      8: # Building recommendations:
                      9: #
                     10: # 1) If at all possible, put this source tree in /usr/src.  If /usr/src
                     11: # must be a symbolic link, setenv BSDSRCDIR to point to the real location.
                     12: #
                     13: # 2) It is also recommended that you compile with objects outside the
                     14: # source tree. To do this, ensure /usr/obj exists or points to some
                     15: # area of disk of sufficient size.  Then do "cd /usr/src; make obj".
                     16: # This will make a symbolic link called "obj" in each directory, as
                     17: # well as populate the /usr/obj properly with directories for the
                     18: # objects.
                     19: #
                     20: # 3) If you are reasonably sure that things will compile OK, use the
                     21: # "make build" target supplied here. Good luck.
                     22:
1.6       mickey     23: .include <bsd.own.mk>  # for NOMAN, if it's there.
1.1       deraadt    24:
                     25: SUBDIR+= lib include bin libexec sbin usr.bin usr.sbin share games
                     26: SUBDIR+= gnu
                     27:
1.5       tholo      28: SUBDIR+= sys lkm
1.1       deraadt    29:
1.17      millert    30: .if (${KERBEROS} == "yes")
1.2       tholo      31: SUBDIR+= kerberosIV
1.21      deraadt    32: .endif
                     33:
                     34: .if   make(clean) || make(cleandir) || make(obj)
                     35: SUBDIR+= distrib
1.4       tholo      36: .endif
1.2       tholo      37:
1.1       deraadt    38: .if exists(regress)
                     39: .ifmake !(install)
                     40: SUBDIR+= regress
                     41: .endif
                     42:
                     43: regression-tests:
                     44:        @echo Running regression tests...
                     45:        @(cd ${.CURDIR}/regress && ${MAKE} regress)
                     46: .endif
1.10      deraadt    47:
                     48: includes:
                     49:        (cd ${.CURDIR}/include; ${MAKE} includes)
1.1       deraadt    50:
1.7       deraadt    51: beforeinstall:
                     52: .ifndef DESTDIR
                     53:        (cd ${.CURDIR}/etc && ${MAKE} DESTDIR=/ distrib-dirs)
                     54: .else
                     55:        (cd ${.CURDIR}/etc && ${MAKE} distrib-dirs)
                     56: .endif
1.9       deraadt    57:        (cd ${.CURDIR}/include; ${MAKE} includes)
1.1       deraadt    58:
                     59: afterinstall:
                     60: .ifndef NOMAN
                     61:        (cd ${.CURDIR}/share/man && ${MAKE} makedb)
                     62: .endif
                     63:
                     64: build:
1.19      kstailey   65: .ifdef GLOBAL_AUTOCONF_CACHE
1.20      kstailey   66:        rm -f ${GLOBAL_AUTOCONF_CACHE}
1.18      kstailey   67: .endif
1.6       mickey     68:        (cd ${.CURDIR}/share/mk && ${MAKE} install)
1.8       deraadt    69:        (cd ${.CURDIR}/include; ${MAKE} includes)
1.1       deraadt    70:        ${MAKE} cleandir
                     71:        (cd ${.CURDIR}/lib && ${MAKE} depend && ${MAKE} && ${MAKE} install)
                     72:        (cd ${.CURDIR}/gnu/lib && ${MAKE} depend && ${MAKE} && ${MAKE} install)
1.13      deraadt    73: .if (${MACHINE_ARCH} == "mips")
1.14      briggs     74:        ldconfig
1.13      deraadt    75: .endif
1.17      millert    76: .if (${KERBEROS} == "yes")
1.2       tholo      77:        (cd ${.CURDIR}/kerberosIV && ${MAKE} build)
1.23      niklas     78: .endif
                     79: .if (${MACHINE_ARCH} == "mips")
                     80:        ldconfig
1.4       tholo      81: .endif
1.1       deraadt    82:        ${MAKE} depend && ${MAKE} && ${MAKE} install
1.15      niklas     83:
                     84: .if !defined(TARGET)
                     85: cross-tools:
                     86:        echo "TARGET must be set"; exit 1
                     87: .else
1.32    ! niklas     88: cross-tools:   cross-helpers cross-includes cross-binutils cross-gcc cross-lib
1.15      niklas     89:
                     90: CROSSDIR=      ${DESTDIR}/usr/cross/${TARGET}
1.32    ! niklas     91: CROSSENV=      AR=${CROSSDIR}/usr/bin/ar AS=${CROSSDIR}/usr/bin/as \
        !            92:                CC=${CROSSDIR}/usr/bin/cc CPP=${CROSSDIR}/usr/bin/cpp \
        !            93:                LD=${CROSSDIR}/usr/bin/ld NM=${CROSSDIR}/usr/bin/nm \
        !            94:                RANLIB=${CROSSDIR}/usr/bin/ranlib \
        !            95:                SIZE=${CROSSDIR}/usr/bin/size STRIP=${CROSSDIR}/usr/bin/strip \
        !            96:                HOSTCC=cc
1.15      niklas     97:
                     98: cross-helpers:
                     99:        -mkdir -p ${CROSSDIR}/usr/include
                    100:        echo _MACHINE_ARCH | \
                    101:            cat ${.CURDIR}/sys/arch/${TARGET}/include/param.h - | \
1.25      mickey    102:            ${CPP} -E -I${.CURDIR}/sys/arch | \
                    103:            sed -n '$$p' >${CROSSDIR}/TARGET_ARCH
1.15      niklas    104:        eval `grep '^osr=' sys/conf/newvers.sh`; \
                    105:           sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \
                    106:           ${CROSSDIR}/TARGET_CANON
                    107:
                    108: cross-includes:
1.32    ! niklas    109:        -mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/include
1.15      niklas    110:        ${MAKE} MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
                    111:            DESTDIR=${CROSSDIR} includes
1.32    ! niklas    112:        ln -sf ${CROSSDIR}/usr/include \
        !           113:            ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/include
1.15      niklas    114:
1.27      niklas    115: .if ${TARGET} == "powerpc" || ${TARGET} == "alpha" || ${TARGET} == "arc" || \
1.28      mickey    116:     ${TARGET} == "pmax" || ${TARGET} == "wgrisc" || ${TARGET} == "hppa"
1.27      niklas    117: cross-binutils: cross-binutils-new
                    118: .else
                    119: cross-binutils: cross-binutils-old
                    120: .endif
                    121:
                    122: cross-binutils-new:
1.15      niklas    123:        -mkdir -p ${CROSSDIR}/usr/obj
1.32    ! niklas    124:        -mkdir -p ${CROSSDIR}/usr/bin
1.15      niklas    125:        export BSDSRCDIR=`pwd`; \
                    126:            (cd ${.CURDIR}/gnu/usr.bin/binutils; \
                    127:            BSDOBJDIR=${CROSSDIR}/usr/obj \
                    128:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                    129:            ${MAKE} -f Makefile.bsd-wrapper obj); \
                    130:            (cd ${CROSSDIR}/usr/obj/gnu/usr.bin/binutils; \
1.25      mickey    131:            /bin/sh ${BSDSRCDIR}/gnu/usr.bin/binutils/configure \
1.15      niklas    132:            --prefix ${CROSSDIR}/usr \
                    133:            --target `cat ${CROSSDIR}/TARGET_CANON` && \
                    134:            ${MAKE} && ${MAKE} install)
                    135:        ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
                    136:            ${.CURDIR}/usr.bin/lorder/lorder.sh.gnm \
                    137:            ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-lorder
1.24      niklas    138:
1.29      niklas    139: cross-binutils-old: cross-gas cross-ar cross-ld cross-strip cross-size \
                    140:        cross-ranlib cross-nm
1.27      niklas    141:
1.24      niklas    142: cross-gas:
                    143:        -mkdir -p ${CROSSDIR}/usr/obj
                    144:        -mkdir -p ${CROSSDIR}/usr/bin
1.27      niklas    145:        -mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin
1.24      niklas    146:        (cd gnu/usr.bin/gas; \
                    147:            BSDOBJDIR=${CROSSDIR}/usr/obj \
                    148:            BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32    ! niklas    149:            ${MAKE} obj; \
1.24      niklas    150:            TARGET_MACHINE_ARCH=${TARGET} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32    ! niklas    151:            ${MAKE}; \
1.27      niklas    152:            TARGET_MACHINE_ARCH=${TARGET} \
                    153:            DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                    154:            ${MAKE} NOMAN= install)
                    155:        ln -sf ${CROSSDIR}/usr/bin/as \
                    156:            ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/as
                    157:
                    158: cross-ld:
                    159:        -mkdir -p ${CROSSDIR}/usr/obj
                    160:        -mkdir -p ${CROSSDIR}/usr/bin
                    161:        (cd gnu/usr.bin/ld; \
                    162:            BSDOBJDIR=${CROSSDIR}/usr/obj \
                    163:            BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32    ! niklas    164:            ${MAKE} obj; \
1.27      niklas    165:            TARGET_MACHINE_ARCH=${TARGET} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32    ! niklas    166:            ${MAKE} NOMAN=; \
1.27      niklas    167:            TARGET_MACHINE_ARCH=${TARGET} \
                    168:            DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                    169:            ${MAKE} NOMAN= install)
                    170:        ln -sf ${CROSSDIR}/usr/bin/ld \
                    171:            ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ld
                    172:
                    173: cross-ar:
                    174:        -mkdir -p ${CROSSDIR}/usr/obj
                    175:        -mkdir -p ${CROSSDIR}/usr/bin
                    176:        (cd usr.bin/ar; \
                    177:            BSDOBJDIR=${CROSSDIR}/usr/obj \
                    178:            BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32    ! niklas    179:            ${MAKE} obj; \
        !           180:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \
1.24      niklas    181:            DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                    182:            ${MAKE} NOMAN= install)
1.27      niklas    183:        ln -sf ${CROSSDIR}/usr/bin/ar \
                    184:            ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ar
1.29      niklas    185:
                    186: cross-ranlib:
                    187:        -mkdir -p ${CROSSDIR}/usr/obj
                    188:        -mkdir -p ${CROSSDIR}/usr/bin
                    189:        (cd usr.bin/ranlib; \
                    190:            BSDOBJDIR=${CROSSDIR}/usr/obj \
                    191:            BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32    ! niklas    192:            ${MAKE} obj; \
        !           193:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \
1.29      niklas    194:            DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                    195:            ${MAKE} NOMAN= install)
                    196:        ln -sf ${CROSSDIR}/usr/bin/ranlib \
                    197:            ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ranlib
                    198:
                    199: cross-strip:
                    200:        -mkdir -p ${CROSSDIR}/usr/obj
                    201:        -mkdir -p ${CROSSDIR}/usr/bin
                    202:        (cd usr.bin/strip; \
                    203:            BSDOBJDIR=${CROSSDIR}/usr/obj \
                    204:            BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32    ! niklas    205:            ${MAKE} obj; \
1.29      niklas    206:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32    ! niklas    207:            ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \
1.29      niklas    208:            DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                    209:            ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN= install)
                    210:        ln -sf ${CROSSDIR}/usr/bin/strip \
                    211:            ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/strip
                    212:
                    213: cross-size:
                    214:        -mkdir -p ${CROSSDIR}/usr/obj
                    215:        -mkdir -p ${CROSSDIR}/usr/bin
                    216:        (cd usr.bin/size; \
                    217:            BSDOBJDIR=${CROSSDIR}/usr/obj \
                    218:            BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32    ! niklas    219:            ${MAKE} obj; \
        !           220:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           221:            ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \
1.29      niklas    222:            DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                    223:            ${MAKE} NOMAN= install)
                    224:        ln -sf ${CROSSDIR}/usr/bin/size \
                    225:            ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/size
                    226:
                    227: cross-nm:
                    228:        -mkdir -p ${CROSSDIR}/usr/obj
                    229:        -mkdir -p ${CROSSDIR}/usr/bin
                    230:        (cd usr.bin/nm; \
                    231:            BSDOBJDIR=${CROSSDIR}/usr/obj \
                    232:            BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32    ! niklas    233:            ${MAKE} obj; \
        !           234:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           235:            ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \
1.29      niklas    236:            DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                    237:            ${MAKE} NOMAN= install)
                    238:        ln -sf ${CROSSDIR}/usr/bin/nm \
                    239:            ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/nm
1.15      niklas    240:
                    241: cross-gcc:
                    242:        -mkdir -p ${CROSSDIR}/usr/obj
1.32    ! niklas    243:        -mkdir -p ${CROSSDIR}/usr/bin
        !           244:        cd gnu/usr.bin/gcc; \
1.15      niklas    245:            BSDOBJDIR=${CROSSDIR}/usr/obj BSDSRCDIR=${.CURDIR} \
                    246:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32    ! niklas    247:            ${MAKE} -f Makefile.bsd-wrapper obj
1.15      niklas    248:        (cd ${CROSSDIR}/usr/obj/gnu/usr.bin/gcc; \
1.25      mickey    249:            /bin/sh ${.CURDIR}/gnu/usr.bin/gcc/configure \
1.15      niklas    250:            --prefix ${CROSSDIR}/usr \
                    251:            --target `cat ${CROSSDIR}/TARGET_CANON` && \
1.26      mickey    252:            ${MAKE} BISON=yacc LANGUAGES=c LDFLAGS=${LDSTATIC} \
1.32    ! niklas    253:            build_infodir=. \
1.15      niklas    254:            GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \
1.26      mickey    255:            ${MAKE} BISON=yacc LANGUAGES=c LDFLAGS=${LDSTATIC} \
1.32    ! niklas    256:            GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \
        !           257:            build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install)
1.31      niklas    258:        ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-gcc \
                    259:            ${CROSSDIR}/usr/bin/cc
                    260:        CPP=`${CROSSDIR}/usr/bin/cc -print-libgcc-file-name | \
                    261:            sed 's/libgcc\.a/cpp/'`; \
                    262:            sed -e 's#/usr/libexec/cpp#'$$CPP'#' \
                    263:            -e 's#/usr/include#${CROSSDIR}/usr/include#' usr.bin/cpp/cpp.sh \
                    264:            >${CROSSDIR}/usr/bin/cpp
                    265:        chmod ${BINMODE} ${CROSSDIR}/usr/bin/cpp
                    266:        chown ${BINOWN}.${BINGRP} ${CROSSDIR}/usr/bin/cpp
1.32    ! niklas    267:
        !           268: cross-lib:
        !           269:        -mkdir -p ${CROSSDIR}/usr/obj
        !           270:        -mkdir -p ${CROSSDIR}/usr/lib
        !           271:        -mkdir -p ${CROSSDIR}/var/db
        !           272:        MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \
        !           273:        export MACHINE MACHINE_ARCH; \
        !           274:        (cd lib; \
        !           275:            BSDOBJDIR=${CROSSDIR}/usr/obj \
        !           276:            BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           277:            ${MAKE} obj; \
        !           278:            for lib in csu libc; do \
        !           279:                (cd $$lib; \
        !           280:                    ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           281:                    ${MAKE} NOMAN=; \
        !           282:                    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
        !           283:                    ${MAKE} NOMAN= install); \
        !           284:            done; \
        !           285:            ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \
        !           286:            MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \
        !           287:            SKIPDIR=libocurses/PSD.doc ${MAKE} NOMAN= install)
        !           288:        ln -sf ${CROSSDIR}/usr/lib \
        !           289:            ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/lib
1.31      niklas    290:
1.15      niklas    291: .endif
1.1       deraadt   292:
                    293: .include <bsd.subdir.mk>