aboutsummaryrefslogtreecommitdiff
path: root/lang/ezm3/Makefile
blob: b0d62c70e703637c9118bc59dcc747b695f65968 (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
# Created by: John Polstra <jdp@FreeBSD.org>
# $FreeBSD$

PORTNAME=	ezm3
PORTVERSION=	1.2
PORTREVISION=	1
CATEGORIES=	lang
MASTER_SITES=	ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/ezm3/:src \
		http://people.freebsd.org/~peter/ezm3-amd64/:amdb \
		ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/pav/:amdp
DISTFILES=	ezm3-${PORTVERSION}-src.tar.bz2:src
DIST_SUBDIR=	ezm3

MAINTAINER=	ports@FreeBSD.org
COMMENT=	Easier, more portable Modula-3 distribution for building CVSup

USE_BZIP2=	yes
USE_GMAKE=	yes

NO_STAGE=	yes
.include <bsd.port.pre.mk>

.if ${ARCH} == "amd64"
DISTFILES+=	ezm3-${PORTVERSION}-${TARGET}-boot.tar.bz2:amdb \
		ezm3-amd64-patchset-2.tar.bz2:amdp
.else
DISTFILES+=	ezm3-${PORTVERSION}-${TARGET}-boot.tar.bz2:src
.endif

INSTALL_TARGET=	all
MAKE_ARGS+=	M3OPTIONS="-DBUILD_ALL -DSHIP_ALL"
MAN1=		m3bundle.1
PLIST_SUB+=	ARCH=${ARCH} TARGET=${TARGET} WORDSIZE=${WORDSIZE} \
		ENDIANESS=${ENDIANESS}
SCRIPTS_ENV+=	TARGET=${TARGET}

PROGS=		bin/m3build \
		bin/m3bundle \
		bin/m3ship \
		lib/m3/${TARGET}/m3cgc1

ONLY_FOR_ARCHS=	alpha amd64 i386 sparc64

.if ${ARCH} == "alpha"
TARGET=		FBSD_ALPHA
WORDSIZE=	64
ENDIANESS=	le
PLIST_SUB+=	AMD64="@comment "
.elif ${ARCH} == "amd64"
MAINTAINER=	bzeeb+freebsdports@zabbadoz.net
PORTVERSION=	1.1
PORTREVISION=	2
AMD64_PATCHES=	p-amd64-common p-amd64-gcc p-amd64-gcc-321-322 p-amd64-gcchacks \
		p-amd64-gccstatic p-amd64-m3 p-amd64-m3-except-sort p-amd64-newfiles
EXTRA_PATCHES=	${PATCHDIR}/extra-patch-fcntl
TARGET=		FBSD_AMD64
WORDSIZE=	64
ENDIANESS=	le
PLIST_SUB+=	AMD64=""
.elif ${ARCH} == "i386"
TARGET=		FreeBSD4
WORDSIZE=	32
ENDIANESS=	le
PLIST_SUB+=	AMD64="@comment "
.elif ${ARCH} == "sparc64"
TARGET=		FBSD_SPARC64
WORDSIZE=	64
ENDIANESS=	be
PLIST_SUB+=	AMD64="@comment "
.endif

# The build fails for -O2 or greater.  Override it with plain -O.
.if defined(CFLAGS) && !empty(CFLAGS:M-O[2-9s]*)
CFLAGS+=	-O
.endif

pre-patch:
.if ${ARCH} == "amd64"
.for f in ${AMD64_PATCHES}
	@cd ${WRKSRC} && ${PATCH} ${PATCH_ARGS} < ${WRKDIR}/${f}
.endfor
.endif
.if ${OSVERSION} >= 1000012
	@${FIND} ${WRKSRC} -name 'malloc.c' -exec truncate -s 0 {} +
.endif

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}
	@(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/ezm3
	@${INSTALL_DATA} ${WRKSRC}/src/COPYRIGHT ${PREFIX}/share/ezm3

.include <bsd.port.post.mk>