Guest User

ffmpeg-0.10.8 Makefile

a guest
Oct 11th, 2013
75
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
  2. # $FreeBSD: multimedia/ffmpeg/Makefile 327343 2013-09-15 14:54:36Z az $
  3.  
  4. PORTNAME= ffmpeg
  5. PORTVERSION= 0.10.8
  6. PORTEPOCH= 1
  7. PORTREVISION= 1
  8. CATEGORIES= multimedia audio ipv6 net
  9. MASTER_SITES= http://ffmpeg.org/releases/
  10.  
  11. MAINTAINER= mm@FreeBSD.org
  12. COMMENT= Realtime audio/video encoder/converter and streaming server
  13.  
  14. CONFLICTS= libav-[0-9]*
  15.  
  16. LICENSE= GPLv2 LGPL21
  17. LICENSE_COMB= multi
  18. LICENSE_FILE_GPLv2= ${WRKSRC}/COPYING.GPLv2
  19. LICENSE_FILE_LGPL21= ${WRKSRC}/COPYING.LGPLv2.1
  20.  
  21. BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm \
  22. ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils \
  23. ${LOCALBASE}/bin/texi2html:${PORTSDIR}/textproc/texi2html
  24.  
  25. HAS_CONFIGURE= yes
  26. CONFIGURE_LOG= config.err
  27. USES= gmake perl5 pkgconfig
  28. USE_BZIP2= yes
  29. WANT_SDL= yes
  30. USE_PERL5= build
  31.  
  32. OPTIONS_DEFINE= AACPLUS ALSA AMR_NB AMR_WB CELT DEBUG DIRAC FAAC \
  33. FFSERVER FREETYPE FREI0R GSM LAME OPENCV OPENJPEG \
  34. OPTIMIZED_CFLAGS RTMP SCHROEDINGER SDL SPEEX THEORA VAAPI \
  35. VDPAU VO_AACENC VO_AMRWBENC VORBIS VPX X11GRAB X264 XVID
  36.  
  37. OPTIONS_DEFAULT= FFSERVER FREETYPE FREI0R OPENCV SCHROEDINGER THEORA \
  38. VORBIS VPX X264 XVID
  39.  
  40. FFSERVER_DESC= Build and install ffserver
  41. X11GRAB_DESC= Enable x11 grabbing
  42.  
  43. COMPAT_HEADERS=libavcodec/avcodec.h \
  44. libavcodec/opt.h \
  45. libavcodec/vdpau.h \
  46. libavcodec/xvmc.h \
  47. libavdevice/avdevice.h \
  48. libavfilter/avfilter.h \
  49. libavformat/avformat.h \
  50. libavformat/avio.h \
  51. libavutil/adler32.h \
  52. libavutil/avstring.h \
  53. libavutil/avutil.h \
  54. libavutil/base64.h \
  55. libavutil/common.h \
  56. libavutil/crc.h \
  57. libavutil/fifo.h \
  58. libavutil/intfloat_readwrite.h \
  59. libavutil/log.h \
  60. libavutil/lzo.h \
  61. libavutil/mathematics.h \
  62. libavutil/md5.h \
  63. libavutil/mem.h \
  64. libavutil/pixfmt.h \
  65. libavutil/rational.h \
  66. libavutil/sha1.h \
  67. libpostproc/postprocess.h \
  68. libswscale/swscale.h
  69.  
  70. MAN1+= ffmpeg.1 ffprobe.1
  71.  
  72. .include <bsd.port.options.mk>
  73.  
  74. # PORTDOCS
  75. .if ${PORT_OPTIONS:MFFSERVER}
  76. MAN1+= ffserver.1
  77. .endif
  78.  
  79. # rtmp
  80. .if ${PORT_OPTIONS:MRTMP}
  81. USE_OPENSSL= yes
  82. .endif
  83.  
  84. # x11grab
  85. .if ${PORT_OPTIONS:MX11GRAB}
  86. USE_XORG= x11 xext xfixes
  87. CONFIGURE_ARGS+= --enable-x11grab
  88. .endif
  89.  
  90. .include <bsd.port.pre.mk>
  91.  
  92. CONFIGURE_ENV+= COMPILER_PATH=${LOCALBASE}/bin
  93. MAKE_ENV+= COMPILER_PATH=${LOCALBASE}/bin
  94.  
  95. CONFIGURE_ARGS+=--prefix="${PREFIX}" \
  96. --mandir="${PREFIX}/man" \
  97. --enable-shared \
  98. --enable-gpl \
  99. --enable-postproc \
  100. --enable-avfilter \
  101. --enable-pthreads \
  102. --enable-memalign-hack \
  103. --enable-runtime-cpudetect \
  104. --cc="${CC}" \
  105. --extra-cflags="${FFMPEG_CFLAGS} -I${LOCALBASE}/include" \
  106. --extra-ldflags="-L${LOCALBASE}/lib ${FFMPEG_LDFLAGS}" \
  107. --extra-libs="${PTHREAD_LIBS}"
  108. SHLIB_VER= 1
  109. PLIST_SUB= SHLIB_VER=${SHLIB_VER}
  110. USE_LDCONFIG= yes
  111.  
  112. DOC_FILES= CREDITS INSTALL LICENSE MAINTAINERS README RELEASE
  113. # under doc subdirectory
  114. DOC_DOCFILES= APIchanges RELEASE_NOTES TODO *.txt *.html
  115. PORTDOCS= *
  116.  
  117. .if ${PORT_OPTIONS:MDEBUG}
  118. CONFIGURE_ARGS+= --disable-stripping
  119. .else
  120. CONFIGURE_ARGS+= --disable-debug
  121. .endif
  122.  
  123. .if ${PORT_OPTIONS:MFFSERVER}
  124. USE_RC_SUBR= ffserver
  125. .endif
  126.  
  127. # sse hardware vector support
  128. .if defined(MACHINE_CPU) && (${MACHINE_CPU:Msse} == "sse" || ${MACHINE_CPU:Mamd64} == "amd64")
  129. _BUILTIN_VECTOR= yes
  130. .else
  131. CONFIGURE_ARGS+= --disable-sse
  132. .endif
  133.  
  134. # mmx support
  135. .if defined(MACHINE_CPU) && ${MACHINE_CPU:Mmmx} == "" && ${MACHINE_CPU:Mamd64} == ""
  136. CONFIGURE_ARGS+= --disable-mmx
  137. _NO_BUILTIN_VECTOR= yes
  138. .endif
  139.  
  140. # builtin vector, requires mmx and sse
  141. .if !defined(_NO_BUILTIN_VECTOR) && defined(_BUILTIN_VECTOR)
  142. CFLAGS+= -msse
  143. .endif
  144.  
  145. # optimizations
  146. .if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
  147. CFLAGS+= -O3 -ffast-math -fno-finite-math-only -fomit-frame-pointer
  148. .endif
  149.  
  150. #aacplus
  151. .if ${PORT_OPTIONS:MAACPLUS}
  152. FFMPEG_NONFREE= yes
  153. LIB_DEPENDS+= aacplus.2:${PORTSDIR}/audio/libaacplus
  154. CONFIGURE_ARGS+= --enable-libaacplus
  155. .else
  156. CONFIGURE_ARGS+= --disable-libaacplus
  157. .endif
  158.  
  159. #alsa
  160. .if ${PORT_OPTIONS:MALSA}
  161. LIB_DEPENDS+= asound.2:${PORTSDIR}/audio/alsa-lib
  162. .else
  163. CONFIGURE_ARGS+= --disable-indev=alsa \
  164. --disable-outdev=alsa
  165. .endif
  166.  
  167. # Opencore AMR NB
  168. .if ${PORT_OPTIONS:MAMR_NB}
  169. FFMPEG_LICENSE_GPL3= yes
  170. LIB_DEPENDS+= opencore-amrnb.0:${PORTSDIR}/audio/opencore-amr
  171. CONFIGURE_ARGS+= --enable-libopencore-amrnb
  172. .else
  173. CONFIGURE_ARGS+= --disable-libopencore-amrnb
  174. .endif
  175.  
  176. # Opencore AMR WB
  177. .if ${PORT_OPTIONS:MAMR_WB}
  178. FFMPEG_LICENSE_GPL3= yes
  179. LIB_DEPENDS+= opencore-amrwb.0:${PORTSDIR}/audio/opencore-amr
  180. CONFIGURE_ARGS+= --enable-libopencore-amrwb
  181. .else
  182. CONFIGURE_ARGS+= --disable-libopencore-amrwb
  183. .endif
  184.  
  185. # celt
  186. .if ${PORT_OPTIONS:MCELT}
  187. LIB_DEPENDS+= celt0.2:${PORTSDIR}/audio/celt
  188. CONFIGURE_ARGS+= --enable-libcelt
  189. .else
  190. CONFIGURE_ARGS+= --disable-libcelt
  191. .endif
  192.  
  193. # dirac
  194. .if ${PORT_OPTIONS:MDIRAC}
  195. LIB_DEPENDS+= dirac_encoder.1:${PORTSDIR}/multimedia/dirac
  196. CONFIGURE_ARGS+= --enable-libdirac
  197. .else
  198. CONFIGURE_ARGS+= --disable-libdirac
  199. .endif
  200.  
  201. # faac
  202. .if ${PORT_OPTIONS:MFAAC}
  203. FFMPEG_NONFREE= yes
  204. LIB_DEPENDS+= faac.0:${PORTSDIR}/audio/faac
  205. CONFIGURE_ARGS+= --enable-libfaac
  206. .else
  207. CONFIGURE_ARGS+= --disable-libfaac
  208. .endif
  209.  
  210. # ffserver
  211. .if ${PORT_OPTIONS:MFFSERVER}
  212. PLIST_SUB+= FFSERVER=""
  213. .else
  214. PLIST_SUB+= FFSERVER="@comment "
  215. CONFIGURE_ARGS+= --disable-ffserver
  216. .endif
  217.  
  218. # freetype
  219. .if ${PORT_OPTIONS:MFREETYPE}
  220. LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
  221. CONFIGURE_ARGS+= --enable-libfreetype
  222. .else
  223. CONFIGURE_ARGS+= --disable-libfreetype
  224. .endif
  225.  
  226. # frei0r
  227. .if ${PORT_OPTIONS:MFREI0R}
  228. BUILD_DEPENDS+= ${LOCALBASE}/include/frei0r.h:${PORTSDIR}/graphics/frei0r
  229. CONFIGURE_ARGS+= --enable-frei0r
  230. .else
  231. CONFIGURE_ARGS+= --disable-frei0r
  232. .endif
  233.  
  234. # gsm
  235. .if ${PORT_OPTIONS:MGSM}
  236. LIB_DEPENDS+= gsm.1:${PORTSDIR}/audio/gsm
  237. CONFIGURE_ARGS+= --enable-libgsm
  238. .else
  239. CONFIGURE_ARGS+= --disable-libgsm
  240. .endif
  241.  
  242. # mp3
  243. .if ${PORT_OPTIONS:MLAME}
  244. LIB_DEPENDS+= mp3lame.0:${PORTSDIR}/audio/lame
  245. CONFIGURE_ARGS+= --enable-libmp3lame
  246. .else
  247. CONFIGURE_ARGS+= --disable-libmp3lame
  248. .endif
  249.  
  250. # opencv
  251. .if ${PORT_OPTIONS:MOPENCV}
  252. LIB_DEPENDS+= opencv_imgproc.2:${PORTSDIR}/graphics/opencv-core
  253. CONFIGURE_ARGS+= --enable-libopencv
  254. .else
  255. CONFIGURE_ARGS+= --disable-libopencv
  256. .endif
  257.  
  258. # openjpeg
  259. .if ${PORT_OPTIONS:MOPENJPEG}
  260. LIB_DEPENDS+= openjpeg.2:${PORTSDIR}/graphics/openjpeg
  261. CONFIGURE_ARGS+= --enable-libopenjpeg
  262. .else
  263. CONFIGURE_ARGS+= --disable-libopenjpeg
  264. .endif
  265.  
  266. # rtmp
  267. .if ${PORT_OPTIONS:MRTMP}
  268. LIB_DEPENDS+= rtmp.0:${PORTSDIR}/multimedia/rtmpdump
  269. CONFIGURE_ARGS+= --enable-librtmp
  270. . if ${OPENSSLBASE} != "/usr"
  271. FFMPEG_CFLAGS+= -I${OPENSSLINC}
  272. FFMPEG_LDFLAGS+= -L${OPENSSLLIB}
  273. . endif
  274. .else
  275. CONFIGURE_ARGS+= --disable-librtmp
  276. .endif
  277.  
  278. # schroedinger
  279. .if ${PORT_OPTIONS:MSCHROEDINGER}
  280. LIB_DEPENDS+= schroedinger-1.0.11:${PORTSDIR}/multimedia/schroedinger
  281. CONFIGURE_ARGS+= --enable-libschroedinger
  282. .else
  283. CONFIGURE_ARGS+= --disable-libschroedinger
  284. .endif
  285.  
  286. # sdl
  287. .if ${PORT_OPTIONS:MSDL}
  288. USE_SDL+= sdl
  289. PLIST_FILES+= bin/ffplay
  290. MAN1+= ffplay.1
  291. .else
  292. CONFIGURE_ARGS+= --disable-ffplay
  293. .endif
  294.  
  295. # speex
  296. .if ${PORT_OPTIONS:MSPEEX}
  297. LIB_DEPENDS+= speex.1:${PORTSDIR}/audio/speex
  298. CONFIGURE_ARGS+= --enable-libspeex
  299. .else
  300. CONFIGURE_ARGS+= --disable-libspeex
  301. .endif
  302.  
  303. # theora
  304. .if ${PORT_OPTIONS:MTHEORA}
  305. LIB_DEPENDS+= theora.0:${PORTSDIR}/multimedia/libtheora
  306. CONFIGURE_ARGS+= --enable-libtheora
  307. .else
  308. CONFIGURE_ARGS+= --disable-libtheora
  309. .endif
  310.  
  311. # vaapi
  312. .if ${PORT_OPTIONS:MVAAPI}
  313. FFMPEG_LICENSE_GPL3= yes
  314. LIB_DEPENDS+= va.1:${PORTSDIR}/multimedia/libva
  315. CONFIGURE_ARGS+= --enable-vaapi
  316. .else
  317. CONFIGURE_ARGS+= --disable-vaapi
  318. .endif
  319.  
  320. # vdpau
  321. .if ${PORT_OPTIONS:MVDPAU}
  322. BUILD_DEPENDS+= ${LOCALBASE}/include/vdpau/vdpau.h:${PORTSDIR}/multimedia/libvdpau
  323. CONFIGURE_ARGS+= --enable-vdpau
  324. .else
  325. CONFIGURE_ARGS+= --disable-vdpau
  326. .endif
  327.  
  328. # vo-aacenc
  329. .if ${PORT_OPTIONS:MVO_AACENC}
  330. FFMPEG_LICENSE_GPL3= yes
  331. LIB_DEPENDS+= vo-aacenc.0:${PORTSDIR}/audio/vo-aacenc
  332. CONFIGURE_ARGS+= --enable-libvo-aacenc
  333. .else
  334. CONFIGURE_ARGS+= --disable-libvo-aacenc
  335. .endif
  336.  
  337. # vo-amrwbenc
  338. .if ${PORT_OPTIONS:MVO_AMRWBENC}
  339. FFMPEG_LICENSE_GPL3= yes
  340. LIB_DEPENDS+= vo-amrwbenc.0:${PORTSDIR}/audio/vo-amrwbenc
  341. CONFIGURE_ARGS+= --enable-libvo-amrwbenc
  342. .else
  343. CONFIGURE_ARGS+= --disable-libvo-amrwbenc
  344. .endif
  345.  
  346. # vorbis
  347. .if ${PORT_OPTIONS:MVORBIS}
  348. LIB_DEPENDS+= vorbisenc.2:${PORTSDIR}/audio/libvorbis
  349. CONFIGURE_ARGS+= --enable-libvorbis
  350. FFMPEG_CFLAGS+= -I${LOCALBASE}/include/vorbis
  351. .else
  352. CONFIGURE_ARGS+= --disable-libvorbis
  353. .endif
  354.  
  355. # vp8
  356. .if ${PORT_OPTIONS:MVPX}
  357. LIB_DEPENDS+= vpx.1:${PORTSDIR}/multimedia/libvpx
  358. CONFIGURE_ARGS+= --enable-libvpx
  359. .else
  360. CONFIGURE_ARGS+= --disable-libvpx
  361. .endif
  362.  
  363. # x264
  364. .if ${PORT_OPTIONS:MX264}
  365. LIB_DEPENDS+= x264.125:${PORTSDIR}/multimedia/x264
  366. CONFIGURE_ARGS+= --enable-libx264
  367. .else
  368. CONFIGURE_ARGS+= --disable-libx264
  369. .endif
  370.  
  371. # xvid
  372. .if ${PORT_OPTIONS:MXVID}
  373. LIB_DEPENDS+= xvidcore.4:${PORTSDIR}/multimedia/xvid
  374. CONFIGURE_ARGS+= --enable-libxvid
  375. .else
  376. CONFIGURE_ARGS+= --disable-libxvid
  377. .endif
  378.  
  379. # License knobs
  380. .if defined(FFMPEG_NONFREE)
  381. RESTRICTED= linking to libfaac or libaacplus restricts redistribution
  382. CONFIGURE_ARGS+= --enable-nonfree
  383. .endif
  384.  
  385. .if defined(FFMPEG_LICENSE_GPL3)
  386. LICENSE= GPLv3 LGPL3
  387. LICENSE_FILE_GPLv3= ${WRKSRC}/COPYING.GPLv3
  388. LICENSE_FILE_LGPL3= ${WRKSRC}/COPYING.LGPLv3
  389. CONFIGURE_ARGS+= --enable-version3
  390. .endif
  391.  
  392.  
  393. .if ${PORT_OPTIONS:MDSL}
  394. @${REINPLACE_CMD} -E \
  395. -e 's|sdl-config|${SDL_CONFIG}|g' \
  396. ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
  397. @${FIND} ${WRKSRC} -type f | \
  398. ${XARGS} -n 10 ${REINPLACE_CMD} -E \
  399. -e 's|#include <SDL|#include <SDL/SDL|'
  400. .endif
  401.  
  402. post-configure:
  403. .if empty(PORT_OPTIONS:MTHEORA)
  404. @${REINPLACE_CMD} -E \
  405. -e 's|^(CONFIG_LIBTHEORA).*$$|\1=no|' \
  406. ${WRKSRC}/config.mak
  407. .endif
  408.  
  409. post-install:
  410. .if ${PORT_OPTIONS:MFFSERVER}
  411. ${INSTALL_DATA} ${WRKSRC}/doc/ffserver.conf ${PREFIX}/etc/ffserver.conf-dist
  412. if [ ! -f ${PREFIX}/etc/ffserver.conf ]; then \
  413. ${INSTALL_DATA} ${WRKSRC}/doc/ffserver.conf ${PREFIX}/etc; \
  414. fi
  415. .endif
  416.  
  417. ${MKDIR} ${PREFIX}/include/ffmpeg
  418. .for FILE in ${COMPAT_HEADERS}
  419. ${LN} -sf ../${FILE} ${PREFIX}/include/ffmpeg/${FILE:C,^[^/]+/([^/]+).*,\1,}
  420. .endfor
  421. ${MKDIR} ${PREFIX}/include/postproc
  422. ${LN} -sf ../libpostproc/postprocess.h \
  423. ${PREFIX}/include/postproc/postprocess.h
  424.  
  425. .include <bsd.port.post.mk>
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×