# libavcodec Makefile
# (c) 2000-2005 Fabrice Bellard
#
-include ../config.mak
+include $(SUBDIR)../config.mak
NAME = avcodec
FFLIBS = avutil
OBJS-$(CONFIG_ATRAC3_DECODER) += atrac3.o mdct.o fft.o
OBJS-$(CONFIG_AVS_DECODER) += avs.o
OBJS-$(CONFIG_BETHSOFTVID_DECODER) += bethsoftvideo.o
+OBJS-$(CONFIG_BFI_DECODER) += bfi.o
OBJS-$(CONFIG_BMP_DECODER) += bmp.o
OBJS-$(CONFIG_BMP_ENCODER) += bmpenc.o
OBJS-$(CONFIG_C93_DECODER) += c93.o
OBJS-$(CONFIG_ZMBV_DECODER) += zmbv.o
OBJS-$(CONFIG_ZMBV_ENCODER) += zmbvenc.o
-OBJS-$(CONFIG_PCM_S32BE_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_S32BE_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_S32LE_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_S32LE_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_U32BE_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_U32BE_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_U32LE_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_U32LE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_ALAW_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_ALAW_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_MULAW_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_MULAW_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_S8_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_S8_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_S16BE_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_S16BE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_S16LE_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_S16LE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_S16LE_PLANAR_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_S24BE_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_S24BE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_S24DAUD_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_S24DAUD_ENCODER) += pcm.o
OBJS-$(CONFIG_PCM_S24LE_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_S24LE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_S32BE_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_S32BE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_S32LE_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_S32LE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_U8_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_U8_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_U16BE_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_U16BE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_U16LE_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_U16LE_ENCODER) += pcm.o
OBJS-$(CONFIG_PCM_U24BE_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_U24BE_ENCODER) += pcm.o
OBJS-$(CONFIG_PCM_U24LE_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_U24LE_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_S24DAUD_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_S24DAUD_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_S16LE_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_S16LE_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_S16LE_PLANAR_DECODER)+= pcm.o
-OBJS-$(CONFIG_PCM_S16BE_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_S16BE_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_U16LE_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_U16LE_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_U16BE_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_U16BE_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_S8_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_S8_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_U8_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_U8_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_ALAW_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_ALAW_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_MULAW_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_MULAW_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_U32BE_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_U32BE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_U32LE_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_U32LE_ENCODER) += pcm.o
OBJS-$(CONFIG_PCM_ZORK_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_ZORK_ENCODER) += pcm.o
OBJS-$(HAVE_XVMC) += xvmcvideo.o
-ifneq ($(CONFIG_SWSCALE),yes)
+ifndef CONFIG_SWSCALE
OBJS += imgresample.o
endif
# processor-specific code
-ifeq ($(HAVE_MMX),yes)
+ifdef HAVE_MMX
OBJS += i386/fdct_mmx.o \
i386/cputest.o \
i386/dsputil_mmx.o \
i386/motion_est_mmx.o \
i386/simple_idct_mmx.o \
i386/idct_mmx_xvid.o \
+ i386/idct_sse2_xvid.o \
i386/fft_sse.o \
i386/fft_3dn.o \
i386/fft_3dn2.o \
ALTIVEC-OBJS-$(CONFIG_WMV3_DECODER) += ppc/vc1dsp_altivec.o
# -maltivec is needed in order to build AltiVec code.
-$(ALTIVEC-OBJS-yes): CFLAGS += -maltivec -mabi=altivec
+$(addprefix $(SUBDIR),$(ALTIVEC-OBJS-yes)): CFLAGS += -maltivec -mabi=altivec
# check_altivec must be built without -maltivec
OBJS-$(HAVE_ALTIVEC) += $(ALTIVEC-OBJS-yes) \
bfin/vp3_idct_bfin.o \
TESTS = $(addsuffix -test$(EXESUF), cabac dct eval fft h264 imgresample rangecoder snow)
-ifeq ($(ARCH_X86),yes)
-TESTS += cpuid-test$(EXESUF) motion-test$(EXESUF)
-endif
+TESTS-$(ARCH_X86) += i386/cputest-test$(EXESUF) motion-test$(EXESUF)
+
+CLEANFILES = apiexample$(EXESUF)
+DIRS = alpha armv4l bfin i386 mlib ppc ps2 sh4 sparc
+
+include $(SUBDIR)../subdir.mak
-include ../common.mak
-
-clean::
- rm -f \
- alpha/*.o alpha/*~ \
- armv4l/*.o armv4l/*~ \
- bfin/*.o bfin/*~ \
- i386/*.o i386/*~ \
- mlib/*.o mlib/*~ \
- ppc/*.o ppc/*~ \
- ps2/*.o ps2/*~ \
- sh4/*.o sh4/*~ \
- sparc/*.o sparc/*~ \
- apiexample$(EXESUF)
-
-cpuid-test$(EXESUF): i386/cputest.c
-apiexample$(EXESUF): apiexample.o $(LIBNAME)
-dct-test$(EXESUF): dct-test.o fdctref.o $(LIBNAME)
-fft-test$(EXESUF): fft-test.o $(LIBNAME)
-motion-test$(EXESUF): motion-test.o $(LIBNAME)
+$(SUBDIR)i386/cputest-test$(EXESUF): $(SUBDIR)i386/cputest-test.o
+$(SUBDIR)apiexample$(EXESUF): $(SUBDIR)apiexample.o $(SUBDIR)$(LIBNAME)
+$(SUBDIR)dct-test$(EXESUF): $(SUBDIR)fdctref.o