summaryrefslogtreecommitdiff
path: root/parallel/sge/Makefile
blob: a456e8df5d162feec76e40dcf017519fb92b4ff8 (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
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# $NetBSD: Makefile,v 1.1.1.1 2004/05/03 00:38:34 dmcmahill Exp $
#

DISTNAME=		sge-5.3p6
CATEGORIES=		parallel sysutils
MASTER_SITES=		${MASTER_SITE_LOCAL}

MAINTAINER=		tech-pkg@NetBSD.org
HOMEPAGE=		http://gridengine.sunsource.net/
COMMENT=		Sun Grid Engine distributed resource management system

BUILD_DEPENDS+=		{standalone-tcsh,tcsh}-[0-9]*:../../shells/tcsh

GNU_CONFIGURE=		YES
USE_BUILDLINK3=		YES
USE_GNU_TOOLS+=		make
USE_X11=		YES
USE_PERL5=		YES

CFLAGS+=		-D${UPPER_OPSYS}
CONFIGURE_ENV+=		REMOTE=sge
CONFIGURE_ENV+=		CFLAGS="${CFLAGS}"
CONFIGURE_ARGS+=	--with-grd=${SGE_BUILDARCH}
PLIST_SUBST+=		SGE_ARCH=${SGE_ARCH}
MESSAGE_SUBST+=		SGE_ROOT=${SGE_ROOT}
MAKE_ENV+=		PERL5=${PERL5}

USE_PKGINSTALL=		YES
SGE_USER?=		sgeadmin
SGE_GROUP?=		sgeadmin
PKG_GROUPS=		${SGE_GROUP}
PKG_USERS=		${SGE_USER}:${SGE_GROUP}::Sun\\ Grid\\ Engine\\ Administrator

EVAL_PREFIX+=	PKGSRC_SSL_PREFIX=openssl

AIMK=	${SETENV} ${MAKE_ENV} tcsh -fb ${WRKSRC}/source/aimk

.include "../../mk/bsd.prefs.mk"

# SGE_ARCH should match the putput of ${WRKSRC}/source/dist/util/arch
# SGE_BUILDARCH should match whats in ${WRKSRC}/source/aimk
UPPER_OPSYS!=		${ECHO} "${OPSYS}" | ${TR} a-z A-Z

.if ${OPSYS} == "NetBSD"
SGE_ARCH=		nbsd-${MACHINE_ARCH}
SGE_BUILDARCH!=		${ECHO} "${OPSYS}_${MACHINE_ARCH}" | ${TR} a-z A-Z
.elif ${OPSYS} == "FreeBSD"
SGE_ARCH=		fbsd-${MACHINE_ARCH}
SGE_BUILDARCH!=		${ECHO} "${OPSYS}_${MACHINE_ARCH}" | ${TR} a-z A-Z
.elif ${OPSYS} == "SunOS"
.  if ${MACHINE_ARCH} == "i386"
SGE_ARCH=		solaris86
.  else
SGE_ARCH=		solaris
#or solaris64
.  endif
SGE_BUILDARCH!=		${ECHO} "${SGE_ARCH}" | ${TR} a-z A-Z
.elif ${OPSYS} == "Darwin"
SGE_ARCH=		darwin
SGE_BUILDARCH=		DARWIN
.else
PKG_FAIL_REASON=	"SGE_ARCH and SGE_BUILDARCH need to be confgured for your OS"
.endif

LDFLAGS+=	-R${SGE_ROOT}/lib/${SGE_ARCH}
BUILDLINK_PASSTHRU_RPATHDIRS+=	${SGE_ROOT}/lib/${SGE_ARCH}

SGE_ROOT=	${PREFIX}/sge

post-patch:
	@if [ "`${WRKSRC}/source/dist/util/arch`" != "${SGE_ARCH}" ]; then \
		${ECHO} "ERROR:  SGE_ARCH as set in the pkgsrc Makefile," ;\
		${ECHO} "        ${SGE_ARCH}, does not agree with that returned by" ; \
		${ECHO} "        ${WRKSRC}/source/dist/util/arch," ; \
		${ECHO} "        `${WRKSRC}/source/dist/util/arch`" ; \
		${FALSE} ; \
	fi

pre-configure:
.for __tmp__ in source/dist/util/arch_variables source/scripts/distinst.site source/aimk.site
	${MV} ${WRKSRC}/${__tmp__} ${WRKSRC}/${__tmp__}.bak
	${SED} -e 's;@rcd_dir@;${RCD_SCRIPTS_DIR};g' -e 's;@ssl_prefix@;${SSL_PREFIX};g' \
		-e 's;@perl5@;${PERL5};g' ${WRKSRC}/${__tmp__}.bak > \
		${WRKSRC}/${__tmp__}
	${RM} ${WRKSRC}/${__tmp__}.bak
.endfor

do-configure:
.for __prog__ in qmake qtcsh
	${MKDIR} ${WRKSRC}/source/3rdparty/${__prog__}/${SGE_BUILDARCH}
	cd ${WRKSRC}/source/3rdparty/${__prog__}/${SGE_BUILDARCH} && \
		${SETENV} ${CONFIGURE_ENV} \
		SGE_ARCH=`${WRKSRC}/source/dist/util/arch` \
		../configure ${CONFIGURE_ARGS} --srcdir=..
.endfor

do-build:
	cd ${WRKSRC}/source && ${AIMK} -only-depend
	cd ${WRKSRC}/source && ${SETENV} ${MAKE_ENV} ./scripts/zerodepend
	cd ${WRKSRC}/source && ${AIMK} -no-qmake -no-qtcsh depend
	cd ${WRKSRC}/source && ${AIMK} -secure
	cd ${WRKSRC}/source && ${AIMK} -man

do-install:
	${LN} -fs ${WRKSRC}/source/scripts/distinst ${WRKSRC}/source/scripts/myinst
	${MKDIR} ${SGE_ROOT}
	${CHOWN} ${SGE_USER} ${SGE_ROOT}
	${CHGRP} ${SGE_GROUP} ${SGE_ROOT}
	cd ${WRKSRC}/source && \
		${ECHO} "Y" | ${SETENV} LOCALBASE=${LOCALBASE} SGE_ROOT=${SGE_ROOT} ./scripts/myinst -allall ${SGE_ARCH}
	cd ${SGE_ROOT} && ${SETENV} SGE_ROOT=${SGE_ROOT} ./util/setfileperm.sh -auto -noresport \
		${SGE_USER} ${SGE_GROUP} ${SGE_ROOT}
	for f in ${SGE_ROOT}/bin/${SGE_ARCH}/q* ; do \
		cd ${PREFIX}/bin && ${LN} -fs $$f ; done

.include "../../graphics/xpm/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../mk/motif.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
.if ${USE_BUILTIN.openssl} == "yes"
SSL_PREFIX=	/usr
.else
SSL_PREFIX=	${PKGSRC_SSL_PREFIX}
.endif