version 1.1, 2005/01/09 20:36:20 |
version 1.2, 2005/01/10 17:47:15 |
|
|
CROSSPATH= ${PATH}:${CROSSDIR}/usr/bin |
CROSSPATH= ${PATH}:${CROSSDIR}/usr/bin |
CROSSLANGS?= c c++ |
CROSSLANGS?= c c++ |
|
|
|
TARGET_CANON=`cat ${CROSSDIR}/TARGET_CANON` |
|
TARGET_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` |
|
|
CROSSDIRS= ${CROSSDIR}/.dirs_done |
CROSSDIRS= ${CROSSDIR}/.dirs_done |
CROSSOBJ= ${CROSSDIR}/usr/obj/.obj_done |
CROSSOBJ= ${CROSSDIR}/usr/obj/.obj_done |
CROSSINCLUDES= ${CROSSDIR}/usr/include/.includes_done |
CROSSINCLUDES= ${CROSSDIR}/usr/include/.includes_done |
|
|
NO_CROSS= isakmpd tn3270 less sudo openssl libkeynote libssl \ |
NO_CROSS= isakmpd tn3270 less sudo openssl libkeynote libssl \ |
photurisd keynote sectok ssh |
photurisd keynote sectok ssh |
|
|
|
# no libcrypto.... these won't build |
|
NO_CROSS+= telnetd login_krb5 login_krb5-or-pwd dc passwd telnet ppp \ |
|
tcpdump |
|
# need host setup for ydr |
|
NO_CROSS+=afs |
|
# explicit cross-compile |
|
NO_CROSS+=bind |
|
|
cross-dirs: ${CROSSDIRS} |
cross-dirs: ${CROSSDIRS} |
cross-obj: ${CROSSOBJ} |
cross-obj: ${CROSSOBJ} |
cross-includes: ${CROSSINCLUDES} |
cross-includes: ${CROSSINCLUDES} |
|
|
sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \ |
sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \ |
${CROSSDIR}/TARGET_CANON |
${CROSSDIR}/TARGET_CANON |
@-mkdir -p ${CROSSDIR} |
@-mkdir -p ${CROSSDIR} |
@-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON` |
@-mkdir -p ${CROSSDIR}/usr/${TARGET_CANON} |
@ln -sf ${CROSSDIR}/usr/include \ |
@ln -sf ${CROSSDIR}/usr/include \ |
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/include |
${CROSSDIR}/usr/${TARGET_CANON}/include |
@ln -sf ${CROSSDIR}/usr/lib \ |
@ln -sf ${CROSSDIR}/usr/lib \ |
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/lib |
${CROSSDIR}/usr/${TARGET_CANON}/lib |
@-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin |
@-mkdir -p ${CROSSDIR}/usr/${TARGET_CANON}/bin |
@(cd ${.CURDIR}/etc && DESTDIR=${CROSSDIR} ${MAKE} distrib-dirs) |
@(cd ${.CURDIR}/etc && DESTDIR=${CROSSDIR} ${MAKE} distrib-dirs) |
@touch ${CROSSDIRS} |
@touch ${CROSSDIRS} |
|
|
|
|
@(cd ${.CURDIR} && \ |
@(cd ${.CURDIR} && \ |
BSDOBJDIR=${CROSSDIR}/usr/obj \ |
BSDOBJDIR=${CROSSDIR}/usr/obj \ |
MACHINE=${TARGET} \ |
MACHINE=${TARGET} \ |
MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
MACHINE_ARCH=${TARGET_ARCH} \ |
BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} obj) |
${MAKE} obj) |
@touch ${CROSSOBJ} |
@touch ${CROSSOBJ} |
|
|
${CROSSINCLUDES}: ${CROSSOBJ} |
${CROSSINCLUDES}: ${CROSSOBJ} |
@-mkdir -p ${CROSSDIR}/usr/include |
@-mkdir -p ${CROSSDIR}/usr/include |
@(cd ${.CURDIR}/include && \ |
@(cd ${.CURDIR}/include && \ |
MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} prereq && \ |
${MAKE} prereq && \ |
MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} DESTDIR=${CROSSDIR} includes) |
${MAKE} DESTDIR=${CROSSDIR} includes) |
@touch ${CROSSINCLUDES} |
@touch ${CROSSINCLUDES} |
|
|
.if ${NEW_BINUTILS:L} == "yes" |
.if ${NEW_BINUTILS:L} == "yes" |
(cd ${.CURDIR}/gnu/usr.bin/binutils; \ |
(cd ${.CURDIR}/gnu/usr.bin/binutils; \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
TARGET_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
TARGET_ARCH=${TARGET_ARCH} \ |
${MAKE} -f Makefile.bsd-wrapper depend && \ |
${MAKE} -f Makefile.bsd-wrapper depend && \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
TARGET_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
TARGET_ARCH=${TARGET_ARCH} \ |
${MAKE} -f Makefile.bsd-wrapper all && \ |
${MAKE} -f Makefile.bsd-wrapper all && \ |
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} -f Makefile.bsd-wrapper install) |
${MAKE} -f Makefile.bsd-wrapper install) |
.else |
.else |
(cd ${.CURDIR}/gnu/usr.bin/gas; \ |
(cd ${.CURDIR}/gnu/usr.bin/gas; \ |
TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
TARGET_MACHINE_ARCH=${TARGET_ARCH} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} depend all; \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} depend all; \ |
TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
TARGET_MACHINE_ARCH=${TARGET_ARCH} \ |
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/${TARGET_ARCH}/bin/as |
(cd ${.CURDIR}/gnu/usr.bin/ld; \ |
(cd ${.CURDIR}/gnu/usr.bin/ld; \ |
TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
TARGET_MACHINE_ARCH=${TARGET_ARCH} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} NOPIC= NOMAN= depend all; \ |
${MAKE} NOPIC= NOMAN= depend all; \ |
TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
TARGET_MACHINE_ARCH=${TARGET_ARCH} \ |
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} NOPIC= 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/${TARGET_CANON}/bin/ld |
(cd ${.CURDIR}/usr.bin/ar; \ |
(cd ${.CURDIR}/usr.bin/ar; \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} 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/ar \ |
ln -sf ${CROSSDIR}/usr/bin/ar \ |
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ar |
${CROSSDIR}/usr/${TARGET_CANON}/bin/ar |
(cd ${.CURDIR}/usr.bin/ranlib; \ |
(cd ${.CURDIR}/usr.bin/ranlib; \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} 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/ranlib \ |
ln -sf ${CROSSDIR}/usr/bin/ranlib \ |
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ranlib |
${CROSSDIR}/usr/${TARGET_CANON}/bin/ranlib |
(cd ${.CURDIR}/usr.bin/strip; \ |
(cd ${.CURDIR}/usr.bin/strip; \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
${MAKE} TARGET_MACHINE_ARCH=${TARGET_ARCH} \ |
NOMAN= depend all; \ |
NOMAN= depend all; \ |
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
${MAKE} TARGET_MACHINE_ARCH=${TARGET_ARCH} \ |
NOMAN= install) |
NOMAN= install) |
ln -sf ${CROSSDIR}/usr/bin/strip \ |
ln -sf ${CROSSDIR}/usr/bin/strip \ |
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/strip |
${CROSSDIR}/usr/${TARGET_CANON}/bin/strip |
.endif |
.endif |
@for cmd in ${BINUTILS}; do \ |
@for cmd in ${BINUTILS}; do \ |
if [ ! -e ${CROSSDIR}/usr/bin/$$cmd -a \ |
if [ ! -e ${CROSSDIR}/usr/bin/$$cmd -a \ |
-e ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd ]; then \ |
-e ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd ]; then \ |
ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd \ |
ln -sf ${TARGET_CANON}-$$cmd ${CROSSDIR}/usr/bin/$$cmd ;\ |
${CROSSDIR}/usr/bin/$$cmd ;\ |
|
elif [ -e ${CROSSDIR}/usr/bin/$$cmd -a \ |
elif [ -e ${CROSSDIR}/usr/bin/$$cmd -a \ |
! -e ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd ]; then \ |
! -e ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd ]; then \ |
ln -sf ${CROSSDIR}/usr/bin/$$cmd \ |
ln -sf $$cmd ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd; \ |
${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd; \ |
|
fi ;\ |
fi ;\ |
if [ -e ${CROSSDIR}/usr/bin/$$cmd -a \ |
if [ -e ${CROSSDIR}/usr/bin/$$cmd -a \ |
! -e ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/$$cmd ]; then \ |
! -e ${CROSSDIR}/usr/${TARGET_CANON}/bin/$$cmd ]; then \ |
ln -sf ${CROSSDIR}/usr/bin/$$cmd \ |
ln -sf ${CROSSDIR}/usr/bin/$$cmd \ |
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/$$cmd; \ |
${CROSSDIR}/usr/${TARGET_CANON}/bin/$$cmd; \ |
fi ;\ |
fi ;\ |
done |
done |
@touch ${CROSSBINUTILS} |
@touch ${CROSSBINUTILS} |
|
|
.if ${USE_GCC3:L} == "yes" |
.if ${USE_GCC3:L} == "yes" |
(cd ${.CURDIR}/gnu/usr.bin/gcc; \ |
(cd ${.CURDIR}/gnu/usr.bin/gcc; \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
TARGET_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` CROSSDIR=${CROSSDIR} \ |
TARGET_ARCH=${TARGET_ARCH} CROSSDIR=${CROSSDIR} \ |
${MAKE} -f Makefile.bsd-wrapper depend && \ |
${MAKE} -f Makefile.bsd-wrapper depend && \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
TARGET_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` CROSSDIR=${CROSSDIR} \ |
TARGET_ARCH=${TARGET_ARCH} CROSSDIR=${CROSSDIR} \ |
${MAKE} -f Makefile.bsd-wrapper all && \ |
${MAKE} -f Makefile.bsd-wrapper all && \ |
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} -f Makefile.bsd-wrapper install) |
${MAKE} -f Makefile.bsd-wrapper install) |
ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-g++ \ |
ln -sf ${TARGET_CANON}-g++ ${CROSSDIR}/usr/bin/c++ |
${CROSSDIR}/usr/bin/c++ |
|
ln -sf ${CROSSDIR}/usr/libexec/cpp \ |
ln -sf ${CROSSDIR}/usr/libexec/cpp \ |
${CROSSDIR}/usr/bin/cpp |
${CROSSDIR}/usr/bin/cpp |
.else |
.else |
(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 \ |
--with-gnu-as --with-gnu-ld --prefix ${CROSSDIR}/usr \ |
--with-gnu-as --with-gnu-ld --prefix ${CROSSDIR}/usr \ |
--target `cat ${CROSSDIR}/TARGET_CANON` \ |
--target ${TARGET_CANON} \ |
--enable-languages="c,c++" --enable-cpp --disable-nls \ |
--enable-languages="c,c++" --enable-cpp --disable-nls \ |
--with-gxx-include-dir=${CROSSDIR}/usr/include/g++ && \ |
--with-gxx-include-dir=${CROSSDIR}/usr/include/g++ && \ |
PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" \ |
PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" \ |
|
|
CFLAGS="${CFLAGS} -I${.CURDIR}/gnu/lib/libiberty/include" \ |
CFLAGS="${CFLAGS} -I${.CURDIR}/gnu/lib/libiberty/include" \ |
LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \ |
LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/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 ${TARGET_CANON}-gcc ${CROSSDIR}/usr/bin/cc |
${CROSSDIR}/usr/bin/cc |
ln -sf ${TARGET_CANON}-g++ ${CROSSDIR}/usr/bin/c++ |
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/cpp \ |
${CROSSDIR}/usr/obj/gnu/egcs/gcc/cpp \ |
${CROSSDIR}/usr/libexec/cpp |
${CROSSDIR}/usr/libexec/cpp |
|
|
|
|
# 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=`cat ${CROSSDIR}/TARGET_ARCH`; \ |
MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH}; \ |
export MACHINE MACHINE_ARCH; \ |
export MACHINE MACHINE_ARCH; \ |
(cd ${.CURDIR}/lib; \ |
(cd ${.CURDIR}/lib; \ |
for lib in csu libc; do \ |
for lib in csu libc; do \ |
|
|
${MAKE} depend all install) |
${MAKE} depend all install) |
|
|
cross-bin: ${CROSSOBJ} |
cross-bin: ${CROSSOBJ} |
MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \ |
MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH}; \ |
export MACHINE MACHINE_ARCH; \ |
export MACHINE MACHINE_ARCH; \ |
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; \ |