2 # Copyright (C) 2006-2009 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
14 PKG_SOURCE
:=$(PKG_NAME
)-export-snapshot-
$(PKG_VERSION
).
tar.bz2
15 PKG_SOURCE_URL
:=http
://downloads.openwrt.org
/sources
/
16 PKG_MD5SUM
:=63aeb859941b96ed3ef7b0c7a643bf4d
18 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)-export-2008-04-19
77 file http pipe rtp tcp udp
79 PKG_CONFIG_DEPENDS
:= \
80 $(patsubst %,CONFIG_FFMPEG_ENCODER_
%,$(FFMPEG_ENCODERS
)) \
81 $(patsubst %,CONFIG_FFMPEG_DECODER_
%,$(FFMPEG_DECODERS
)) \
82 $(patsubst %,CONFIG_FFMPEG_MUXER_
%,$(FFMPEG_DEMUXERS
)) \
83 $(patsubst %,CONFIG_FFMPEG_DEMUXER_
%,$(FFMPEG_DEMUXERS
)) \
84 $(patsubst %,CONFIG_FFMPEG_PARSER_
%,$(FFMPEG_PARSERS
)) \
85 $(patsubst %,CONFIG_FFMPEG_PROTOCOL_
%,$(FFMPEG_PROTOCOLS
))
87 include $(INCLUDE_DIR
)/package.mk
89 define Package
/ffmpeg
/Default
91 URL
:=http
://ffmpeg.mplayerhq.hu
/
94 define Package
/ffmpeg
/Default
/description
95 FFmpeg is a a software package that can record
, convert and stream digital
96 audio and video in numerous formats.
100 $(call Package
/ffmpeg
/Default
)
104 DEPENDS
+= +libpthread
+libffmpeg
107 define Package
/ffmpeg
/description
108 $(call Package
/ffmpeg
/Default
/description
)
110 This package contains the FFmpeg command line tool.
113 define Package
/ffserver
114 $(call Package
/ffserver
/Default
)
117 TITLE
+= streaming server
118 DEPENDS
+= +libpthread
+libffmpeg
+@FFMPEG_FFSERVER_SUPPORT
121 define Package
/ffserver
/description
122 $(call Package
/ffmpeg
/Default
/description
)
124 This package contains the FFmpeg streaming server.
127 define Package
/libffmpeg
128 $(call Package
/ffmpeg
/Default
)
132 DEPENDS
+= +libpthread
+libfaad2
+zlib
136 define Package
/libffmpeg
/config
137 source
"$(SOURCE)/Config.in"
140 define Package
/libffmeg
/description
141 $(call Package
/ffmpeg
/Default
/description
)
143 This package contains FFmpeg shared libraries.
146 define Package
/libpostproc
150 URL
:=http
://ffmpeg.mplayerhq.hu
/
156 $(if
$(CONFIG_FFMPEG_
$(1)_
$(c
)),--enable-
$(2)="$(c)") \
159 FFMPEG_CONFIGURE_ENCODERS
:=$(call FILTER_CONFIG
,ENCODER
,encoder
,$(FFMPEG_ENCODERS
))
160 FFMPEG_CONFIGURE_DECODERS
:=$(call FILTER_CONFIG
,DECODER
,decoder
,$(FFMPEG_DECODERS
))
161 FFMPEG_CONFIGURE_MUXERS
:=$(call FILTER_CONFIG
,MUXER
,muxer
,$(FFMPEG_MUXERS
))
162 FFMPEG_CONFIGURE_DEMUXERS
:=$(call FILTER_CONFIG
,DEMUXER
,demuxer
,$(FFMPEG_DEMUXERS
))
163 FFMPEG_CONFIGURE_PARSERS
:=$(call FILTER_CONFIG
,PARSER
,parser
,$(FFMPEG_PARSERS
))
164 FFMPEG_CONFIGURE_PROTOCOLS
:=$(call FILTER_CONFIG
,PROTOCOL
,protocol
,$(FFMPEG_PROTOCOLS
))
166 define Build
/Configure
167 # this is *NOT* GNU configure
168 ( cd
$(PKG_BUILD_DIR
); \
169 CFLAGS
="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(FPIC)" \
170 LDFLAGS
="$(TARGET_LDFLAGS)" \
172 --enable-cross-compile \
173 --cross-prefix
="$(TARGET_CROSS)" \
184 --disable-optimizations \
186 --disable-stripping \
192 $(FFMPEG_CONFIGURE_ENCODERS
) \
194 $(FFMPEG_CONFIGURE_DECODERS
) \
196 $(FFMPEG_CONFIGURE_MUXERS
) \
198 $(FFMPEG_CONFIGURE_DEMUXERS
) \
200 $(FFMPEG_CONFIGURE_PARSERS
) \
202 --disable-protocols \
203 $(FFMPEG_CONFIGURE_PROTOCOLS
) \
208 $(MAKE
) -C
$(PKG_BUILD_DIR
) \
209 DESTDIR
="$(PKG_INSTALL_DIR)" \
213 define Build
/InstallDev
214 $(INSTALL_DIR
) $(1)/usr
/include
215 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/libav
{codec
,device
,format
,util
} $(1)/usr
/include/
216 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/libpostproc
$(1)/usr
/include/
217 $(INSTALL_DIR
) $(1)/usr
/lib
218 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libav
{codec
,device
,format
,util
}.
{a
,so
*} $(1)/usr
/lib
/
219 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libpostproc.
{a
,so
*} $(1)/usr
/lib
/
220 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
221 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/libav
{codec
,device
,format
,util
}.
pc $(1)/usr
/lib
/pkgconfig
/
222 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/libpostproc.
pc $(1)/usr
/lib
/pkgconfig
/
225 define Package
/ffmpeg
/install
226 $(INSTALL_DIR
) $(1)/usr
/bin
227 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/ffmpeg
$(1)/usr
/bin
/
230 define Package
/ffserver
/install
231 $(INSTALL_DIR
) $(1)/usr
/bin
232 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/ffserver
$(1)/usr
/bin
/
235 define Package
/libffmpeg
/install
236 $(INSTALL_DIR
) $(1)/usr
/lib
237 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libav
{codec
,device
,format
,util
}.so.
* $(1)/usr
/lib
/
240 define Package
/libpostproc
/install
241 $(INSTALL_DIR
) $(1)/usr
/lib
242 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libpostproc.so.
* $(1)/usr
/lib
/
245 $(eval
$(call BuildPackage
,ffmpeg
))
246 $(eval
$(call BuildPackage
,ffserver
))
247 $(eval
$(call BuildPackage
,libffmpeg
))
248 $(eval
$(call BuildPackage
,libpostproc
))