aboutsummaryrefslogtreecommitdiff
path: root/devel/ccache/Makefile
blob: cfade5bf88dacd9a60781a84906dcbac3e7ad280 (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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# New ports collection makefile for:	ccache
# Date created:				31/03/2002
# Whom:					Dominic Marks <d.marks@student.umist.ac.uk>
#
# $FreeBSD$
#

PORTNAME=	ccache
PORTVERSION=	3.1.3
CATEGORIES=	devel
MASTER_SITES=	http://samba.org/ftp/ccache/ CRITICAL

MAINTAINER=	ehaupt@FreeBSD.org
COMMENT=	A tool to minimize the compile time of C/C++ programs

LICENSE=	GPLv3
LICENSE_FILE=	${WRKSRC}/GPL-3.0.txt

GNU_CONFIGURE=	yes

MAN1=		ccache.1
PLIST_FILES=	bin/ccache

PORTDOCS=	*

.if !defined(WITHOUT_COMPILER_LINKS)
HOWTO=		ccache-howto-freebsd.txt
CCLINKDIR=	libexec/ccache
PLIST_DIRS=	${CCLINKDIR}
SUB_FILES=	${HOWTO} pkg-message
.endif

.include <bsd.port.pre.mk>

.if !defined(WITHOUT_COMPILER_LINKS)
.if ${ARCH}=="i386"
CCACHE_COMPILERS+=	icc icpc
.endif
GNU_COMPILERS+=		34 42 43 44 45 46
CCACHE_COMPILERS+=	cc c++ gcc g++ ${GNU_COMPILERS:S|^|gcc|} ${GNU_COMPILERS:S|^|g++|}
CCACHE_COMPILERS+=	clang clang++ llvm-gcc llvm-c++ llvm-g++
.if defined(EXTRA_COMPILERS)
CCACHE_COMPILERS+=	${EXTRA_COMPILERS}
.endif
WORLD_COMPILERS=	world-cc world-c++
PLIST_FILES+=	${CCACHE_COMPILERS:S|^|${CCLINKDIR}/|} \
		${WORLD_COMPILERS:S|^|${CCLINKDIR}/|}
SUB_FILES+=	${WORLD_COMPILERS}
SUB_LIST+=	CCACHE_COMPILERS="${CCACHE_COMPILERS}" \
		CCLINKDIR="${CCLINKDIR}" \
		ICCPREFIX="${LOCALBASE}/intel_cc_80/bin" \
		HOWTO="${HOWTO}"
.endif

pre-everything::
.if !defined(WITHOUT_COMPILER_LINKS)
	@${ECHO_MSG} "===>  Ccache will install compiler links in ${PREFIX}/libexec/ccache"
	@${ECHO_MSG} "===>  Links that will be created are"
	@${ECHO_MSG} "===>  ${CCACHE_COMPILERS}"
	@${ECHO_MSG} "===>"
	@${ECHO_MSG} "===>  You may add more by EXTRA_COMPILERS=\"Ccompiler1 C++compiler1 etc..\""
	@${ECHO_MSG} "===>"
	@${ECHO_MSG} "===>  You can disable compiler links by defining"
	@${ECHO_MSG} "===>  WITHOUT_COMPILER_LINKS"
	@${ECHO_MSG} "===>"
.endif

do-install:
	${INSTALL_PROGRAM} ${WRKSRC}/ccache ${PREFIX}/bin
	${INSTALL_MAN} ${WRKSRC}/${MAN1} ${PREFIX}/man/man1
.if !defined(WITHOUT_COMPILER_LINKS)
	@${MKDIR} ${PREFIX}/${CCLINKDIR}
.for link in ${CCACHE_COMPILERS}
	${LN} -sf ${PREFIX}/bin/ccache ${PREFIX}/${CCLINKDIR}/${link}
.endfor
.for script in ${WORLD_COMPILERS}
	${INSTALL_SCRIPT} ${WRKDIR}/${script} ${PREFIX}/${CCLINKDIR}
.endfor
.endif
.if !defined(NOPORTDOCS)
	@${MKDIR} ${DOCSDIR}
	${INSTALL_DATA} ${WRKSRC}/MANUAL.html ${DOCSDIR}
.if !defined(WITHOUT_COMPILER_LINKS)
	${INSTALL_DATA} ${WRKDIR}/${HOWTO} ${DOCSDIR}
.endif
.endif
.if !defined(WITHOUT_COMPILER_LINKS)
	@${CAT} ${PKGMESSAGE}
.endif

.include <bsd.port.post.mk>