1
0

Makefile 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. # This file is part of the OpenADK project. OpenADK is copyrighted
  2. # material, please see the LICENCE file in the top-level directory.
  3. include ${TOPDIR}/rules.mk
  4. PKG_NAME:= ffmpeg
  5. PKG_VERSION:= 2.0.1
  6. PKG_RELEASE:= 1
  7. PKG_MD5SUM:= dd71a1baedb2daa3e4d21e0651daa918
  8. PKG_DESCR:= record, convert and stream audio & video
  9. PKG_SECTION:= libs
  10. PKG_FDEPENDS:= libpthread
  11. PKG_URL:= http://www.ffmpeg.org/
  12. PKG_SITES:= http://www.ffmpeg.org/releases/
  13. PKG_ARCH_DEPENDS:= !cris
  14. PKG_SUBPKGS:= LIBFFMPEG FFSERVER FFPROBE FFMPEG
  15. #PKGSD_FFPLAY:= ffmpeg based video player
  16. #PKGSC_FFPLAY:= multimedia
  17. #PKGSS_FFPLAY:= libsdl libpthread libffmpeg
  18. #PKGSB_FFPLAY:= sdl
  19. PKGSD_FFMPEG:= ffmpeg video converter
  20. PKGSC_FFMPEG:= multimedia
  21. PKGSS_FFMPEG:= libffmpeg
  22. PKGSD_FFSERVER:= streaming server
  23. PKGSC_FFSERVER:= multimedia
  24. PKGSS_FFSERVER:= libffmpeg
  25. PKGSD_FFPROBE:= simple multimedia stream analyzer
  26. PKGSC_FFPROBE:= multimedia
  27. PKGSS_FFPROBE:= libffmpeg
  28. PKG_FLAVOURS_LIBFFMPEG:= WITH_AAC WITH_MP3 WITH_VP8 WITH_THEORA
  29. PKG_FLAVOURS_LIBFFMPEG+= WITH_XVID WITH_VORBIS
  30. PKGFD_WITH_AAC:= with AAC encoding support
  31. PKGFS_WITH_AAC:= libfaac
  32. PKGFB_WITH_AAC:= faac
  33. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_AAC),y)
  34. PKG_FDEPENDS+= libfaac
  35. endif
  36. PKGFD_WITH_MP3:= with MP3 encoding support
  37. PKGFS_WITH_MP3:= libmp3lame
  38. PKGFB_WITH_MP3:= lame
  39. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_MP3),y)
  40. PKG_FDEPENDS+= libmp3lame
  41. endif
  42. PKGFD_WITH_VP8:= with VP8 encoding support
  43. PKGFS_WITH_VP8:= libvpx
  44. PKGFB_WITH_VP8:= libvpx
  45. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_VP8),y)
  46. PKG_FDEPENDS+= libvpx
  47. endif
  48. PKGFD_WITH_THEORA:= with Theora encoding support
  49. PKGFS_WITH_THEORA:= libtheora
  50. PKGFB_WITH_THEORA:= libtheora
  51. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_THEORA),y)
  52. PKG_FDEPENDS+= libtheora
  53. endif
  54. PKGFD_WITH_XVID:= with Xvid encoding support
  55. PKGFS_WITH_XVID:= libxvid
  56. PKGFB_WITH_XVID:= xvidcore
  57. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_XVID),y)
  58. PKG_FDEPENDS+= libxvid
  59. endif
  60. PKGFD_WITH_VORBIS:= with Vorbis encoding support
  61. PKGFS_WITH_VORBIS:= libvorbisenc
  62. PKGFB_WITH_VORBIS:= libvorbis
  63. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_VORBIS),y)
  64. PKG_FDEPENDS+= libvorbisenc
  65. endif
  66. DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
  67. include ${TOPDIR}/mk/package.mk
  68. $(eval $(call PKG_template,LIBFFMPEG,libffmpeg,${PKG_VERSION}-${PKG_RELEASE},${PKG_FDEPENDS},${PKG_DESCR},${PKG_SECTION}))
  69. $(eval $(call PKG_template,FFMPEG,ffmpeg,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_FFMPEG},${PKGSC_FFMPEG}))
  70. $(eval $(call PKG_template,FFSERVER,ffserver,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_FFSERVER},${PKGSC_FFSERVER}))
  71. $(eval $(call PKG_template,FFPROBE,ffprobe,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_FFPROBE},${PKGSC_FFPROBE}))
  72. #$(eval $(call PKG_template,FFPLAY,ffplay,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_FFPLAY},${PKGSD_FFPLAY},${PKGSC_FFPLAY}))
  73. TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS))
  74. TARGET_CFLAGS:= $(subst Os,O2,$(TARGET_CFLAGS))
  75. TARGET_CPPFLAGS+= -D_POSIX_SOURCE=1 -D_GNU_SOURCE=1
  76. ifeq ($(ADK_TARGET_CPU_WITH_MMX),y)
  77. CONFIGURE_CPU_OPTS:= --enable-mmx
  78. else
  79. CONFIGURE_CPU_OPTS:= --disable-mmx
  80. endif
  81. ifeq ($(ADK_TARGET_CPU_WITH_MMXEXT),y)
  82. CONFIGURE_CPU_OPTS:= --enable-mmx2
  83. else
  84. CONFIGURE_CPU_OPTS:= --disable-mmx2
  85. endif
  86. ifeq ($(ADK_TARGET_CPU_WITH_SSE),y)
  87. CONFIGURE_CPU_OPTS:= --enable-sse
  88. else
  89. CONFIGURE_CPU_OPTS:= --disable-sse
  90. endif
  91. ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
  92. CONFIGURE_CPU_OPTS:= --enable-armv6
  93. endif
  94. CONFIG_STYLE:= minimal
  95. CONFIGURE_ARGS:= --prefix=/usr \
  96. --target-os=linux \
  97. --arch=${CPU_ARCH} \
  98. --enable-cross-compile \
  99. --sysroot=${STAGING_TARGET_DIR} \
  100. --cross-prefix=${TARGET_CROSS} \
  101. --cc='$(TARGET_CC)' \
  102. --host-cc=$(CC_FOR_BUILD) \
  103. --disable-doc \
  104. --disable-debug \
  105. --disable-yasm \
  106. --disable-optimizations \
  107. --disable-stripping \
  108. --enable-shared \
  109. --enable-static \
  110. --enable-gpl \
  111. --enable-nonfree \
  112. --enable-swscale \
  113. --enable-postproc \
  114. ${CONFIGURE_CPU_OPTS}
  115. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_AAC),y)
  116. CONFIGURE_ARGS+= --enable-libfaac
  117. endif
  118. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_MP3),y)
  119. CONFIGURE_ARGS+= --enable-libmp3lame
  120. endif
  121. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_VP8),y)
  122. CONFIGURE_ARGS+= --enable-libvpx
  123. endif
  124. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_THEORA),y)
  125. CONFIGURE_ARGS+= --enable-libtheora
  126. endif
  127. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_XVID),y)
  128. CONFIGURE_ARGS+= --enable-libxvid
  129. endif
  130. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_VORBIS),y)
  131. CONFIGURE_ARGS+= --enable-libvorbis
  132. endif
  133. libffmpeg-install:
  134. ${INSTALL_DIR} ${IDIR_LIBFFMPEG}/usr/lib
  135. ${CP} ${WRKINST}/usr/lib/libavdevice.so* ${IDIR_LIBFFMPEG}/usr/lib
  136. ${CP} ${WRKINST}/usr/lib/libavformat.so* ${IDIR_LIBFFMPEG}/usr/lib
  137. ${CP} ${WRKINST}/usr/lib/libavfilter.so* ${IDIR_LIBFFMPEG}/usr/lib
  138. ${CP} ${WRKINST}/usr/lib/libavcodec.so* ${IDIR_LIBFFMPEG}/usr/lib
  139. ${CP} ${WRKINST}/usr/lib/libavutil.so* ${IDIR_LIBFFMPEG}/usr/lib
  140. ${CP} ${WRKINST}/usr/lib/libpostproc.so* ${IDIR_LIBFFMPEG}/usr/lib
  141. ${CP} ${WRKINST}/usr/lib/libswscale.so* ${IDIR_LIBFFMPEG}/usr/lib
  142. ${CP} ${WRKINST}/usr/lib/libswresample.so* ${IDIR_LIBFFMPEG}/usr/lib
  143. #ffplay-install:
  144. # ${INSTALL_DIR} ${IDIR_FFPLAY}/usr/bin
  145. # ${INSTALL_BIN} ${WRKINST}/usr/bin/ffplay ${IDIR_FFPLAY}/usr/bin
  146. ffmpeg-install:
  147. ${INSTALL_DIR} ${IDIR_FFMPEG}/usr/bin
  148. ${INSTALL_BIN} ${WRKINST}/usr/bin/ffmpeg ${IDIR_FFMPEG}/usr/bin
  149. ffserver-install:
  150. ${INSTALL_DIR} ${IDIR_FFSERVER}/etc
  151. $(INSTALL_DATA) $(WRKBUILD)/doc/ffserver.conf ${IDIR_FFSERVER}/etc
  152. ${INSTALL_DIR} ${IDIR_FFSERVER}/usr/bin
  153. ${INSTALL_BIN} ${WRKINST}/usr/bin/ffserver ${IDIR_FFSERVER}/usr/bin
  154. ffprobe-install:
  155. ${INSTALL_DIR} ${IDIR_FFPROBE}/usr/bin
  156. ${INSTALL_BIN} ${WRKINST}/usr/bin/ffprobe ${IDIR_FFPROBE}/usr/bin
  157. include ${TOPDIR}/mk/pkg-bottom.mk