2 # Copyright (C) 2006-2008 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
9 include $(TOPDIR)/rules.mk
15 PKG_SOURCE:=$(PKG_NAME)-export-snapshot-$(PKG_VERSION).tar.bz2
16 PKG_SOURCE_URL:=http://downloads.openwrt.org/sources/
17 PKG_MD5SUM:=63aeb859941b96ed3ef7b0c7a643bf4d
19 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-export-2008-04-19
21 include $(INCLUDE_DIR)/package.mk
23 define Package/ffmpeg/Default
25 URL:=http://ffmpeg.mplayerhq.hu/
28 define Package/ffmpeg/Default/description
29 FFmpeg is a a software package that can record, convert and stream digital
30 audio and video in numerous formats.
34 $(call Package/ffmpeg/Default)
38 DEPENDS+= +libpthread +libffmpeg
41 define Package/ffmpeg/description
42 $(call Package/ffmpeg/Default/description)
44 This package contains the FFmpeg command line tool.
47 define Package/ffserver
48 $(call Package/ffserver/Default)
51 TITLE+= streaming server
52 DEPENDS+= +libpthread +libffmpeg
55 define Package/ffserver/description
56 $(call Package/ffmpeg/Default/description)
58 This package contains the FFmpeg streaming server.
61 define Package/libffmpeg
62 $(call Package/ffmpeg/Default)
66 DEPENDS+= +libpthread +libfaad2 +zlib
70 define Package/libffmpeg/config
72 depends on PACKAGE_libffmpeg
73 source "$(SOURCE)/Config.in"
77 define Package/libffmeg/description
78 $(call Package/ffmpeg/Default/description)
80 This package contains FFmpeg shared libraries.
83 define Package/libpostproc
87 URL:=http://ffmpeg.mplayerhq.hu/
148 file http pipe rtp tcp udp \
150 FFMPEG_CONFIGURE_ENCODERS:= \
151 $(foreach c, $(FFMPEG_ENCODERS), \
152 $(if $(CONFIG_FFMPEG_ENCODER_$(c)),--enable-encoder="$(c)") \
155 FFMPEG_CONFIGURE_DECODERS:= \
156 $(foreach c, $(FFMPEG_DECODERS), \
157 $(if $(CONFIG_FFMPEG_DECODER_$(c)),--enable-decoder="$(c)") \
160 FFMPEG_CONFIGURE_MUXERS:= \
161 $(foreach c, $(FFMPEG_MUXERS), \
162 $(if $(CONFIG_FFMPEG_MUXER_$(c)),--enable-muxer="$(c)") \
165 FFMPEG_CONFIGURE_DEMUXERS:= \
166 $(foreach c, $(FFMPEG_DEMUXERS), \
167 $(if $(CONFIG_FFMPEG_DEMUXER_$(c)),--enable-demuxer="$(c)") \
170 FFMPEG_CONFIGURE_PARSERS:= \
171 $(foreach c, $(FFMPEG_PARSERS), \
172 $(if $(CONFIG_FFMPEG_PARSER_$(c)),--enable-parser="$(c)") \
175 FFMPEG_CONFIGURE_PROTOCOLS:= \
176 $(foreach c, $(FFMPEG_PROTOCOLS), \
177 $(if $(CONFIG_FFMPEG_PROTOCOL_$(c)),--enable-protocol="$(c)") \
180 define Build/Configure
181 # this is *NOT* GNU configure
182 ( cd $(PKG_BUILD_DIR); \
183 CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \
184 LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
186 --enable-cross-compile \
187 --cross-prefix="$(TARGET_CROSS)" \
199 --disable-optimizations \
201 --disable-stripping \
207 $(FFMPEG_CONFIGURE_ENCODERS) \
209 $(FFMPEG_CONFIGURE_DECODERS) \
211 $(FFMPEG_CONFIGURE_MUXERS) \
213 $(FFMPEG_CONFIGURE_DEMUXERS) \
215 $(FFMPEG_CONFIGURE_PARSERS) \
217 --disable-protocols \
218 $(FFMPEG_CONFIGURE_PROTOCOLS) \
223 $(MAKE) -C $(PKG_BUILD_DIR) \
224 DESTDIR="$(PKG_INSTALL_DIR)" \
228 define Build/InstallDev
229 $(INSTALL_DIR) $(1)/usr/include
230 $(CP) $(PKG_INSTALL_DIR)/usr/include/libav{codec,device,format,util} $(1)/usr/include/
231 $(CP) $(PKG_INSTALL_DIR)/usr/include/libpostproc $(1)/usr/include/
232 $(INSTALL_DIR) $(1)/usr/lib
233 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libav{codec,device,format,util}.{a,so*} $(1)/usr/lib/
234 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpostproc.{a,so*} $(1)/usr/lib/
235 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
236 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libav{codec,device,format,util}.pc $(1)/usr/lib/pkgconfig/
237 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libpostproc.pc $(1)/usr/lib/pkgconfig/
240 define Package/ffmpeg/install
241 $(INSTALL_DIR) $(1)/usr/bin
242 $(CP) $(PKG_INSTALL_DIR)/usr/bin/ffmpeg $(1)/usr/bin/
245 define Package/ffserver/install
246 $(INSTALL_DIR) $(1)/usr/bin
247 $(CP) $(PKG_INSTALL_DIR)/usr/bin/ffserver $(1)/usr/bin/
250 define Package/libffmpeg/install
251 $(INSTALL_DIR) $(1)/usr/lib
252 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libav{codec,device,format,util}.so.* $(1)/usr/lib/
255 define Package/libffmpeg/install
256 $(INSTALL_DIR) $(1)/usr/lib
257 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpostproc.so.* $(1)/usr/lib/
260 $(eval $(call BuildPackage,ffmpeg))
261 $(eval $(call BuildPackage,ffserver))
262 $(eval $(call BuildPackage,libffmpeg))
263 $(eval $(call BuildPackage,libpostproc))