1SubDir HAIKU_TOP src add-ons media plugins ffmpeg ; 2 3SetSubDirSupportedPlatformsBeOSCompatible ; 4 5UsePrivateHeaders media shared ; 6 7SubDirC++Flags -D__STDC_CONSTANT_MACROS -Wno-deprecated-declarations ; 8 9local sources = 10 AVCodecDecoder.cpp 11 AVCodecEncoder.cpp 12 AVFormatReader.cpp 13 AVFormatWriter.cpp 14 CodecTable.cpp 15 DemuxerTable.cpp 16 EncoderTable.cpp 17 FFmpegPlugin.cpp 18 MuxerTable.cpp 19 CpuCapabilities.cpp 20 21 gfx_conv_c.cpp 22 gfx_conv_c_lookup.cpp 23 gfx_util.cpp 24 ; 25 26if $(TARGET_ARCH) != x86_64 { 27 sources += 28 gfx_conv_mmx.cpp 29 yuvrgb_sse.nasm 30 yuvrgb_sse2.nasm 31 yuvrgb_ssse3.nasm 32 ; 33} 34 35local architectureObject ; 36for architectureObject in [ MultiArchSubDirSetup ] { 37 on $(architectureObject) { 38 UseBuildFeatureHeaders ffmpeg ; 39 Includes [ FGristFiles $(sources) ] 40 : [ BuildFeatureAttribute ffmpeg : headers ] ; 41 42 local ffmpegHeaders = [ BuildFeatureAttribute ffmpeg : headers : path ] ; 43 UseHeaders $(ffmpegHeaders) ; 44 UseHeaders [ FDirName $(ffmpegHeaders) libavcodec ] ; 45 UseHeaders [ FDirName $(ffmpegHeaders) libavdevice ] ; 46 UseHeaders [ FDirName $(ffmpegHeaders) libavfilter ] ; 47 UseHeaders [ FDirName $(ffmpegHeaders) libavformat ] ; 48 UseHeaders [ FDirName $(ffmpegHeaders) libavutil ] ; 49 UseHeaders [ FDirName $(ffmpegHeaders) libswscale ] ; 50 51 Addon [ MultiArchDefaultGristFiles ffmpeg ] : 52 $(sources) 53 : 54 55 # FFmpeg libraries (from FFmpeg optional package): 56 [ BuildFeatureAttribute ffmpeg : libraries ] 57 58 be 59 media 60 $(TARGET_LIBSUPC++) 61 ; 62 } 63} 64 65 66