104 lines
3.4 KiB
Makefile
104 lines
3.4 KiB
Makefile
# $NetBSD: Makefile,v 1.20 2009/10/11 08:59:58 wiz Exp $
|
|
|
|
DISTNAME= cross-${TARGET_ARCH}-${DISTVERSION}
|
|
TARGET_ARCH= mipsEEel-netbsd
|
|
DISTVERSION= 1.0.0
|
|
PKGREVISION= 2
|
|
CATEGORIES+= cross lang
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
|
COMMENT= Cross-compiler for NetBSD/PlayStation2 kernel
|
|
|
|
USE_TOOLS+= gmake makeinfo bzcat
|
|
|
|
WRKSRC= ${WRKDIR}
|
|
|
|
# We don't use CROSSBASE because the binutils are not the same as binutils
|
|
# for other cross compilers.
|
|
#USE_CROSSBASE= yes
|
|
TARGET_DIR= ${PREFIX}/cross-ps2
|
|
PLIST_SUBST+= SUBDIR="cross-ps2" TARGET_ARCH=${TARGET_ARCH:Q} \
|
|
GCC_VERSION=${GCC_VERSION:Q}
|
|
|
|
#
|
|
# binutils
|
|
#
|
|
MASTER_SITES+= ftp://ftp.NetBSD.org/pub/NetBSD/misc/hamajima/PlayStation2/GPLed-from-SCEI/binutils-2.9EE/
|
|
DISTFILES+= binutils-ps2linux-1.0.0.patch.bz2
|
|
BINUTILS_PATCH1= ${_DISTDIR}/binutils-ps2linux-1.0.0.patch.bz2
|
|
|
|
BINUTILS_DISTNAME= binutils-2.9EE
|
|
BINUTILS_WRKSRC= ${WRKDIR}/${BINUTILS_DISTNAME}
|
|
DISTFILES+= ${BINUTILS_DISTNAME}.tar.gz
|
|
EXTRACT_ONLY= ${BINUTILS_DISTNAME}.tar.gz
|
|
|
|
#
|
|
# gcc
|
|
#
|
|
MASTER_SITES+= ftp://ftp.NetBSD.org/pub/NetBSD/misc/hamajima/PlayStation2/GPLed-from-SCEI/gcc-2.95.2EE/
|
|
SITES.gcc-2.95.2.tar.gz= ${MASTER_SITE_GNU:=gcc/}
|
|
GCC_VERSION= 2.95.2
|
|
GCC_DISTNAME= gcc-${GCC_VERSION}
|
|
GCC_WRKSRC= ${WRKDIR}/${GCC_DISTNAME}
|
|
DISTFILES+= ${GCC_DISTNAME}.tar.gz
|
|
EXTRACT_ONLY+= ${GCC_DISTNAME}.tar.gz
|
|
DISTFILES+= gcc-${GCC_VERSION}-frankengcc-patches.patch.bz2
|
|
GCC_PATCH0= ${_DISTDIR}/gcc-${GCC_VERSION}-frankengcc-patches.patch.bz2
|
|
DISTFILES+= gcc-${GCC_VERSION}-single-float-const.patch.bz2
|
|
GCC_PATCH1= ${_DISTDIR}/gcc-${GCC_VERSION}-single-float-const.patch.bz2
|
|
DISTFILES+= gcc-ps2linux-1.0.0.patch.bz2
|
|
GCC_PATCH2= ${_DISTDIR}/gcc-ps2linux-1.0.0.patch.bz2
|
|
BUILD_DEPENDS+= bison-[0-9]*:../../devel/bison
|
|
|
|
pre-patch: binutils-patch gcc-patch
|
|
do-configure: binutils-configure gcc-configure
|
|
do-build: binutils-build gcc-build
|
|
do-install: binutils-install gcc-install
|
|
|
|
binutils-patch:
|
|
${BZCAT} ${BINUTILS_PATCH1} | ${PATCH} -d ${BINUTILS_WRKSRC} --forward --quiet -p1 -E
|
|
for i in patches/binutils-*; do \
|
|
${PATCH} -d ${BINUTILS_WRKSRC} --forward --quiet -E < $$i; \
|
|
done
|
|
|
|
binutils-configure:
|
|
${MKDIR} ${BINUTILS_WRKSRC}/obj
|
|
cd ${BINUTILS_WRKSRC}/obj && ../configure --prefix=${TARGET_DIR} \
|
|
--target=${TARGET_ARCH}
|
|
|
|
binutils-build:
|
|
${GMAKE} -C ${BINUTILS_WRKSRC}/obj
|
|
|
|
binutils-install:
|
|
${GMAKE} -C ${BINUTILS_WRKSRC}/obj install
|
|
|
|
gcc-patch:
|
|
${BZCAT} ${GCC_PATCH0} | ${PATCH} -d ${GCC_WRKSRC} --forward --quiet -p1 -E
|
|
${BZCAT} ${GCC_PATCH1} | ${PATCH} -d ${GCC_WRKSRC} --forward --quiet -p1 -E
|
|
${BZCAT} ${GCC_PATCH2} | ${PATCH} -d ${GCC_WRKSRC} --forward --quiet -p1 -E
|
|
for i in patches/gcc-*; do \
|
|
${PATCH} -d ${GCC_WRKSRC} --forward --quiet -E < $$i; \
|
|
done
|
|
|
|
gcc-configure:
|
|
${MKDIR} ${GCC_WRKSRC}/obj
|
|
cd ${GCC_WRKSRC}/obj && ../configure --prefix=${TARGET_DIR} \
|
|
--enable-shared --target=${TARGET_ARCH} \
|
|
--enable-languages=c --with-gnu-as \
|
|
--with-gnu-ld --disable-nls
|
|
-${RM} ${GCC_WRKSRC}/obj/texinfo/makeinfo/Makefile
|
|
|
|
gcc-build:
|
|
${LN} -sf ${BINUTILS_WRKSRC}/obj/gas/as-new ${GCC_WRKSRC}/obj/gcc/as
|
|
${LN} -sf ${BINUTILS_WRKSRC}/obj/ld/ld-new ${GCC_WRKSRC}/obj/gcc/ld
|
|
${GMAKE} -C ${GCC_WRKSRC}/obj/libiberty
|
|
# ${GMAKE} -C ${GCC_WRKSRC}/obj/texinfo
|
|
${GMAKE} -C ${GCC_WRKSRC}/obj/gcc LIBGCC="" LIBGCC1_TEST="" INSTALL_LIBGCC=""
|
|
|
|
gcc-install:
|
|
${GMAKE} -C ${GCC_WRKSRC}/obj/gcc install-common install-headers \
|
|
install-cpp lang.install-normal install-driver
|
|
|
|
# just uses autoheader -- any version is ok
|
|
USE_TOOLS+= autoconf
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|