Changeset View
Changeset View
Standalone View
Standalone View
multimedia/x264/Makefile
Show All 30 Lines | |||||
MAINTAINER= koobs@FreeBSD.org | MAINTAINER= koobs@FreeBSD.org | ||||
COMMENT?= H.264/MPEG-4 AVC Video Encoding (Front End CLI) | COMMENT?= H.264/MPEG-4 AVC Video Encoding (Front End CLI) | ||||
LICENSE= GPLv2 | LICENSE= GPLv2 | ||||
LICENSE_FILE= ${WRKSRC}/COPYING | LICENSE_FILE= ${WRKSRC}/COPYING | ||||
BUILD_DEPENDS= yasm>=1.2.0:devel/yasm \ | BUILD_DEPENDS= yasm>=1.2.0:devel/yasm \ | ||||
bash:shells/bash | bash:shells/bash | ||||
LIB_DEPENDS?= libx264.so:multimedia/libx264 | |||||
X264_BUILD= 144 | X264_BUILD= 144 | ||||
X264_REV= 2533 | X264_REV= 2533 | ||||
X264_COMMIT= c8a773ebfca148ef04f5a60d42cbd7336af0baf6 | X264_COMMIT= c8a773ebfca148ef04f5a60d42cbd7336af0baf6 | ||||
X264_GITVER= ${X264_COMMIT:C/^(.......).*$/\1/g} | X264_GITVER= ${X264_COMMIT:C/^(.......).*$/\1/g} | ||||
X264_SNAPSHOT= 20150629 | X264_SNAPSHOT= 20150629 | ||||
USES?= gmake pkgconfig tar:bzip2 | USES?= pkgconfig | ||||
USES+= gmake localbase shebangfix tar:bzip2 | |||||
USE_LDCONFIG= yes | USE_LDCONFIG= yes | ||||
HAS_CONFIGURE= yes | HAS_CONFIGURE= yes | ||||
SHEBANG_FILES= configure | |||||
PLIST_FILES?= bin/x264 | |||||
OPTIONS_DEFINE?= ASM DEBUG GCC GPAC LAVF PGO | OPTIONS_DEFINE?= ASM DEBUG GCC GPAC LAVF PGO | ||||
OPTIONS_DEFAULT?= ASM GPAC | OPTIONS_DEFAULT?= ASM GPAC | ||||
GPAC_DESC= MPEG-4 output support | GPAC_DESC= MPEG-4 output support | ||||
LAVF_DESC= libav* format input/output support (requires FFmpeg) | LAVF_DESC= libav* format input/output support (requires FFmpeg) | ||||
ASM_CONFIGURE_OFF= --disable-asm | ASM_CONFIGURE_OFF= --disable-asm | ||||
DEBUG_CONFIGURE_ON= --enable-debug | DEBUG_CONFIGURE_ON= --enable-debug | ||||
DEBUG_CONFIGURE_OFF= --enable-strip | DEBUG_CONFIGURE_OFF= --enable-strip | ||||
GCC_VARS= USE_GCC=yes | |||||
GPAC_CONFIGURE_OFF= --disable-gpac | GPAC_CONFIGURE_OFF= --disable-gpac | ||||
GPAC_LIB_DEPENDS= libgpac.so:multimedia/gpac-libgpac | GPAC_LIB_DEPENDS= libgpac.so:multimedia/gpac-libgpac | ||||
LAVF_CONFIGURE_OFF= --disable-swscale --disable-lavf | LAVF_CONFIGURE_OFF= --disable-swscale --disable-lavf | ||||
LAVF_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \ | LAVF_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \ | ||||
libavformat.so:multimedia/ffmpeg \ | libavformat.so:multimedia/ffmpeg \ | ||||
libavutil.so:multimedia/ffmpeg \ | libavutil.so:multimedia/ffmpeg \ | ||||
libswscale.so:multimedia/ffmpeg | libswscale.so:multimedia/ffmpeg | ||||
CONFIGURE_COMMON_ARGS= --prefix=${PREFIX} \ | PGO_DISTFILES= ${Y4M_VIDEO_DISTFILE}:pgo | ||||
--extra-cflags="-I${LOCALBASE}/include" \ | PGO_VARS= USE_GCC=any | ||||
--extra-ldflags="-L${LOCALBASE}/lib" \ | PGO_MAKE_ENV= VIDS="${WRKDIR}/${Y4M_VIDEO}" | ||||
PGO_ALL_TARGET= fprofiled | |||||
# y4m sample video | |||||
PGO_VARS+= Y4M_VIDEO=example.y4m \ | |||||
Y4M_VIDEO_DISTFILE=example.y4m.bz2 \ | |||||
RESTRICTED="${Y4M_VIDEO_DISTFILE} file may not be mirrored" \ | |||||
RESTRICTED_FILES="${Y4M_VIDEO_DISTFILE}" | |||||
CONFIGURE_ARGS?= --system-libx264 | |||||
CONFIGURE_ARGS+= --prefix="${PREFIX}" \ | |||||
--extra-cflags="${CPPFLAGS} ${CFLAGS}" \ | |||||
--extra-ldflags="${LDFLAGS}" \ | |||||
--disable-opencl \ | --disable-opencl \ | ||||
CONFIGURE_ARGS?= ${CONFIGURE_COMMON_ARGS} \ | |||||
--system-libx264 | |||||
CFLAGS_armv6+= -mcpu=arm1136jf-s | CFLAGS_armv6+= -mcpu=arm1136jf-s | ||||
.include <bsd.port.options.mk> | post-extract-PGO-on: | ||||
@${BZIP2_CMD} -dc ${DISTDIR}/${DIST_SUBDIR}/${Y4M_VIDEO_DISTFILE} \ | |||||
>${WRKDIR}/${Y4M_VIDEO} | |||||
.if ${SLAVE_PORT} == "no" | |||||
PLIST_FILES+= bin/x264 | |||||
LIB_DEPENDS+= libx264.so:multimedia/libx264 | |||||
.endif | |||||
.if ${PORT_OPTIONS:MGCC} | |||||
USE_GCC= yes | |||||
.elif ${PORT_OPTIONS:MPGO} | |||||
USE_GCC= any | |||||
.endif | |||||
.if ${PORT_OPTIONS:MPGO} | |||||
# y4m sample video | |||||
Y4M_VIDEO= example.y4m | |||||
Y4M_VIDEO_DISTFILE= example.y4m.bz2 | |||||
DISTFILES+= ${Y4M_VIDEO_DISTFILE}:pgo | |||||
ALL_TARGET= fprofiled | |||||
MAKE_ENV+= VIDS="${WRKDIR}/${Y4M_VIDEO}" | |||||
RESTRICTED= ${Y4M_VIDEO_DISTFILE} file may not be mirrored | |||||
RESTRICTED_FILES= ${Y4M_VIDEO_DISTFILE} | |||||
.endif | |||||
post-extract: | |||||
.if ${PORT_OPTIONS:MPGO} | |||||
@( cd ${WRKDIR} && ${BZIP2_CMD} -dc ${DISTDIR}/${DIST_SUBDIR}/${Y4M_VIDEO_DISTFILE} > ${Y4M_VIDEO} ) | |||||
.endif | |||||
post-patch: | post-patch: | ||||
@${REINPLACE_CMD} -e ' \ | @${REINPLACE_CMD} -e ' \ | ||||
s|/bin/bash|${LOCALBASE}/bin/bash|; \ | |||||
s|gpac_static|gpac|g' \ | s|gpac_static|gpac|g' \ | ||||
${WRKSRC}/configure | ${WRKSRC}/configure | ||||
@${REINPLACE_CMD} -e ' \ | @${REINPLACE_CMD} -e ' \ | ||||
s|bash|sh|; \ | s|bash|sh|; \ | ||||
s|VER="x"|VER="${X264_REV} ${X264_GITVER}"|; \ | s|VER="x"|VER="${X264_REV} ${X264_GITVER}"|; \ | ||||
s|VERSION=""|VERSION=" r${X264_REV} ${X264_GITVER}"|' \ | s|VERSION=""|VERSION=" r${X264_REV} ${X264_GITVER}"|' \ | ||||
${WRKSRC}/version.sh | ${WRKSRC}/version.sh | ||||
.if ${SLAVE_PORT} == "no" | .if !target(pre-build) | ||||
pre-build: | pre-build: | ||||
@(${RM} ${WRKSRC}/x264_config.h) | @(${RM} ${WRKSRC}/x264_config.h) | ||||
.endif | .endif | ||||
.include <bsd.port.mk> | .include <bsd.port.mk> |