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 ifneq ($(CONFIG_FFMPEG_PROTOCOL_IPv6),)
181 FFMPEG_CONFIGURE_IPv6:= --enable-ipv6
183 FFMPEG_CONFIGURE_IPv6:= --disable-ipv6
187 define Build/Configure
188 # this is *NOT* GNU configure
189 ( cd $(PKG_BUILD_DIR); \
190 CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \
191 LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
193 --enable-cross-compile \
194 --cross-prefix="$(TARGET_CROSS)" \
205 --disable-optimizations \
207 --disable-stripping \
213 $(FFMPEG_CONFIGURE_ENCODERS) \
215 $(FFMPEG_CONFIGURE_DECODERS) \
217 $(FFMPEG_CONFIGURE_MUXERS) \
219 $(FFMPEG_CONFIGURE_DEMUXERS) \
221 $(FFMPEG_CONFIGURE_PARSERS) \
223 --disable-protocols \
224 $(FFMPEG_CONFIGURE_PROTOCOLS) \
225 $(FFMPEG_CONFIGURE_IPv6) \
230 $(MAKE) -C $(PKG_BUILD_DIR) \
231 DESTDIR="$(PKG_INSTALL_DIR)" \
235 define Build/InstallDev
236 $(INSTALL_DIR) $(1)/usr/include
237 $(CP) $(PKG_INSTALL_DIR)/usr/include/libav{codec,device,format,util} $(1)/usr/include/
238 $(CP) $(PKG_INSTALL_DIR)/usr/include/libpostproc $(1)/usr/include/
239 $(INSTALL_DIR) $(1)/usr/lib
240 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libav{codec,device,format,util}.{a,so*} $(1)/usr/lib/
241 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpostproc.{a,so*} $(1)/usr/lib/
242 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
243 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libav{codec,device,format,util}.pc $(1)/usr/lib/pkgconfig/
244 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libpostproc.pc $(1)/usr/lib/pkgconfig/
247 define Package/ffmpeg/install
248 $(INSTALL_DIR) $(1)/usr/bin
249 $(CP) $(PKG_INSTALL_DIR)/usr/bin/ffmpeg $(1)/usr/bin/
252 define Package/ffserver/install
253 $(INSTALL_DIR) $(1)/usr/bin
254 $(CP) $(PKG_INSTALL_DIR)/usr/bin/ffserver $(1)/usr/bin/
257 define Package/libffmpeg/install
258 $(INSTALL_DIR) $(1)/usr/lib
259 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libav{codec,device,format,util}.so.* $(1)/usr/lib/
262 define Package/libpostproc/install
263 $(INSTALL_DIR) $(1)/usr/lib
264 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpostproc.so.* $(1)/usr/lib/
267 $(eval $(call BuildPackage,ffmpeg))
268 $(eval $(call BuildPackage,ffserver))
269 $(eval $(call BuildPackage,libffmpeg))
270 $(eval $(call BuildPackage,libpostproc))