summaryrefslogtreecommitdiff
path: root/math/cadical/Makefile
blob: 044ecfaffdd080181ac134a0ae1792144332b30e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
PORTNAME=	cadical
DISTVERSIONPREFIX=	rel-
DISTVERSION=	2.0.0
CATEGORIES=	math devel

MAINTAINER=	yuri@FreeBSD.org
COMMENT=	Simple CDCL satisfiability solver
WWW=		http://fmv.jku.at/cadical/

LICENSE=	MIT
LICENSE_FILE=	${WRKSRC}/LICENSE

USES=		compiler:c++0x gmake tar:xz

USE_GITHUB=	yes
GH_ACCOUNT=	arminbiere

GNU_CONFIGURE=	yes

MAKEFILE=	makefile

BINARY_ALIAS=	make=${GMAKE}

EXES=		cadical mobical

TEST_TARGET=	test

PLIST_FILES=	${EXES:S/^/bin\//} \
		include/cadical.hpp \
		include/ccadical.h \
		lib/libcadical.a \
		lib/libcadical.so \
		lib/libcadical.so.${DISTVERSION}

post-build: # build shared library
	@${ECHO} "==> Building the shared library"
	cd ${WRKSRC}/src && ${CXX} \
		-shared -Wl,-soname=lib${PORTNAME}.so.$(DISTVERSION) -fPIC \
		-DNDEBUG \
		${CXXFLAGS} ${LDFLAGS} \
		`${ECHO} *.cpp | ${SED} -e "s/cadical\.cpp//; s/mobical\.cpp//"` \
		-I ${WRKSRC}/build \
		-o ${WRKSRC}/build/lib${PORTNAME}.so.${DISTVERSION}

do-install: # workaround for https://github.com/arminbiere/cadical/issues/49
.for e in ${EXES}
	${INSTALL_PROGRAM} ${WRKSRC}/build/${e} ${STAGEDIR}${PREFIX}/bin
.endfor
	${INSTALL_DATA} ${WRKSRC}/src/cadical.hpp ${STAGEDIR}${PREFIX}/include
	${INSTALL_DATA} ${WRKSRC}/src/ccadical.h ${STAGEDIR}${PREFIX}/include
	${INSTALL_DATA} ${WRKSRC}/build/libcadical.a ${STAGEDIR}${PREFIX}/lib
	${INSTALL_LIB} ${WRKSRC}/build/libcadical.so.${DISTVERSION} ${STAGEDIR}${PREFIX}/lib
	cd ${STAGEDIR}${PREFIX}/lib && ${LN} -s libcadical.so.${DISTVERSION} libcadical.so

.include <bsd.port.mk>