diff --git a/games/stockfish/Makefile b/games/stockfish/Makefile index 80eb8b7c44a0..e64024d0f49f 100644 --- a/games/stockfish/Makefile +++ b/games/stockfish/Makefile @@ -1,99 +1,85 @@ # Created by: Gautam Mani PORTNAME= stockfish DISTVERSIONPREFIX= sf_ DISTVERSION= 13 CATEGORIES= games MASTER_SITES= https://tests.stockfishchess.org/api/nn/:nnue DISTFILES= nn-${_NNUE_VER}.nnue:nnue EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER= execve@gmail.com COMMENT= Open source chess engine LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/../Copying.txt -BROKEN_aarch64= Fails to build: cannot detect architecture -BROKEN_armv6= Fails to configure: config-sanity: Error 1 -BROKEN_armv7= Fails to configure: config-sanity: Error 1 -BROKEN_mips64= Fails to build: cannot detect architecture -BROKEN_riscv64= Fails to configure: config-sanity: Error 1 -NOT_FOR_ARCHS= sparc64 - USES= compiler:c++11-lang gmake perl5 USE_GITHUB= yes GH_ACCOUNT= official-stockfish GH_PROJECT= Stockfish USE_PERL5= build +MAKE_ARGS= ARCH=${MYARCH} \ + COMP=${CHOSEN_COMPILER_TYPE} \ + CXX="${CXX}" \ + PREFIX=${PREFIX} +ALL_TARGET= build LDFLAGS+= -fuse-ld=lld _NNUE_VER= 62ef826d1a6d WRKSRC_SUBDIR= src -MYARCH= ${ARCH} -MYCC= ${CHOSEN_COMPILER_TYPE} -TGTBLD= build PLIST_FILES= bin/stockfish PORTDOCS= README.md -#POPCNT AVX2 BMI2 OPTIONS_DEFINE= DOCS OPTIONS_RADIO= MACHDEP OPTIONS_RADIO_MACHDEP= AVX2 BMI2 POPCNT +OPTIONS_EXCLUDE= ${${ARCH} != amd64:?${OPTIONS_RADIO_MACHDEP}:} AVX2_DESC= Use the AVX2 instruction set BMI2_DESC= Use the BMI2 instruction set POPCNT_DESC= Use the POPCNT instruction .include -.if ${PORT_OPTIONS:MPOPCNT} && ${ARCH} != amd64 -BROKEN= POPCNT compiles only on amd64 -.endif - -.if ${PORT_OPTIONS:MAVX2} && ${ARCH} != amd64 -BROKEN= AVX compiles only on amd64 -.endif - -.if ${PORT_OPTIONS:MBMI2} && ${ARCH} != amd64 -BROKEN= BMI compiles only on amd64 -.endif - # workaround the ARCH usage in the stockfish Makefile .if ${ARCH} == "i386" MYARCH= x86-32 .elif ${ARCH} == "amd64" . if ${PORT_OPTIONS:MBMI2} MYARCH= x86-64-bmi2 . elif ${PORT_OPTIONS:MAVX2} MYARCH= x86-64-avx2 . elif ${PORT_OPTIONS:MPOPCNT} MYARCH= x86-64-modern . else MYARCH= x86-64 . endif +.elif ${ARCH} == aarch64 +MYARCH= armv8 +.elif ${ARCH} == armv7 +MYARCH= armv7-neon .elif ${ARCH} == powerpc MYARCH= ppc-32 .elif ${ARCH:Mpowerpc64*} MYARCH= ppc-64 +.elif ${ARCH:M*64*} +MYARCH= general-64 +.else +MYARCH= general-32 .endif -ALL_TARGET= ${TGTBLD} ARCH=${MYARCH} COMP=${MYCC} - post-patch: @${CP} ${_DISTDIR}/nn-${_NNUE_VER}.nnue ${WRKSRC}/. - @${REINPLACE_CMD} -e "s/^PREFIX =/PREFIX ?=/" ${WRKSRC}/Makefile - @${REINPLACE_CMD} -e "s/CXX=g++/CXX=g++${GCC_DEFAULT}/" \ - ${WRKSRC}/Makefile do-install: ${INSTALL_PROGRAM} ${WRKSRC}/stockfish ${STAGEDIR}${PREFIX}/bin do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/../README.md ${STAGEDIR}${DOCSDIR} .include