# $FreeBSD$

JDK_PORT?=	openjdk6
JDK_ROOT?=	bootstrap-${JDK_PORT}
TARGET_OS?=	10

.if !defined(PORTSDIR)
.if exists(${.CURDIR}/../${JDK_PORT}/Makefile)
PORTSDIR=	${.CURDIR}/../..
.else
PORTSDIR=	/usr/ports
.endif
.endif

LOCALBASE?=	/usr/local

.include "${PORTSDIR}/Mk/bsd.commands.mk"

JDK_PORTDIR!=	${REALPATH} ${PORTSDIR}/java/${JDK_PORT}
JDK_IMAGEDIR?=	${JDK_PORTDIR}/work/stage/usr/local/${JDK_PORT}

GET_REVISION=	${LOCALBASE}/bin/svnversion ${JDK_PORTDIR}
TAR?=		/usr/bin/tar

.if !defined(ARCH)
ARCH!=		${UNAME} -p
.endif
BUILD_OS!=	${UNAME} -r | ${SED} -e 's/\..*//'
PORTREVISION!=	${GET_REVISION} 2>/dev/null || ${TRUE}

DISTDIR?=	${.CURDIR}
DISTFILE=	${JDK_PORT}-${ARCH}-r${PORTREVISION}.tar.xz
DISTINFO_FILE=	${.CURDIR}/distinfo.${ARCH}
MAKEFILE=	${.CURDIR}/Makefile
PLIST?=		${.CURDIR}/pkg-plist
PLIST_SUB=	ARCH="${ARCH}" JDK_ROOT="."

BUILD_ARGS=	BATCH=yes PORT_DBDIR=/var/empty
BUILD_ENV=	__MAKE_CONF=/dev/null PATH="${PATH}"
BUILD_ENV+=	java_openjdk6_UNSET_FORCE=ICEDTEA
JDK_BUILD_ARGS=	${BUILD_ARGS}

.if ${ARCH} == "i386"
PLIST_SUB+=	CLIENTVM=""
.else
PLIST_SUB+=	CLIENTVM="@comment "
.endif

all:
	@${ECHO} ""
	@${ECHO} "=============================================================="
	@${ECHO} ""
.if ${BUILD_OS} > ${TARGET_OS}
	@${ECHO} "We need FreeBSD ${TARGET_OS} but you seem to have ${BUILD_OS}."
	@${ECHO} ""
	@${ECHO} "=============================================================="
	@${ECHO} ""
	@${FALSE}
.endif
	@${ECHO} "Building ${DISTFILE}...."
	@${ECHO} ""
	@${ECHO} "Started at "`date -u`"."
	@${ECHO} ""
	@${ECHO} "=============================================================="
	@${ECHO} ""
.if !defined(NO_BUILD)
	@${SETENV} -i ${BUILD_ENV} \
	    ${MAKE} -C "${JDK_PORTDIR}" ${JDK_BUILD_ARGS} stage
	@${FIND} "${JDK_IMAGEDIR}" -type f \
	    -exec ${STRIP_CMD} -s {} \; 2> /dev/null
.endif
	@cd "${JDK_IMAGEDIR}" && \
	${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} ${PLIST} | \
	${GREP} -v ^@ | ${TAR} -c -f - -T - -s '|^\./|${JDK_ROOT}/|' | \
	${XZ_CMD} -9 -c > "${DISTDIR}/${DISTFILE}"
	@${SED} -i.bak \
	    's/^DISTVERSION_${ARCH}=.*/DISTVERSION_${ARCH}=	r${PORTREVISION}/' \
	    "${MAKEFILE}"
	@${MAKE} -f "${MAKEFILE}" makesum DISTDIR="${DISTDIR}" \
	    DISTINFO_FILE="${DISTINFO_FILE}"
	@${ECHO} ""
	@${ECHO} "=============================================================="
	@${ECHO} ""
	@${ECHO} "${DISTFILE} was built successfully!"
	@${ECHO} ""
	@${ECHO} "Finished at "`date -u`"."
	@${ECHO} ""
	@${ECHO} "You may clean up the build directory if everything looks okay,"
	@${ECHO} "e.g., 'rm -fr ${JDK_PORTDIR}/work'."
	@${ECHO} ""
	@${ECHO} "=============================================================="
	@${ECHO} ""