freebsd-ports/multimedia/gstreamer1-plugins/Makefile.common
Baptiste Daroussin a33191366c Convert GMAKE to MAKE_CMD
Please note that lots of invocation of MAKE_CMD here are wrong as they do not
properly respect MAKE_ENV and friends

With hat:	portmgr
2014-06-25 05:35:31 +00:00

504 lines
12 KiB
Text

# $FreeBSD$
# $MCom: kwm/multimedia/gstreamer1-plugins/Makefile.common 11415 2013-04-26 22:58:21Z kwm $
BASE_GST_ALL_PLUGINS= \
alsa \
cdparanoia \
ivorbis \
libvisual \
ogg \
pango \
theora \
vorbis \
x \
xvideo
BAD_GST_ALL_PLUGINS+= \
assrender \
curl \
dts \
faac \
faad \
flite \
gme \
gsm \
kate \
libmms \
librfb \
modplug \
mpeg2enc \
mplex \
neon \
ofa \
openal \
opencv \
openjpeg \
opus \
resindvd \
rtmp \
schro \
soundtouch \
spandsp \
webp \
zbar \
# plugins not yet ported to the 1.0 API, or not portable
BAD_GST_ALL_PLUGINS+= \
apexsink \
cdaudio \
chromaprint \
decklink \
directfb \
eglgles \
ladspa \
linsys \
lv2 \
mimic \
mpg123 \
musepack \
mythtv \
nas \
opensles \
pvr \
rsvg \
sdl \
sndfile \
sndio \
spc \
teletextdec \
timidity \
vdpau \
voaacenc \
voamrwbenc \
wayland \
xvid
BAD_GST_NON_PLUGINS= \
--enable-bz2 \
--enable-dvb \
--enable-shm \
--enable-quicktime \
--disable-gsettings \
--disable-acm \
--disable-android_media \
--disable-apple_media \
--disable-avc \
--disable-dc1394 \
--disable-dccp \
--disable-direct3d \
--disable-directdraw \
--disable-directsound \
--disable-fbdev \
--disable-osx_video \
--disable-uvch264 \
--disable-vcd \
--disable-wildmidi \
--disable-wininet
GOOD_GST_ALL_PLUGINS+= \
aalib \
cairo \
flac \
gdk_pixbuf \
jack \
jpeg \
libcaca \
libdv \
libpng \
gst_v4l2 \
shout2 \
soup \
speex \
taglib \
vpx \
wavpack \
x
# xxx pulse \
GOOD_GST_NON_PLUGINS= \
--disable-dv1394 \
--disable-directsound \
--disable-osx_audio \
--disable-osx_video \
--disable-sunaudio \
--disable-waveform \
--enable-bz2 \
--enable-oss \
--enable-oss4 \
--enable-zlib
UGLY_GST_ALL_PLUGINS+= \
a52dec \
amrnb \
amrwb \
cdio \
dvdread \
lame \
mad \
mpeg2dec \
sidplay \
twolame \
x264
UGLY_GST_NON_PLUGINS=
# Disable all plugins by default
.if ${DIST}=="base"
.for d in ${BASE_GST_ALL_PLUGINS}
CONFIGURE_ARGS+= --disable-${d}
.endfor
.endif
.if ${DIST}=="bad"
.for d in ${BAD_GST_ALL_PLUGINS}
CONFIGURE_ARGS+= --disable-${d}
.endfor
CONFIGURE_ARGS+= ${BAD_GST_NON_PLUGINS}
.endif
.if ${DIST}=="good"
.for d in ${GOOD_GST_ALL_PLUGINS}
CONFIGURE_ARGS+= --disable-${d}
.endfor
CONFIGURE_ARGS+= ${GOOD_GST_NON_PLUGINS}
.endif
.if ${DIST}=="ugly"
.for d in ${UGLY_GST_ALL_PLUGINS}
CONFIGURE_ARGS+= --disable-${d}
.endfor
CONFIGURE_ARGS+= ${UGLY_GST_NON_PLUGINS}
.endif
.if ${GST_PLUGIN}!="base" && ${GST_PLUGIN}!="bad" && \
${GST_PLUGIN}!="good" && ${GST_PLUGIN}!="ugly"
CONFIGURE_ARGS+= --enable-${GST_PLUGIN}
.endif
.if !defined(NO_GSTREAMER_COMMON)
GST_PLUGIN_SUFFIX?= -${GST_PLUGIN}
# Enable the right plugin
CONFIGURE_ARGS:=${CONFIGURE_ARGS:S|--disable-${GST_PLUGIN}|--enable-${GST_PLUGIN}|}
GST_INC_DIR= include/gstreamer-${VERSION}
GST_LIB_DIR= lib/gstreamer-${VERSION}
# Auto create PLIST
PLIST= ${NONEXISTENT}
# ------- plugins ---------
# a52dec
gst_a52dec_LIB_DEPENDS= liba52.so:${PORTSDIR}/audio/liba52
# aalib
gst_aalib_LIB_DEPENDS= libaa.so:${PORTSDIR}/graphics/aalib
gst_aalib_PLIST_FILES= ${GST_LIB_DIR}/libgstaasink.la \
${GST_LIB_DIR}/libgstaasink.so
# amrnb
gst_amrnb_LIB_DEPENDS= libopencore-amrnb.so:${PORTSDIR}/audio/opencore-amr
gst_amrnb_PLIST_FILES= ${GST_LIB_DIR}/libgstamrnb.la \
${GST_LIB_DIR}/libgstamrnb.so \
share/gstreamer-${VERSION}/presets/GstAmrnbEnc.prs
gst_amrnb_PLIST_DIRSTRY=share/gstreamer-${VERSION}/presets \
share/gstreamer-${VERSION}
# amrwb
gst_amrwb_LIB_DEPENDS= libopencore-amrwb.so:${PORTSDIR}/audio/opencore-amr
gst_amrwb_GST_PLUGIN_DIR= ext/amrwbdec
gst_amrwb_PLIST_FILES= ${GST_LIB_DIR}/libgstamrwbdec.la \
${GST_LIB_DIR}/libgstamrwbdec.so
# assrender
gst_assrender_LIB_DEPENDS= libass.so:${PORTSDIR}/multimedia/libass
# cairo
gst_cairo_USE_GNOME= cairo
# cdparanoia
gst_cdparanoia_LIB_DEPENDS= libcdda_interface.so:${PORTSDIR}/audio/cdparanoia
# cdio
gst_cdio_LIB_DEPENDS= libcdio.so:${PORTSDIR}/sysutils/libcdio
# curl
gst_curl_LIB_DEPENDS= libcurl.so:${PORTSDIR}/ftp/curl
# dts
gst_dts_LIB_DEPENDS= libdca.so:${PORTSDIR}/multimedia/libdca
gst_dts_PLIST_FILES= ${GST_LIB_DIR}/libgstdtsdec.la \
${GST_LIB_DIR}/libgstdtsdec.so
# libdv
gst_libdv_LIB_DEPENDS= libdv.so:${PORTSDIR}/multimedia/libdv
gst_libdv_GST_PLUGIN_DIR= ext/dv
gst_libdv_PLIST_FILES= ${GST_LIB_DIR}/libgstdv.la \
${GST_LIB_DIR}/libgstdv.so
# dvdread
gst_dvdread_LIB_DEPENDS=libdvdread.so:${PORTSDIR}/multimedia/libdvdread
# faac
gst_faac_LIB_DEPENDS= libfaac.so:${PORTSDIR}/audio/faac
# faad
gst_faad_LIB_DEPENDS= libfaad.so:${PORTSDIR}/audio/faad
# flac
gst_flac_LIB_DEPENDS= libFLAC.so:${PORTSDIR}/audio/flac
# flite
gst_flite_LIB_DEPENDS= libflite.so:${PORTSDIR}/audio/flite
# gdk_pixbuf
gst_gdk_pixbuf_USE_GNOME= gdkpixbuf2
gst_gdk_pixbuf_PLIST_FILES= ${GST_LIB_DIR}/libgstgdkpixbuf.la \
${GST_LIB_DIR}/libgstgdkpixbuf.so
# gme
gst_gme_LIB_DEPENDS= libgme.so:${PORTSDIR}/audio/libgme
# gsm
gst_gsm_LIB_DEPENDS= libgsm.so:${PORTSDIR}/audio/gsm
# jack
gst_jack_LIB_DEPENDS= libjack.so:${PORTSDIR}/audio/jack
# jpeg
gst_jpeg_LIB_DEPENDS= libjpeg.so:${PORTSDIR}/graphics/jpeg
# kate
gst_kate_LIB_DEPENDS= libkate.so:${PORTSDIR}/multimedia/libkate
# lame
gst_lame_LIB_DEPENDS= libmp3lame.so:${PORTSDIR}/audio/lame
# libcaca
gst_libcaca_LIB_DEPENDS= libcaca.so:${PORTSDIR}/graphics/libcaca
gst_libcaca_PLIST_FILES= ${GST_LIB_DIR}/libgstcacasink.la \
${GST_LIB_DIR}/libgstcacasink.so
# libmms
gst_libmms_LIB_DEPENDS= libmms.so:${PORTSDIR}/net/libmms
gst_libmms_PLIST_FILES= ${GST_LIB_DIR}/libgstmms.so \
${GST_LIB_DIR}/libgstmms.la
# png
gst_libpng_LIB_DEPENDS= libpng15.so:${PORTSDIR}/graphics/png
gst_libpng_PLIST_FILES= ${GST_LIB_DIR}/libgstpng.la \
${GST_LIB_DIR}/libgstpng.so
# libvisual
gst_libvisual_LIB_DEPENDS= libvisual-0.4.so:${PORTSDIR}/graphics/libvisual04
# mad
gst_mad_LIB_DEPENDS= libmad.so:${PORTSDIR}/audio/libmad
# modplug
gst_modplug_LIB_DEPENDS= libmodplug.so:${PORTSDIR}/audio/libmodplug
# mpeg2enc
gst_mpeg2enc_LIB_DEPENDS= libmjpegutils.so:${PORTSDIR}/multimedia/mjpegtools
# mpeg2dec
gst_mpeg2dec_LIB_DEPENDS= libmpeg2.so:${PORTSDIR}/multimedia/libmpeg2
# neon
gst_neon_LIB_DEPENDS+= libneon.so:${PORTSDIR}/www/neon29
gst_neon_PLIST_FILES= ${GST_LIB_DIR}/libgstneonhttpsrc.la \
${GST_LIB_DIR}/libgstneonhttpsrc.so
# ogg
gst_ogg_LIB_DEPENDS= libogg.so:${PORTSDIR}/audio/libogg
# opencv
gst_opencv_LIB_DEPENDS= libopencv_highgui.so:${PORTSDIR}/graphics/opencv
gst_opencv_PLIST_FILES= ${GST_LIB_DIR}/libgstopencv.la \
${GST_LIB_DIR}/libgstopencv.so \
share/gst-plugins-bad/${VERSION}/opencv_haarcascades/fist.xml \
share/gst-plugins-bad/${VERSION}/opencv_haarcascades/palm.xml
gst_opencv_PLIST_DIRSTRY= share/gst-plugins-bad/${VERSION}/opencv_haarcascades \
share/gst-plugins-bad/${VERSION} \
share/gst-plugins-bad
# openjpeg
gst_openjpeg_LIB_DEPENDS= libopenjpeg.so:${PORTSDIR}/graphics/openjpeg15
# opus
gst_opus_LIB_DEPENDS= libopus.so:${PORTSDIR}/audio/opus
# pango
gst_pango_USE_GNOME= pango
# pulse
gst_pulse_LIB_DEPENDS= libpulse.so:${PORTSDIR}/audio/pulseaudio
# resindvd
gst_resindvd_BUILD_DEPENDS= libdvdnav>=4.1.2:${PORTSDIR}/multimedia/libdvdnav
gst_resindvd_RUN_DEPENDS= libdvdnav>=4.1.2:${PORTSDIR}/multimedia/libdvdnav
# rtmp xxx
gst_rtmp_LIB_DEPENDS= librtmp.so.0:${PORTSDIR}/multimedia/librtmp
# shout2
gst_shout2_LIB_DEPENDS= libshout.so:${PORTSDIR}/audio/libshout
# sidplay
gst_sidplay_LIB_DEPENDS= libsidplay.so:${PORTSDIR}/audio/libsidplay
gst_sidplay_PLIST_FILES= ${GST_LIB_DIR}/libgstsid.so \
${GST_LIB_DIR}/libgstsid.la
# soundtouch
gst_soundtouch_LIB_DEPENDS= libSoundTouch.so:${PORTSDIR}/audio/soundtouch
# souphttpsrc
gst_soup_LIB_DEPENDS= libsoup-2.4.so:${PORTSDIR}/devel/libsoup
gst_soup_GST_PLUGIN_DIR=ext/soup
gst_soup_PLIST_FILES= ${GST_LIB_DIR}/libgstsouphttpsrc.la \
${GST_LIB_DIR}/libgstsouphttpsrc.so
# spandsp
# keep shlib version here, so we don't pick up the comms/spandsp port by accident.
gst_spandsp_LIB_DEPENDS= libspandsp.so.2:${PORTSDIR}/comms/spandsp-devel
# speex
gst_speex_LIB_DEPENDS= libspeex.so:${PORTSDIR}/audio/speex
# schroedinger or schro for short
gst_schro_LIB_DEPENDS= libschroedinger-1.0.so:${PORTSDIR}/multimedia/schroedinger
gst_schro_GST_PLUGIN_DIR= ext/schroedinger
# taglib
gst_taglib_LIB_DEPENDS= libtag.so:${PORTSDIR}/audio/taglib
# theora
gst_theora_LIB_DEPENDS= libtheora.so:${PORTSDIR}/multimedia/libtheora
# twolame
gst_twolame_LIB_DEPENDS= libtwolame.so:${PORTSDIR}/audio/twolame
# gst_v4l2
gst_gst_v4l2_BUILD_DEPENDS= v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat
gst_gst_v4l2_LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l
gst_gst_v4l2_RUN_DEPENDS= webcamd:${PORTSDIR}/multimedia/webcamd
gst_gst_v4l2_PLIST_FILES= ${GST_LIB_DIR}/libgstvideo4linux2.la \
${GST_LIB_DIR}/libgstvideo4linux2.so
gst_gst_v4l2_GST_PLUGIN_DIR= sys/v4l2
# vorbis
gst_vorbis_USE_GSTREAMER1= ogg
gst_vorbis_LIB_DEPENDS= libvorbis.so:${PORTSDIR}/audio/libvorbis
# vpx
gst_vpx_LIB_DEPENDS= libvpx.so:${PORTSDIR}/multimedia/libvpx
gst_vpx_PLIST_FILES= ${GST_LIB_DIR}/libgstvpx.la \
${GST_LIB_DIR}/libgstvpx.so \
share/gstreamer-${VERSION}/presets/GstVP8Enc.prs
gst_vpx_PLIST_DIRSTRY= share/gstreamer-${VERSION}/presets \
share/gstreamer-${VERSION}
# webp
gst_webp_LIB_DEPENDS= libwebp.so:${PORTSDIR}/graphics/webp
# X ximage and xvimage sinks aka output
.if ${DIST} == base
gst_x_USE_XORG= x11 xv xext
gst_x_CONFIGURE_ARGS= --enable-xvideo --enable-xshm
gst_x_GST_PLUGIN_DIR= sys/ximage sys/xvimage
gst_x_PLIST_FILES= ${GST_LIB_DIR}/libgstximagesink.la \
${GST_LIB_DIR}/libgstximagesink.so \
${GST_LIB_DIR}/libgstxvimagesink.la \
${GST_LIB_DIR}/libgstxvimagesink.so
.endif
.if ${DIST} == good
# Ximagesrc
gst_x_USE_XORG= x11 xfixes xdamage xext
gst_x_CONFIGURE_ARGS= --enable-x
gst_x_GST_PLUGIN_DIR= sys/ximage
gst_x_PLIST_FILES= ${GST_LIB_DIR}/libgstximagesrc.la \
${GST_LIB_DIR}/libgstximagesrc.so
.endif
# x264
gst_x264_LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/x264
gst_x264_PLIST_FILES= ${GST_LIB_DIR}/libgstx264.la \
${GST_LIB_DIR}/libgstx264.so \
share/gstreamer-${VERSION}/presets/GstX264Enc.prs
gst_x264_PLIST_DIRSTRY= share/gstreamer-${VERSION}/presets \
share/gstreamer-${VERSION}
# xvid
gst_xvid_LIB_DEPENDS= libxvidcore.so:${PORTSDIR}/multimedia/xvid
# wavpack
gst_wavpack_LIB_DEPENDS= libwavpack.so:${PORTSDIR}/audio/wavpack
# zbar
gst_zbar_LIB_DEPENDS= libzbar.so:${PORTSDIR}/graphics/zbar
.endif # NO_GSTREAMER_COMMON
.if !defined(NO_GSTREAMER_COMMON)
gst_${GST_PLUGIN}_BUILD_DEPENDS?=
gst_${GST_PLUGIN}_LIB_DEPENDS?=
gst_${GST_PLUGIN}_RUN_DEPENDS?=
gst_${GST_PLUGIN}_USE_XORG?=
gst_${GST_PLUGIN}_PLIST_FILES?= \
${GST_LIB_DIR}/libgst${GST_PLUGIN}${GST_PLIST_SUFFIX}.la \
${GST_LIB_DIR}/libgst${GST_PLUGIN}${GST_PLIST_SUFFIX}.so
gst_${GST_PLUGIN}_EXTRA_LIBS?=
gst_${GST_PLUGIN}_PREBUILD_DIR?=
gst_${GST_PLUGIN}_GST_PLUGIN_DIR?= ext/${GST_PLUGIN}
gst_${GST_PLUGIN}_POSTBUILD_DIR?=
gst_${GST_PLUGIN}_USE_GNOME?=
gst_${GST_PLUGIN}_CONFIGURE_ENV?=
gst_${GST_PLUGIN}_GLIB_SCHEMAS?=
gst_${GST_PLUGIN}_CONFIGURE_ARGS?=
gst_${GST_PLUGIN}_USE_SDL?=
gst_${GST_PLUGIN}_USE_GSTREAMER1?=
BUILD_DEPENDS+= ${gst_${GST_PLUGIN}_BUILD_DEPENDS}
LIB_DEPENDS+= ${gst_${GST_PLUGIN}_LIB_DEPENDS}
RUN_DEPENDS+= ${gst_${GST_PLUGIN}_RUN_DEPENDS}
PLIST_FILES= ${gst_${GST_PLUGIN}_PLIST_FILES}
PLIST_DIRS= ${gst_${GST_PLUGIN}_PLIST_DIRS}
PLIST_DIRSTRY= ${gst_${GST_PLUGIN}_PLIST_DIRSTRY}
EXTRA_LIBS+= ${gst_${GST_PLUGIN}_EXTRA_LIBS}
USE_XORG+= ${gst_${GST_PLUGIN}_USE_XORG}
USE_GNOME+= ${gst_${GST_PLUGIN}_USE_GNOME}
CONFIGURE_ENV+= ${gst_${GST_PLUGIN}_CONFIGURE_ENV}
.if ${gst_${GST_PLUGIN}_GLIB_SCHEMAS}!=""
GLIB_SCHEMAS= ${gst_${GST_PLUGIN}_GLIB_SCHEMAS}
.endif
CONFIGURE_ARGS+= ${gst_${GST_PLUGIN}_CONFIGURE_ARGS}
.if ${gst_${GST_PLUGIN}_USE_SDL}!=""
USE_SDL= ${gst_${GST_PLUGIN}_USE_SDL}
.endif
USE_GSTREAMER1+= ${gst_${GST_PLUGIN}_USE_GSTREAMER1} ${DIST:base=yes}
GST_PREBUILD_DIR= ${gst_${GST_PLUGIN}_GST_PREBUILD_DIR}
GST_PLUGIN_DIR= ${gst_${GST_PLUGIN}_GST_PLUGIN_DIR}
GST_POSTBUILD_DIR= ${gst_${GST_PLUGIN}_GST_POSTBUILD_DIR}
.if !target(do-build)
do-build:
.for dir in ${GST_PREBUILD_DIR} ${GST_PLUGIN_DIR} ${GST_POSTBUILD_DIR}
@cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} \
${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}
.endfor
.endif
.if !target(do-install)
do-install:
.for dir in ${GST_PLUGIN_DIR}
@cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} \
${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}
.endfor
.endif
.endif