aboutsummaryrefslogtreecommitdiff
path: root/lang/tcc/Makefile
blob: 0beb4a2ee69d72a1e8dfe8c24338813edd2cbaa6 (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
# $FreeBSD$

PORTNAME=	tcc
DISTVERSIONPREFIX=	release_
DISTVERSION=	0_9_26
PORTREVISION=	6
CATEGORIES=	lang

MAINTAINER=	ports@FreeBSD.org
COMMENT=	Tiny C Compiler

LICENSE=	LGPL21
LICENSE_FILE=	${WRKSRC}/COPYING

PORTSCOUT=	skipv:initial

ONLY_FOR_ARCHS=	amd64 i386

USE_GITHUB=	yes
GH_ACCOUNT=	TinyCC
GH_PROJECT=	tinycc

USES=		gmake makeinfo perl5
USE_PERL5=	build
HAS_CONFIGURE=	yes
CONFIGURE_ARGS=	--prefix="${PREFIX}" --cc="${CC}"
MAKE_ARGS=	CONFIG_NOLDL=1

OPTIONS_DEFINE=	DOCS EXAMPLES

INFO=		tcc-doc
PORTDOCS=	Changelog README TODO VERSION

.include <bsd.port.options.mk>

.if ${ARCH} == "amd64"
CONFIGURE_ARGS+=--cpu=x86-64 --extra-cflags="-DTCC_TARGET_X86_64 -DONE_SOURCE"
MAKE_ARGS+=	ARCH=x86-64
CPUTYPE=	x86_64
FILES=		bcheck.o alloca86_64.o libtcc1.o

PLIST_SUB+=	AMD64=""
.else
PLIST_SUB+=	AMD64="@comment "
.endif

.if ${ARCH} == "i386"
CPUTYPE=	i386
FILES=		bcheck.o alloca86.o alloca86-bt.o

PLIST_SUB+=	I386=""
.else
PLIST_SUB+=	I386="@comment "
.endif

CFLAGS+=	-fheinous-gnu-extensions

post-install:
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/tcc
	${INSTALL_DATA} ${WRKSRC}/tcc-doc.info ${STAGEDIR}${PREFIX}/${INFO_PATH}
	${INSTALL_MAN} ${WRKSRC}/tcc.1 ${STAGEDIR}${MAN1PREFIX}/man/man1
	${RM} -r ${STAGEDIR}${PREFIX}/share/man
.for f in ${FILES}
	${INSTALL_DATA} ${WRKSRC}/lib/${CPUTYPE}/*.o ${STAGEDIR}${PREFIX}/lib/tcc
.endfor

post-install-DOCS-on:
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
	${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}

post-install-EXAMPLES-on:
	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
	${INSTALL_DATA} ${WRKSRC}/examples/* ${STAGEDIR}${EXAMPLESDIR}

.include <bsd.port.mk>