Files
ports/math/blasfeo/Makefile
T
2026-07-06 08:05:17 -07:00

50 lines
1.6 KiB
Makefile

PORTNAME= blasfeo
DISTVERSION= 0.1.4.3
CATEGORIES= math
MAINTAINER= yuri@FreeBSD.org
COMMENT= Basic Linear Algebra Subroutines For Embedded Optimization
WWW= https://github.com/giaf/blasfeo
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
LIB_DEPENDS= libblas.so:math/blas
USES= cmake:testing
USE_GITHUB= yes
GH_ACCOUNT= giaf
LDFLAGS+= -L${LOCALBASE}/lib -lblas
CMAKE_ARGS= -DTARGET:STRING=GENERIC
CMAKE_ON= BUILD_SHARED_LIBS
CMAKE_OFF= BLASFEO_EXAMPLES
CMAKE_TESTING_ON= BLASFEO_TESTING
CMAKE_TESTING_TARGET=
OPTIONS_SINGLE= ${OPTIONS_SINGLE_${ARCH}}
OPTIONS_SINGLE_amd64= TARGETAMD64
OPTIONS_SINGLE_TARGETAMD64= GENERIC X64_INTEL_HASWELL X64_INTEL_SANDY_BRIDGE X64_INTEL_CORE X64_AMD_BULLDOZER
OPTIONS_DEFAULT_amd64= GENERIC
# TODO ARM also has SIMD acceleration
GENERIC_DESC= Generic C code without SIMD acceleration
X64_INTEL_HASWELL_DESC= x86_64 architecture with AVX2 and FMA ISA (64 bit OS)
X64_INTEL_SANDY_BRIDGE_DESC= x86_64 architecture with AVX ISA (64 bit OS)
X64_INTEL_CORE_DESC= x86_64 architecture with SSE3 (64 bit OS)
X64_AMD_BULLDOZER_DESC= x86_64 architecture with AVX and FMA ISA (64 bit OS)
X64_INTEL_HASWELL_CMAKE_ON= -DTARGET:STRING=X64_INTEL_HASWELL
X64_INTEL_SANDY_BRIDGE_CMAKE_ON= -DTARGET:STRING=X64_INTEL_SANDY_BRIDGE
X64_INTEL_CORE_CMAKE_ON= -DTARGET:STRING=X64_INTEL_CORE
X64_AMD_BULLDOZER_CMAKE_ON= -DTARGET:STRING=X64_AMD_BULLDOZER
post-test: # run tests
.for t in test_d_blas_api test_d_blasfeo_api test_s_blas_api test_s_blasfeo_api
@${ECHO} "==> Running test ${t}"
@cd ${TEST_WRKSRC} && tests/${t}
.endfor
.include <bsd.port.mk>