#!/bin/sh # # Build mingw win32 binutils for multiple targets # armin 12 dec 2004 # VER="2.15" LOG="/usr/src/mkbinutils.log" CC="gcc -mno-cygwin" INSTDIR="/tmp/binutils" export CC log () { if [ "$1" = " " ]; then echo >> ${LOG} else D=`date +'%F %H:%M:%S:'` echo "${D} $1" >> ${LOG} fi } # powerpc-darwin does not work ? TARGETS="i386-linux i386-freebsd i386-go32 i386-netbsd i386-solaris i386-netware \ powerpc-freebsd powerpc-netbsd powerpc-linux \ powerpc-openbsd \ sparc-linux sparc-netbsd sparc-solaris" if [ "$1" = "zip" ]; then P=`pwd` for TARGET in $TARGETS; do echo "${INSTDIR}-${TARGET}/bin/${TARGET}-ld.exe" if [ -f ${INSTDIR}-${TARGET}/bin/${TARGET}-ld.exe ]; then cd ${INSTDIR}-${TARGET} ZIPNAME="../binutils-${VER}-win32-${TARGET}.zip" [ -f $ZIPNAME ] && rm -f $ZIPNAME zip -9 -X $ZIPNAME bin/${TARGET}-as.exe bin/${TARGET}-ld.exe bin/${TARGET}-ar.exe bin/${TARGET}-objdump.exe bin/${TARGET}-strip.exe fi done cd $P exit fi cd binutils-${VER} || exit 1 for TARGET in $TARGETS; do log "starting build for $TARGET" if [ ! -f ../done_${TARGET} ]; then make distclean 2>&1 >/dev/null find -name config.cache -exec rm -f {} \; log "configuring $TARGET" ./configure --disable-nls --prefix=${INSTDIR}-$TARGET --host=i386-pc-mingw32 --target=$TARGET --disable-shared RES=$? if [ ! "$RES" = "0" ]; then log "configure failed for target $TARGET" else log "starting make for $TARGET" make && log "starting make install for $TARGET" && make install RES=$? if [ ! "$RES" = "0" ]; then log "make failed for target $TARGET" else touch ../done_${TARGET} log "$TARGET made OK" [ -d ${INSTDIR}-$TARGET/$TARGET ] && rm -rf ${INSTDIR}-$TARGET/$TARGET [ -d ${INSTDIR}-$TARGET/info ] && rm -rf ${INSTDIR}-$TARGET/info [ -d ${INSTDIR}-$TARGET/lib ] && rm -rf ${INSTDIR}-$TARGET/lib [ -d ${INSTDIR}-$TARGET/man ] && rm -rf ${INSTDIR}-$TARGET/man strip ${INSTDIR}-$TARGET/bin/* fi fi else log "Skipping $TARGET (already made)" fi done #./configure --disable-nls --prefix=/tmp/binutils-win32 --host=i386-pc-mingw32 --target=i386-netware --disable-shared || exit 1 #make && make install cd ..