summaryrefslogtreecommitdiff
path: root/lang/nll/Makefile
blob: 9396929c8a34f1aa969d33640ee7cc0920254605 (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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
PORTNAME=	nll
PORTVERSION=	20240703a
CATEGORIES=	lang
MASTER_SITES=	https://kozos.jp/nlux/archive/
DISTNAME=	nlux-alpha-20240703

MAINTAINER=	kozos@kozos.jp
COMMENT=	Simple language for programming learning
WWW=		https://kozos.jp/nll/

LICENSE=	ZLIB
LICENSE_FILE=	${WRKSRC}/LICENSE

FLAVORS=		default nosdl sdl1
FLAVOR?=		${FLAVORS:[1]}
nosdl_PKGNAMESUFFIX=	-nosdl
sdl1_PKGNAMESUFFIX=	-sdl1

USES=		zip
MAKE_ARGS=	ARCH= \
		BUILD= \
		CCOMPILER=${CC}
WRKSRC=		${WRKDIR}/nlux/${PORTNAME}

PLIST_FILES=	bin/${PORTNAME} \
		share/man/man1/${PORTNAME}.1.gz

PORTDOCS=	AUDIO.txt README.txt
PORTEXAMPLES=	*.nll

OPTIONS_DEFINE=		DOCS EXAMPLES NCURSES NETWORK SYSCALL SYSTEM
OPTIONS_DEFAULT?=	LIBEDIT NCURSES SYSTEM

OPTIONS_RADIO=		LINEEDIT
OPTIONS_RADIO_LINEEDIT=	FGETS GETLINE LIBEDIT NLLINE READLINE

FGETS_DESC=	Use fgets()
GETLINE_DESC=	Use getline
LINEEDIT_DESC=	Line editor
NETWORK_DESC=	Network support
NLLINE_DESC=	Internal readline compatible library
SYSCALL_DESC=	System call function support
SYSTEM_DESC=	System function support

FGETS_MAKE_ARGS=	READLINE=fgets
GETLINE_MAKE_ARGS=	READLINE=getline
LIBEDIT_USES=		libedit
LIBEDIT_MAKE_ARGS=	READLINE=libedit \
			READLINEDIR=${LOCALBASE}
NCURSES_USES=		ncurses
NCURSES_MAKE_ARGS=	USE_CURSES=yes
NCURSES_MAKE_ARGS_OFF=	USE_CURSES=
NETWORK_MAKE_ARGS=	USE_NETWORK_FUNCTION=yes
NETWORK_MAKE_ARGS_OFF=	USE_NETWORK_FUNCTION=
NLLINE_MAKE_ARGS=	READLINE=nlline
READLINE_USES=		readline
READLINE_MAKE_ARGS=	READLINE=readline \
			READLINEDIR=${LOCALBASE}
SYSCALL_MAKE_ARGS=	USE_SYSCALL_FUNCTION=yes
SYSCALL_MAKE_ARGS_OFF=	USE_SYSCALL_FUNCTION=
SYSTEM_MAKE_ARGS=	USE_SYSTEM_FUNCTION=yes
SYSTEM_MAKE_ARGS_OFF=	USE_SYSTEM_FUNCTION=

.if ${FLAVOR} == default
USE_SDL=	sdl2
USE_XORG=	x11
USES+=		sdl xorg
MAKE_ARGS+=	SDLDIR=${LOCALBASE} \
		USE_SDL1= \
		USE_SDL2=yes
.endif

.if ${FLAVOR} == nosdl
COMMENT+=	(limited graphic and audio function)
MAKE_ARGS+=	USE_SDL1= \
		USE_SDL2=
.endif

.if ${FLAVOR} == sdl1
COMMENT+=	(SDL 1.2)
USE_SDL=	sdl
USE_XORG=	x11
USES+=		sdl xorg
MAKE_ARGS+=	SDLDIR=${LOCALBASE} \
		USE_SDL1=yes \
		USE_SDL2=
.endif

post-install:
	${INSTALL_PROGRAM} ${WRKDIR}/nlux/bin/${PORTNAME} \
		${STAGEDIR}${PREFIX}/bin
	${INSTALL_MAN} ${WRKDIR}/nlux/man/man1/${PORTNAME}.1 \
		${STAGEDIR}${PREFIX}/share/man/man1

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

post-install-EXAMPLES-on:
	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
	${INSTALL_DATA} ${PORTEXAMPLES:S/^/${WRKSRC}\/samples\//} ${STAGEDIR}${EXAMPLESDIR}
	${INSTALL_DATA} ${PORTEXAMPLES:S/^/${WRKSRC}\/samples\/graphic\//} ${STAGEDIR}${EXAMPLESDIR}
	${INSTALL_DATA} ${PORTEXAMPLES:S/^/${WRKSRC}\/samples\/audio\//} ${STAGEDIR}${EXAMPLESDIR}
	${INSTALL_DATA} ${PORTEXAMPLES:S/^/${WRKSRC}\/samples\/network\//} ${STAGEDIR}${EXAMPLESDIR}

.include <bsd.port.mk>