summaryrefslogtreecommitdiffstats
path: root/games/inform/Makefile
blob: 6fd8491cbfc3dcc01ecd68fc2141a59095e3d300 (plain)
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
# New ports collection makefile for:	inform
# Date created:				28 June 1998
# Whom:					Matthew Hunt <mph@FreeBSD.org>
#
# $FreeBSD$
#

PORTNAME=	inform
PORTVERSION=	6.21
CATEGORIES=	games
MASTER_SITES=  	ftp://ftp.ifarchive.org/if-archive/infocom/compilers/inform6/source/ \
		ftp://ftp.ifarchive.org/if-archive/infocom/compilers/inform6/library/
DISTFILES=	inform621_source.zip inform_library610.zip

MAINTAINER=	mph@freebsd.org

.if !defined(NOPORTDOCS)
MASTER_SITES+=	ftp://ftp.ifarchive.org/if-archive/infocom/compilers/inform6/manuals/old/
DISTFILES+=	designers_manual_html.zip
.endif

DIST_SUBDIR=	inform
NO_WRKSUBDIR=	yes

EXTRACT_ONLY=	inform621_source.zip
USE_ZIP=	yes

# I can hardly believe it, but the ".c" and ".h" extensions are
# not present on the source files.
post-extract:
	@${MV} ${WRKSRC}/header ${WRKSRC}/header.h
.for file in arrays asm bpatch chars directs errors expressc expressp \
	files inform lexer linker memory objects states symbols syntax \
	tables text veneer verbs
	@${MV} ${WRKSRC}/${file} ${WRKSRC}/${file}.c
.endfor
	@${CP} ${FILESDIR}/Makefile.inform ${WRKSRC}/Makefile

# Install the library files in ${PREFIX}/share/inform.  The compiler
# is configured to use extensions under Unix, so we need to tack ".h"
# onto each filename.  Set perms and ownership, because they're odd in
# the archive.  Many games include "VerbLib" instead of "Verblib" so
# make a symlink.  Finally, install documentation if appropriate.

post-install:
	@${MKDIR} ${PREFIX}/share/inform
	@(cd ${PREFIX}/share/inform && \
		unzip -qq -o ${DISTDIR}/${DIST_SUBDIR}/inform_library610.zip)
.for file in English Grammar Parser Verblib infix linklpa linklv parserm \
		verblibm
	@${MV} ${PREFIX}/share/inform/${file} ${PREFIX}/share/inform/${file}.h
	@ ${CHMOD} ${SHAREMODE} ${PREFIX}/share/inform/${file}.h
	@ ${CHOWN} ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/inform/${file}.h
.endfor
	@${LN} -fs Verblib.h ${PREFIX}/share/inform/VerbLib.h
	@ ${CHOWN} ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/inform/VerbLib.h
.if defined(NOPORTDOCS)
	@${RM} ${PREFIX}/share/inform/Relnote ${PREFIX}/share/inform/Relnote2
.else
	@ (umask 222 && unzip -qq -o -d ${PREFIX}/share/doc \
		${DISTDIR}/${DIST_SUBDIR}/designers_manual_html.zip)
	@${MKDIR} ${PREFIX}/share/doc/inform
	@${MV} ${PREFIX}/share/doc/dman/* ${PREFIX}/share/doc/inform
	@${RMDIR} ${PREFIX}/share/doc/dman
	@${MV} ${PREFIX}/share/inform/Relnote ${PREFIX}/share/inform/Relnote2 ${PREFIX}/share/doc/inform
	@ ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/doc/inform
	
.endif

.include <bsd.port.mk>
OpenPOWER on IntegriCloud