Makefile 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  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:= 0.8.3
  6. PKG_RELEASE:= 2
  7. PKG_MD5SUM:= 556870ccfd6c9c0426c7dd86dd5beb62
  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 FFPLAY 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. PKGSD_FFSERVER:= streaming server
  22. PKGSC_FFSERVER:= multimedia
  23. PKGSD_FFPROBE:= simple multimedia stream analyzer
  24. PKGSC_FFPROBE:= multimedia
  25. PKG_FLAVOURS_LIBFFMPEG:= WITH_AAC WITH_MP3 WITH_VP8 WITH_THEORA WITH_XVID
  26. PKGFD_WITH_AAC:= with AAC encoding support
  27. PKGFS_WITH_AAC:= libfaac
  28. PKGFB_WITH_AAC:= faac
  29. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_AAC),y)
  30. PKG_FDEPENDS+= libfaac
  31. endif
  32. PKGFD_WITH_MP3:= with MP3 encoding support
  33. PKGFS_WITH_MP3:= libmp3lame
  34. PKGFB_WITH_MP3:= lame
  35. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_MP3),y)
  36. PKG_FDEPENDS+= libmp3lame
  37. endif
  38. PKGFD_WITH_VP8:= with VP8 encoding support
  39. PKGFS_WITH_VP8:= libvpx
  40. PKGFB_WITH_VP8:= libvpx
  41. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_VP8),y)
  42. PKG_FDEPENDS+= libvpx
  43. endif
  44. PKGFD_WITH_THEORA:= with Theora encoding support
  45. PKGFS_WITH_THEORA:= libtheora
  46. PKGFB_WITH_THEORA:= libtheora
  47. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_THEORA),y)
  48. PKG_FDEPENDS+= libtheora
  49. endif
  50. PKGFD_WITH_XVID:= with Xvid encoding support
  51. PKGFS_WITH_XVID:= libxvid
  52. PKGFB_WITH_XVID:= xvidcore
  53. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_XVID),y)
  54. PKG_FDEPENDS+= libxvid
  55. endif
  56. DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
  57. include ${TOPDIR}/mk/package.mk
  58. $(eval $(call PKG_template,LIBFFMPEG,libffmpeg,${PKG_VERSION}-${PKG_RELEASE},${PKG_FDEPENDS},${PKG_DESCR},${PKG_SECTION}))
  59. $(eval $(call PKG_template,FFMPEG,ffmpeg,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_FFMPEG},${PKGSC_FFMPEG}))
  60. $(eval $(call PKG_template,FFSERVER,ffserver,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_FFSERVER},${PKGSC_FFSERVER}))
  61. $(eval $(call PKG_template,FFPROBE,ffprobe,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_FFPROBE},${PKGSC_FFPROBE}))
  62. $(eval $(call PKG_template,FFPLAY,ffplay,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_FFPLAY},${PKGSD_FFPLAY},${PKGSC_FFPLAY}))
  63. TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS))
  64. TARGET_CFLAGS:= $(subst Os,O2,$(TARGET_CFLAGS))
  65. ifeq ($(ADK_TARGET_CPU_WITH_MMX),y)
  66. CONFIGURE_CPU_OPTS:= --enable-mmx
  67. else
  68. CONFIGURE_CPU_OPTS:= --disable-mmx
  69. endif
  70. ifeq ($(ADK_TARGET_CPU_WITH_MMXEXT),y)
  71. CONFIGURE_CPU_OPTS:= --enable-mmx2
  72. else
  73. CONFIGURE_CPU_OPTS:= --disable-mmx2
  74. endif
  75. ifeq ($(ADK_TARGET_CPU_WITH_SSE),y)
  76. CONFIGURE_CPU_OPTS:= --enable-sse
  77. else
  78. CONFIGURE_CPU_OPTS:= --disable-sse
  79. endif
  80. CONFIG_STYLE:= minimal
  81. CONFIGURE_ARGS:= --prefix=/usr \
  82. --target-os=linux \
  83. --arch=${CPU_ARCH} \
  84. --enable-cross-compile \
  85. --sysroot=${STAGING_TARGET_DIR} \
  86. --cross-prefix=${TARGET_CROSS} \
  87. --cc='$(TARGET_CC)' \
  88. --host-cc=$(CC_FOR_BUILD) \
  89. --disable-doc \
  90. --disable-debug \
  91. --disable-optimizations \
  92. --disable-stripping \
  93. --enable-shared \
  94. --enable-static \
  95. --enable-gpl \
  96. --enable-swscale \
  97. --enable-postproc \
  98. ${CONFIGURE_CPU_OPTS}
  99. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_AAC),y)
  100. CONFIGURE_ARGS+= --enable-nonfree --enable-libfaac
  101. endif
  102. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_MP3),y)
  103. CONFIGURE_ARGS+= --enable-libmp3lame
  104. endif
  105. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_VP8),y)
  106. CONFIGURE_ARGS+= --enable-libvpx
  107. endif
  108. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_THEORA),y)
  109. CONFIGURE_ARGS+= --enable-libtheora
  110. endif
  111. ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_XVID),y)
  112. CONFIGURE_ARGS+= --enable-libxvid
  113. endif
  114. libffmpeg-install:
  115. ${INSTALL_DIR} ${IDIR_LIBFFMPEG}/usr/lib
  116. ${CP} ${WRKINST}/usr/lib/libavdevice.so* ${IDIR_LIBFFMPEG}/usr/lib
  117. ${CP} ${WRKINST}/usr/lib/libavformat.so* ${IDIR_LIBFFMPEG}/usr/lib
  118. ${CP} ${WRKINST}/usr/lib/libavfilter.so* ${IDIR_LIBFFMPEG}/usr/lib
  119. ${CP} ${WRKINST}/usr/lib/libavcodec.so* ${IDIR_LIBFFMPEG}/usr/lib
  120. ${CP} ${WRKINST}/usr/lib/libavutil.so* ${IDIR_LIBFFMPEG}/usr/lib
  121. ${CP} ${WRKINST}/usr/lib/libpostproc.so* ${IDIR_LIBFFMPEG}/usr/lib
  122. ${CP} ${WRKINST}/usr/lib/libswscale.so* ${IDIR_LIBFFMPEG}/usr/lib
  123. ffplay-install:
  124. ${INSTALL_DIR} ${IDIR_FFPLAY}/usr/bin
  125. ${INSTALL_BIN} ${WRKINST}/usr/bin/ffplay ${IDIR_FFPLAY}/usr/bin
  126. ffmpeg-install:
  127. ${INSTALL_DIR} ${IDIR_FFMPEG}/usr/bin
  128. ${INSTALL_BIN} ${WRKINST}/usr/bin/ffmpeg ${IDIR_FFMPEG}/usr/bin
  129. ffserver-install:
  130. ${INSTALL_DIR} ${IDIR_FFSERVER}/etc
  131. $(INSTALL_DATA) $(WRKBUILD)/doc/ffserver.conf ${IDIR_FFSERVER}/etc
  132. ${INSTALL_DIR} ${IDIR_FFSERVER}/usr/bin
  133. ${INSTALL_BIN} ${WRKINST}/usr/bin/ffserver ${IDIR_FFSERVER}/usr/bin
  134. ffprobe-install:
  135. ${INSTALL_DIR} ${IDIR_FFPROBE}/usr/bin
  136. ${INSTALL_BIN} ${WRKINST}/usr/bin/ffprobe ${IDIR_FFPROBE}/usr/bin
  137. include ${TOPDIR}/mk/pkg-bottom.mk