aboutsummaryrefslogtreecommitdiff
path: root/devel/arduino-mk/Makefile
blob: 2965c6eb67965b583b14512ac26da22e1d9672b1 (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
# Created by: Craig Leres <leres@FreeBSD.org>

PORTNAME=	arduino-mk
PORTVERSION=	0.10
PORTREVISION=	4
CATEGORIES=	devel
MASTER_SITES=	http://www.mjoldfield.com/atelier/2009/02/acli/
DISTNAME=	${PORTNAME}_${PORTVERSION}

MAINTAINER=	leres@FreeBSD.org
COMMENT=	Build Arduino sketches from the command line

LICENSE=	LGPL21

# gmake is needed to use the port, not to build it
RUN_DEPENDS=	gmake:devel/gmake \
		p5-Device-SerialPort>=0:comms/p5-Device-SerialPort \
		p5-YAML>=0:textproc/p5-YAML \
		arduino:devel/arduino
PATCH_DEPENDS=	${LOCALBASE}/arduino/lib/version.txt:devel/arduino

USES=		shebangfix
SHEBANG_FILES=	bin/ard-parse-boards bin/ard-reset-arduino
WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}

NO_BUILD=	yes

OPTIONS_DEFINE+=	DOCS EXAMPLES

ARDUINO_CMD=	${SH} ${FILESDIR}/version.sh ${PREFIX}/arduino/lib/version.txt
OLD_BOARDS_TXT=	/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/boards.txt
NEW_BOARDS_TXT=	${PREFIX}/arduino/hardware/arduino/boards.txt

INSLIST=	AnalogInOutSerial Blink BlinkWithoutDelay Fade HelloWorld \
		WebServer master_reader toneMelody
post-patch:
	@ARDUINO="`${ARDUINO_CMD}`" && \
	    ${REINPLACE_CMD} -e "s|%%ARDUINO%%|$${ARDUINO}|g" \
	    ${WRKSRC}/arduino-mk/Arduino.mk
	@${REINPLACE_CMD} -e "s|'${OLD_BOARDS_TXT}'|'${NEW_BOARDS_TXT}'|g" \
	    ${WRKSRC}/bin/ard-parse-boards

do-install:
	@${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin
	${INSTALL_DATA} ${WRKSRC}/arduino-mk/Arduino.mk ${STAGEDIR}${PREFIX}/${PORTNAME}
	${INSTALL_SCRIPT} ${WRKSRC}/bin/ard-parse-boards ${STAGEDIR}${PREFIX}/${PORTNAME}/bin
	${INSTALL_SCRIPT} ${WRKSRC}/bin/ard-reset-arduino ${STAGEDIR}${PREFIX}/${PORTNAME}/bin
	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
	(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} "${INSLIST}" ${STAGEDIR}${EXAMPLESDIR})
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
	${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}

.include <bsd.port.mk>