source: packages/multimedia/ffmpeg/Makefile @ 14313

Last change on this file since 14313 was 14313, checked in by nico, 8 years ago

[packages] ffmpeg: fix typo

  • Property copyright set to Copyright (C) 2008 OpenWrt.org
  • Property licence set to GPLv2
  • Property svn:keywords set to Author Date Id Revision
File size: 5.6 KB
Line 
1#
2# Copyright (C) 2006-2008 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7# $Id$
8
9include $(TOPDIR)/rules.mk
10
11PKG_NAME:=ffmpeg
12PKG_VERSION:=20080419
13PKG_RELEASE:=1
14
15PKG_SOURCE:=$(PKG_NAME)-export-snapshot-$(PKG_VERSION).tar.bz2
16PKG_SOURCE_URL:=http://downloads.openwrt.org/sources/
17PKG_MD5SUM:=63aeb859941b96ed3ef7b0c7a643bf4d
18
19PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-export-2008-04-19
20
21include $(INCLUDE_DIR)/package.mk
22
23define Package/ffmpeg/Default
24 TITLE:=FFmpeg
25 URL:=http://ffmpeg.mplayerhq.hu/
26endef
27
28define 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.
31endef
32
33define Package/ffmpeg
34$(call Package/ffmpeg/Default)
35 SECTION:=multimedia
36 CATEGORY:=Multimedia
37 TITLE+= program
38 DEPENDS+= +libpthread +libffmpeg
39endef
40
41define Package/ffmpeg/description
42$(call Package/ffmpeg/Default/description)
43 .
44 This package contains the FFmpeg command line tool.
45endef
46
47define Package/ffserver
48$(call Package/ffserver/Default)
49 SECTION:=multimedia
50 CATEGORY:=Multimedia
51 TITLE+= streaming server
52 DEPENDS+= +libpthread +libffmpeg
53endef
54
55define Package/ffserver/description
56$(call Package/ffmpeg/Default/description)
57 .
58 This package contains the FFmpeg streaming server.
59endef
60
61define Package/libffmpeg
62$(call Package/ffmpeg/Default)
63 SECTION:=libs
64 CATEGORY:=Libraries
65 TITLE+= libraries
66 DEPENDS+= +libpthread +libfaad2 +zlib
67 MENU:=1
68endef
69
70define Package/libffmpeg/config
71                menu "Configuration"
72                                depends on PACKAGE_libffmpeg
73                source "$(SOURCE)/Config.in"
74                endmenu
75endef
76
77define Package/libffmeg/description
78$(call Package/ffmpeg/Default/description)
79 .
80 This package contains FFmpeg shared libraries.
81endef
82
83define Package/libpostproc
84 SECTION:=libs
85 CATEGORY:=Libraries
86 TITLE:=libpostproc
87 URL:=http://ffmpeg.mplayerhq.hu/
88 DEPENDS:=+libffmpeg
89endef
90
91FFMPEG_ENCODERS:= \
92        ac3 \
93        jpegls \
94        mpeg1video \
95        mpeg2video \
96        mpeg4 \
97        png \
98        zlib \
99
100FFMPEG_DECODERS:= \
101        ac3 \
102        atrac3 \
103        gif \
104        h264 \
105        jpegls \
106        mp3 \
107        mpeg1video \
108        mpeg2video \
109        mpeg4 \
110        mpeg4aac \
111        mpegvideo \
112        png \
113        wmav1 \
114        wmav2 \
115        zlib \
116
117FFMPEG_MUXERS:= \
118        ac3 \
119        ffm \
120        h264 \
121        mp3 \
122        mp4 \
123        mpeg1video \
124        mpeg2video \
125        mpegts \
126        rtp \
127
128FFMPEG_DEMUXERS:= \
129        ac3 \
130        ffm \
131        h264 \
132        mp3 \
133        mpegps \
134        mpegts \
135        mpegvideo \
136        rtsp \
137        sdp \
138        v4l2 \
139
140FFMPEG_PARSERS:= \
141        ac3 \
142        h264 \
143        mpegaudio \
144        mpegvideo \
145        mpeg4video \
146
147FFMPEG_PROTOCOLS:= \
148        file http pipe rtp tcp udp \
149
150FFMPEG_CONFIGURE_ENCODERS:= \
151        $(foreach c, $(FFMPEG_ENCODERS), \
152                $(if $(CONFIG_FFMPEG_ENCODER_$(c)),--enable-encoder="$(c)") \
153        )
154
155FFMPEG_CONFIGURE_DECODERS:= \
156        $(foreach c, $(FFMPEG_DECODERS), \
157                $(if $(CONFIG_FFMPEG_DECODER_$(c)),--enable-decoder="$(c)") \
158        )
159
160FFMPEG_CONFIGURE_MUXERS:= \
161        $(foreach c, $(FFMPEG_MUXERS), \
162                $(if $(CONFIG_FFMPEG_MUXER_$(c)),--enable-muxer="$(c)") \
163        )
164
165FFMPEG_CONFIGURE_DEMUXERS:= \
166        $(foreach c, $(FFMPEG_DEMUXERS), \
167                $(if $(CONFIG_FFMPEG_DEMUXER_$(c)),--enable-demuxer="$(c)") \
168        )
169
170FFMPEG_CONFIGURE_PARSERS:= \
171        $(foreach c, $(FFMPEG_PARSERS), \
172                $(if $(CONFIG_FFMPEG_PARSER_$(c)),--enable-parser="$(c)") \
173        )
174
175FFMPEG_CONFIGURE_PROTOCOLS:= \
176        $(foreach c, $(FFMPEG_PROTOCOLS), \
177                $(if $(CONFIG_FFMPEG_PROTOCOL_$(c)),--enable-protocol="$(c)") \
178        )
179
180define 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" \
185                ./configure \
186                --enable-cross-compile \
187                --cross-prefix="$(TARGET_CROSS)" \
188                --arch="$(ARCH)" \
189                --prefix="/usr" \
190                --enable-shared \
191                --enable-static \
192                --disable-debug \
193                --enable-ffmpeg \
194                --enable-ffserver \
195                --enable-gpl \
196                --disable-ipv6 \
197                --enable-libfaad \
198                --enable-pthreads \
199                --disable-optimizations \
200                --enable-small \
201                --disable-stripping \
202                --disable-vhook \
203                --enable-zlib \
204                --enable-postproc \
205                \
206                --disable-encoders \
207                $(FFMPEG_CONFIGURE_ENCODERS) \
208                --disable-decoders \
209                $(FFMPEG_CONFIGURE_DECODERS) \
210                --disable-muxers \
211                $(FFMPEG_CONFIGURE_MUXERS) \
212                --disable-demuxers \
213                $(FFMPEG_CONFIGURE_DEMUXERS) \
214                --disable-parsers \
215                $(FFMPEG_CONFIGURE_PARSERS) \
216                --disable-bsfs \
217                --disable-protocols \
218                $(FFMPEG_CONFIGURE_PROTOCOLS) \
219        )
220endef
221
222define Build/Compile
223        $(MAKE) -C $(PKG_BUILD_DIR) \
224                DESTDIR="$(PKG_INSTALL_DIR)" \
225                all install
226endef
227
228define 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/
238endef
239
240define Package/ffmpeg/install
241        $(INSTALL_DIR) $(1)/usr/bin
242        $(CP) $(PKG_INSTALL_DIR)/usr/bin/ffmpeg $(1)/usr/bin/
243endef
244
245define Package/ffserver/install
246        $(INSTALL_DIR) $(1)/usr/bin
247        $(CP) $(PKG_INSTALL_DIR)/usr/bin/ffserver $(1)/usr/bin/
248endef
249
250define 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/
253endef
254
255define Package/libpostproc/install
256        $(INSTALL_DIR) $(1)/usr/lib
257        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpostproc.so.* $(1)/usr/lib/
258endef
259
260$(eval $(call BuildPackage,ffmpeg))
261$(eval $(call BuildPackage,ffserver))
262$(eval $(call BuildPackage,libffmpeg))
263$(eval $(call BuildPackage,libpostproc))
Note: See TracBrowser for help on using the repository browser.