diff options
Diffstat (limited to 'cross/i386-mingw32/Makefile')
-rw-r--r-- | cross/i386-mingw32/Makefile | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/cross/i386-mingw32/Makefile b/cross/i386-mingw32/Makefile new file mode 100644 index 00000000000..63ca6bbfa8c --- /dev/null +++ b/cross/i386-mingw32/Makefile @@ -0,0 +1,142 @@ +# $NetBSD: Makefile,v 1.1 2002/01/22 12:16:19 kent Exp $ + +DISTNAME= cross-${TARGET_ARCH}-2.95.3nb1 +CROSS_DISTFILES= +MAINTAINER= packages@netbsd.org +HOMEPAGE= http://www.mingw.org/ +COMMENT= Cross-compile environment for Mingw +CATEGORIES+= cross lang + +USE_CROSSBASE= yes +TARGET_ARCH= i386-mingw32 +TARGET_DIR= ${PREFIX}/${TARGET_ARCH} + +MASTER_SITES+= http://prdownloads.sourceforge.net/mingw/ +CROSS_DISTFILES+= binutils-2.11.92-20011113-src.tar.gz +BINUTILS_WRKSRC= ${WRKDIR}/binutils-2.11.92-20011113 +BINUTILS_EXTRAS= dlltool windres +CROSS_DISTFILES+= gcc-2.95.3-20011106-src.tar.gz +GCC_WRKSRC= ${WRKDIR}/gcc-2.95.3-20011106 +GCC_VERSION= 2.95.3-7 +PLIST_SUBST+= GCC_VERSION=${GCC_VERSION} +CROSS_DISTFILES+= mingw-runtime-1.2-src.tar.gz +MINGW_WRKSRC= ${WRKDIR}/mingw-runtime-1.2 +CROSS_DISTFILES+= w32api-1.2-src.tar.gz +W32_WRKSRC= ${WRKDIR}/w32api-1.2 +USE_GMAKE= yes + +AS_FOR_TARGET= ${BINUTILS_WRKSRC}/gas/as-new +AR_FOR_TARGET= ${BINUTILS_WRKSRC}/binutils/ar +NM_FOR_TARGET= ${BINUTILS_WRKSRC}/binutils/nm-new +RANLIB_FOR_TARGET= ${BINUTILS_WRKSRC}/binutils/ranlib +LD_FOR_TARGET= ${BINUTILS_WRKSRC}/ld/ld-new +CC_FOR_TARGET= ${GCC_WRKSRC}/${TARGET_ARCH}/gcc/xgcc \ + -B${GCC_WRKSRC}/${TARGET_ARCH}/gcc/ ${CFLAGS_FOR_TARGET} \ + -I${MINGW_WRKSRC}/include -I${W32_WRKSRC}/include -L${W32_WRKSRC}/lib +CXX_FOR_TARGET= ${CC_FOR_TARGET} +GCC_MAKE_FLAGS= \ + CC_FOR_TARGET="${CC_FOR_TARGET}" \ + GCC_FOR_TARGET="${CC_FOR_TARGET}" \ + CXX_FOR_TARGET="${CXX_FOR_TARGET}" \ + AS_FOR_TARGET="${AS_FOR_TARGET}" \ + AR_FOR_TARGET="${AR_FOR_TARGET}" \ + NM_FOR_TARGET="${NM_FOR_TARGET}" \ + RANLIB_FOR_TARGET="${RANLIB_FOR_TARGET}" \ + LD_FOR_TARGET="${LD_FOR_TARGET}" \ + LANGUAGES="c c++" \ + INSTALL="${INSTALL} -c -o ${BINOWN} -g ${BINGRP}" \ + INSTALL_PROGRAM="${INSTALL_PROGRAM}" +TARGET_CONFIGURE_ENV= CC="${CC_FOR_TARGET}" \ + AR="${AR_FOR_TARGET}" \ + AS="${AS_FOR_TARGET}" \ + RANLIB="${RANLIB_FOR_TARGET}" \ + LD="${LD_FOR_TARGET}" \ + DLLTOOL="${BINUTILS_WRKSRC}/binutils/dlltool" \ + WINDRES="${BINUTILS_WRKSRC}/binutils/windres" + + + +DISTFILES+= ${CROSS_DISTFILES} + +do-configure: bu-configure gcc-configure +bu-configure: + cd ${BINUTILS_WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./configure \ + --prefix=${PREFIX} --target=${TARGET_ARCH} +gcc-configure: + -${MKDIR} ${GCC_WRKSRC}/${TARGET_ARCH} + cd ${GCC_WRKSRC}/${TARGET_ARCH} && ${SETENV} ${CONFIUGRE_ENV} ../configure \ + --prefix=${PREFIX} --target=${TARGET_ARCH} \ + --with-gnu-as --with-gnu-ld --disable-multilib + -${MKDIR} ${GCC_WRKSRC}/${TARGET_ARCH}/${TARGET_ARCH}/libiberty + cd ${GCC_WRKSRC}/${TARGET_ARCH}/${TARGET_ARCH}/libiberty && ${SETENV} \ + ${CONFIGURE_ENV} ../../../libiberty/configure \ + --prefix=${PREFIX} --target=${TARGET_ARCH} + ${CP} ${FILESDIR}/config.h ${GCC_WRKSRC}/${TARGET_ARCH}/${TARGET_ARCH}/libiberty + + +do-build: bu-build gcc-build w32-build mingw-build +bu-build: + cd ${BINUTILS_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} +gcc-build: + @${LN} -sf ${AS_FOR_TARGET} ${GCC_WRKSRC}/${TARGET_ARCH}/gcc/as + @${LN} -sf ${LD_FOR_TARGET} ${GCC_WRKSRC}/${TARGET_ARCH}/gcc/ld + cd ${GCC_WRKSRC}/${TARGET_ARCH} && ${SETENV} ${MAKE_ENV} \ + ${MAKE_PROGRAM} ${MAKE_FLAGS} ${GCC_MAKE_FLAGS} +w32-build: + cd ${W32_WRKSRC} && ${SETENV} ${TARGET_CONFIGURE_ENV} ${CONFIGURE_ENV} \ + ./configure --target=${TARGET_ARCH} + cd ${W32_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} +mingw-build: + cd ${MINGW_WRKSRC} && ${SETENV} ${TARGET_CONFIGURE_ENV} ${CONFIGURE_ENV} \ + ./configure --target=${TARGET_ARCH} + cd ${MINGW_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} + + +do-install: bu-install gcc-install w32-install mingw-install +bu-install: + ${INSTALL_PROGRAM_DIR} ${TARGET_DIR}/bin + ${INSTALL_PROGRAM_DIR} ${PREFIX}/bin + ${INSTALL_PROGRAM} ${BINUTILS_WRKSRC}/gas/as-new ${TARGET_DIR}/bin/as + ${INSTALL_PROGRAM} ${BINUTILS_WRKSRC}/ld/ld-new ${TARGET_DIR}/bin/ld + ${INSTALL_PROGRAM} ${BINUTILS_WRKSRC}/binutils/nm-new ${TARGET_DIR}/bin/nm + ${INSTALL_PROGRAM} ${BINUTILS_WRKSRC}/binutils/strip-new ${TARGET_DIR}/bin/strip + for i in addr2line ar objcopy objdump ranlib size strings ${BINUTILS_EXTRAS}; do \ + ${INSTALL_PROGRAM} ${BINUTILS_WRKSRC}/binutils/$$i ${TARGET_DIR}/bin/$$i; \ + done + for i in addr2line ar as ld nm objcopy objdump ranlib size strings strip \ + ${BINUTILS_EXTRAS}; do \ + ${LN} -f ${TARGET_DIR}/bin/$$i ${PREFIX}/bin/${TARGET_ARCH}-$$i; \ + done +gcc-install: + @cd ${GCC_WRKSRC}/${TARGET_ARCH}/gcc && ${SETENV} ${MAKE_ENV} \ + ${MAKE_PROGRAM} ${MAKE_FLAGS} ${GCC_MAKE_FLAGS} \ + install-common install-headers install-libgcc install-driver + @${MKDIR} ${TARGET_DIR}/include/g++-3 + @${MKDIR} ${TARGET_DIR}/include/g++-3/std + @cd ${GCC_WRKSRC}/${TARGET_ARCH} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} \ + ${MAKE_FLAGS} ${GCC_MAKE_FLAGS} prefix="${TARGET_DIR}" \ + libsubdir="${PREFIX}/lib/gcc-lib/${TARGET_ARCH}/${GCC_VERSION}" \ + install-target-libstdc++ + for file in c++ c++filt g++; do \ + ${LN} -f ${PREFIX}/bin/${TARGET_ARCH}-$$file ${TARGET_DIR}/bin/$$file; \ + done +w32-install: + ${INSTALL_DATA_DIR} ${TARGET_DIR}/include + ${INSTALL_DATA} ${W32_WRKSRC}/include/*.h ${TARGET_DIR}/include + ${INSTALL_DATA_DIR} ${TARGET_DIR}/lib + ${INSTALL_DATA} ${W32_WRKSRC}/lib/lib*.a ${TARGET_DIR}/lib +mingw-install: + ${INSTALL_DATA_DIR} ${TARGET_DIR}/include/sys + ${INSTALL_DATA} ${MINGW_WRKSRC}/include/*.h ${TARGET_DIR}/include + ${INSTALL_DATA} ${MINGW_WRKSRC}/include/sys/*.h ${TARGET_DIR}/include/sys + for file in libcrtdll libmsvcrt libmsvcrt20 libmsvcrt40 libmingw32 \ + libcoldname libmoldname libm libmingwthrd profile/libgmon ; do \ + ${INSTALL_DATA} ${MINGW_WRKSRC}/$$file.a ${TARGET_DIR}/lib; \ + done + ${INSTALL_PROGRAM} ${MINGW_WRKSRC}/mingwm10.dll ${TARGET_DIR}/lib + for file in crt1 dllcrt1 crt2 dllcrt2 CRT_noglob crtmt crtst \ + profile/gcrt1 profile/gcrt2; do \ + ${INSTALL_DATA} ${MINGW_WRKSRC}/$$file.o ${TARGET_DIR}/lib; \ + done + +.include "../../mk/bsd.pkg.mk" |