fix rpi compile
[openadk.git] / package / ffmpeg / Makefile
blobb0fc60920f52349e67107aa0f44787f322befa91
1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 include ${ADK_TOPDIR}/rules.mk
6 PKG_NAME:= ffmpeg
7 PKG_VERSION:= 2.6.3
8 PKG_RELEASE:= 1
9 PKG_HASH:= 59eb98c1b5896ac29abc0385f7c875d1b4942d695818818d418ee71eea1e0cfb
10 PKG_DESCR:= record, convert and stream audio & video
11 PKG_SECTION:= libs/video
12 PKG_FDEPENDS:= libpthread
13 PKG_URL:= http://www.ffmpeg.org/
14 PKG_SITES:= http://www.ffmpeg.org/releases/
15 PKG_LIBNAME:= libffmpeg
16 PKG_OPTS:= dev
18 PKG_SUBPKGS:= LIBFFMPEG FFSERVER FFPROBE FFMPEG
19 #PKGSD_FFPLAY:= video player
20 #PKGSC_FFPLAY:= mm/video
21 #PKGSS_FFPLAY:= libsdl libpthread libffmpeg
22 #PKGSB_FFPLAY:= sdl
23 PKGSD_FFMPEG:= video converter
24 PKGSC_FFMPEG:= mm/video
25 PKGSS_FFMPEG:= libffmpeg
26 PKGSD_FFSERVER:= streaming server
27 PKGSC_FFSERVER:= mm/video
28 PKGSS_FFSERVER:= libffmpeg
29 PKGSD_FFPROBE:= simple multimedia stream analyzer
30 PKGSC_FFPROBE:= mm/video
31 PKGSS_FFPROBE:= libffmpeg
32 PKGSD_LIBFFMPEG:= video library
33 PKGSC_LIBFFMPEG:= libs/video
35 PKG_FLAVOURS_LIBFFMPEG:= WITH_AAC WITH_MP3 WITH_VP8 WITH_THEORA
36 PKG_FLAVOURS_LIBFFMPEG+= WITH_XVID WITH_VORBIS WITH_X264
38 PKGFD_WITH_X264:= with X264 decoding support
39 PKGFS_WITH_X264:= libx264
40 PKGFB_WITH_X264:= libx264
41 ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_X264),y)
42 PKG_FDEPENDS+= libx264
43 endif
45 PKGFD_WITH_AAC:= with AAC encoding support
46 PKGFS_WITH_AAC:= libfaac
47 PKGFB_WITH_AAC:= faac
48 ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_AAC),y)
49 PKG_FDEPENDS+= libfaac
50 endif
52 PKGFD_WITH_MP3:= with MP3 encoding support
53 PKGFS_WITH_MP3:= libmp3lame
54 PKGFB_WITH_MP3:= lame
55 ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_MP3),y)
56 PKG_FDEPENDS+= libmp3lame
57 endif
59 PKGFD_WITH_VP8:= with VP8 encoding support
60 PKGFS_WITH_VP8:= libvpx
61 PKGFB_WITH_VP8:= libvpx
62 ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_VP8),y)
63 PKG_FDEPENDS+= libvpx
64 endif
66 PKGFD_WITH_THEORA:= with Theora encoding support
67 PKGFS_WITH_THEORA:= libtheora
68 PKGFB_WITH_THEORA:= libtheora
69 ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_THEORA),y)
70 PKG_FDEPENDS+= libtheora
71 endif
73 PKGFD_WITH_XVID:= with Xvid encoding support
74 PKGFS_WITH_XVID:= libxvid
75 PKGFB_WITH_XVID:= xvidcore
76 ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_XVID),y)
77 PKG_FDEPENDS+= libxvid
78 endif
80 PKGFD_WITH_VORBIS:= with Vorbis encoding support
81 PKGFS_WITH_VORBIS:= libvorbisenc
82 PKGFB_WITH_VORBIS:= libvorbis
83 ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_VORBIS),y)
84 PKG_FDEPENDS+= libvorbisenc
85 endif
87 DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
89 include ${ADK_TOPDIR}/mk/package.mk
91 $(eval $(call PKG_template,LIBFFMPEG,libffmpeg,${PKG_VERSION}-${PKG_RELEASE},${PKG_FDEPENDS},${PKGSD_LIBFFMPEG},${PKGSC_LIBFFMPEG},${PKG_OPTS}))
92 $(eval $(call PKG_template,FFMPEG,ffmpeg,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_FFMPEG},${PKGSC_FFMPEG}))
93 $(eval $(call PKG_template,FFSERVER,ffserver,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_FFSERVER},${PKGSC_FFSERVER}))
94 $(eval $(call PKG_template,FFPROBE,ffprobe,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_FFPROBE},${PKGSC_FFPROBE}))
95 #$(eval $(call PKG_template,FFPLAY,ffplay,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_FFPLAY},${PKGSD_FFPLAY},${PKGSC_FFPLAY}))
97 ifeq ($(ADK_DEBUG),y)
98 TARGET_CFLAGS:= $(subst O0,O2,$(TARGET_CFLAGS))
99 else
100 TARGET_CFLAGS:= $(subst Os,O2,$(TARGET_CFLAGS))
101 endif
102 TARGET_CPPFLAGS+= -D_POSIX_SOURCE -D_GNU_SOURCE
104 ifeq ($(ADK_TARGET_CPU_WITH_MMX),y)
105 CONFIGURE_CPU_OPTS:= --enable-mmx
106 else
107 CONFIGURE_CPU_OPTS:= --disable-mmx
108 endif
109 ifeq ($(ADK_TARGET_CPU_WITH_MMXEXT),y)
110 CONFIGURE_CPU_OPTS:= --enable-mmx2
111 else
112 CONFIGURE_CPU_OPTS:= --disable-mmx2
113 endif
114 ifeq ($(ADK_TARGET_CPU_WITH_SSE),y)
115 CONFIGURE_CPU_OPTS:= --enable-sse
116 else
117 CONFIGURE_CPU_OPTS:= --disable-sse
118 endif
119 ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
120 CONFIGURE_CPU_OPTS:= --enable-armv6
121 endif
123 CONFIG_STYLE:= minimal
124 CONFIGURE_ARGS:= --prefix=/usr \
125 --target-os=linux \
126 --arch=${ADK_TARGET_CPU_ARCH} \
127 --enable-cross-compile \
128 --sysroot=${STAGING_TARGET_DIR} \
129 --cross-prefix=${TARGET_CROSS} \
130 --cc='$(TARGET_CC)' \
131 --host-cc=$(HOST_CC) \
132 --disable-bzlib \
133 --disable-doc \
134 --disable-debug \
135 --disable-iconv \
136 --disable-yasm \
137 --disable-optimizations \
138 --disable-stripping \
139 --enable-shared \
140 --enable-static \
141 --enable-gpl \
142 --enable-nonfree \
143 --enable-swscale \
144 --enable-postproc \
145 ${CONFIGURE_CPU_OPTS}
147 ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_X264),y)
148 CONFIGURE_ARGS+= --enable-libx264
149 endif
150 ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_AAC),y)
151 CONFIGURE_ARGS+= --enable-libfaac
152 endif
153 ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_MP3),y)
154 CONFIGURE_ARGS+= --enable-libmp3lame
155 endif
156 ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_VP8),y)
157 CONFIGURE_ARGS+= --enable-libvpx
158 endif
159 ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_THEORA),y)
160 CONFIGURE_ARGS+= --enable-libtheora
161 endif
162 ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_XVID),y)
163 CONFIGURE_ARGS+= --enable-libxvid
164 endif
165 ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_VORBIS),y)
166 CONFIGURE_ARGS+= --enable-libvorbis
167 endif
169 libffmpeg-install:
170 ${INSTALL_DIR} ${IDIR_LIBFFMPEG}/usr/lib
171 ${CP} ${WRKINST}/usr/lib/libavdevice.so* ${IDIR_LIBFFMPEG}/usr/lib
172 ${CP} ${WRKINST}/usr/lib/libavformat.so* ${IDIR_LIBFFMPEG}/usr/lib
173 ${CP} ${WRKINST}/usr/lib/libavfilter.so* ${IDIR_LIBFFMPEG}/usr/lib
174 ${CP} ${WRKINST}/usr/lib/libavcodec.so* ${IDIR_LIBFFMPEG}/usr/lib
175 ${CP} ${WRKINST}/usr/lib/libavutil.so* ${IDIR_LIBFFMPEG}/usr/lib
176 ${CP} ${WRKINST}/usr/lib/libpostproc.so* ${IDIR_LIBFFMPEG}/usr/lib
177 ${CP} ${WRKINST}/usr/lib/libswscale.so* ${IDIR_LIBFFMPEG}/usr/lib
178 ${CP} ${WRKINST}/usr/lib/libswresample.so* ${IDIR_LIBFFMPEG}/usr/lib
180 #ffplay-install:
181 # ${INSTALL_DIR} ${IDIR_FFPLAY}/usr/bin
182 # ${INSTALL_BIN} ${WRKINST}/usr/bin/ffplay ${IDIR_FFPLAY}/usr/bin
184 ffmpeg-install:
185 ${INSTALL_DIR} ${IDIR_FFMPEG}/usr/bin
186 ${INSTALL_BIN} ${WRKINST}/usr/bin/ffmpeg ${IDIR_FFMPEG}/usr/bin
188 ffserver-install:
189 ${INSTALL_DIR} ${IDIR_FFSERVER}/etc
190 $(INSTALL_DATA) $(WRKBUILD)/doc/ffserver.conf ${IDIR_FFSERVER}/etc
191 ${INSTALL_DIR} ${IDIR_FFSERVER}/usr/bin
192 ${INSTALL_BIN} ${WRKINST}/usr/bin/ffserver ${IDIR_FFSERVER}/usr/bin
194 ffprobe-install:
195 ${INSTALL_DIR} ${IDIR_FFPROBE}/usr/bin
196 ${INSTALL_BIN} ${WRKINST}/usr/bin/ffprobe ${IDIR_FFPROBE}/usr/bin
198 include ${ADK_TOPDIR}/mk/pkg-bottom.mk