summaryrefslogtreecommitdiff
path: root/lang/pm3-base/Makefile
blob: c673559e428db11d57663f18be7b54973de3b27c (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
# New ports collection makefile for:	pm3-base
# Date created:		6 Feb 2000
# Whom:			John Polstra <jdp@FreeBSD.org>
#
# $FreeBSD$
#

PORTNAME=	pm3-base
PORTVERSION=	1.1.15
PORTREVISION=	2
CATEGORIES=	lang
MASTER_SITES=	${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR=jdp/pm3
DISTFILES=	${BOOTSTRAP} \
		pm3-${PORTVERSION}-src.tar.bz2

MAINTAINER=	ports@FreeBSD.org
COMMENT=	Compiler and base libs of Polytechnique Montreal Modula-3 distribution

DIST_SUBDIR=	pm3
WRKSRC=		${WRKDIR}/pm3-base-${PORTVERSION}
INSTALL_TARGET=	all
MAKE_ARGS+=	M3OPTIONS="-DBUILD_ALL -DSHIP_ALL"
MAN1=		m3bundle.1
PLIST_SUB+=	SOVERSION=${SOVERSION} TARGET=${TARGET} \
		TARGETDIR=${TARGETDIR} WORDSIZE=${WORDSIZE}
SCRIPTS_ENV+=	TARGET=${TARGET}
USE_BZIP2=	yes
USE_GMAKE=	yes
WRKSRC=		${WRKDIR}/pm3-${PORTVERSION}

PROGS=		bin/m3build \
		bin/m3bundle \
		bin/m3coco \
		bin/m3ship \
		bin/m3tosgml \
		bin/sgmlconv \
		bin/sgmllinear \
		bin/sgmlnormalize \
		bin/sgmlstructure \
		bin/sgmltom3 \
		lib/m3/${TARGET}/m3cgc1
SOVERSION=	7

.include <bsd.port.pre.mk>

.if ${ARCH} == "i386"
TARGET=		FreeBSD4
TARGETDIR=	freebsd-4
BOOTSTRAP=	pm3-${PORTVERSION}-${TARGET}-boot.tar.bz2
WORDSIZE=	32
.elif ${ARCH} == "alpha"
CFLAGS+=	-mieee
TARGET=		FBSD_ALPHA
TARGETDIR=	fbsd-alpha
WORDSIZE=	64
BOOTSTRAP=	pm3-${PORTVERSION}-${TARGET}-boot.tar.bz2
.else
IGNORE=		is not supported on ${ARCH}
.endif

EXTRA_PATCHES!=	${ECHO_CMD} ${PATCHDIR}/${TARGET}-patch-*
.if ${EXTRA_PATCHES} == ${PATCHDIR}/${TARGET}-patch-*
.undef EXTRA_PATCHES
.endif

post-patch:
	@${CP} ${WRKSRC}/libs/m3core/src/runtime/${TARGET}/RTHeapDepC.c \
	    ${WRKSRC}/boot-${TARGET}/m3core/${TARGET}/RTHeapDepC.c

do-build:
	@${ECHO_MSG} "This port does everything in the install step."
	@${ECHO_MSG} "The build step is a no-op."

pre-install:
	@${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/check_conflicts

do-install:
	@${RM} -rf ${WRKSRC}/${TARGET}
	@(ulimit -d `ulimit -Hd` && ulimit -m `ulimit -Hm` && \
	    cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
		${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET})
	@for i in ${PROGS}; do ${STRIP_CMD} ${PREFIX}/$$i; done
	@${MKDIR} ${PREFIX}/share/pm3-base
	@${INSTALL_DATA} ${WRKSRC}/src/COPYRIGHT ${PREFIX}/share/pm3-base

.include <bsd.port.post.mk>